import type { Metadata } from "next"; import Link from "next/link"; import { redirect } from "next/navigation"; import { getServerSession } from "next-auth"; import { authOptions } from "@/lib/auth"; import { AdminSidebar } from "@/components/admin/admin-sidebar"; export const metadata: Metadata = { title: "Admin ยท SeTrip", alternates: { canonical: "/admin" }, robots: { index: false, follow: false }, }; /** * Layout admin โ terpisah penuh dari layout user (navbar/footer publik tidak * dipakai). Sidebar kiri jadi shell global untuk semua /admin/*. * * Auth gate di layout ini berlaku ke seluruh sub-page admin sehingga * sub-page tidak perlu re-check (boleh disederhanakan di iterasi berikutnya). */ export default async function AdminLayout({ children, }: { children: React.ReactNode; }) { const session = await getServerSession(authOptions); if (!session?.user) { redirect("/login?callbackUrl=/admin"); } if (!session.user.isAdmin) { return (
๐
Akun kamu tidak punya akses ke panel admin SeTrip.
Kembali ke beranda