import { redirect } from "next/navigation"; import { auth } from "@/lib/auth"; import { headers } from "next/headers"; import Link from "next/link"; import { Shield, BarChart3, ListFilter, Scissors, ArrowLeft } from "lucide-react"; import { Button } from "@/components/ui/button"; import { AdminNav } from "./admin-nav"; import { UserNav } from "@/components/auth/user-nav"; export default async function AdminLayout({ children, }: { children: React.ReactNode; }) { const session = await auth.api.getSession({ headers: await headers() }); const adminEmails = process.env.ADMIN_EMAILS?.split(",") || []; if (!session?.user?.email || !adminEmails.includes(session.user.email)) { redirect("/login?callbackUrl=/admin/dashboard"); } return (
Vault Admin
{children}
); }