import type { Metadata } from "next"; import Link from "next/link"; import { ArrowLeft } from "lucide-react"; import { requireAdmin } from "@/lib/auth/guards"; import { AdminSidebar } from "@/components/admin/admin-sidebar"; import { AdminMobileNav } from "@/components/admin/admin-mobile-nav"; import { UserMenu } from "@/components/app/user-menu"; import { Button } from "@/components/ui/button"; import { Logo } from "@/components/ui/logo"; import { NO_INDEX } from "@/lib/seo"; // Authed, DB-backed admin surface — never statically prerender. export const dynamic = "force-dynamic"; // Authenticated surface — never indexable. Metadata merges down, so every route // in this group inherits `noindex, nofollow` unless it explicitly overrides it. export const metadata: Metadata = NO_INDEX; export default async function AdminLayout({ children }: { children: React.ReactNode }) { const session = await requireAdmin(); return (
Admin
{children}
); }