import { requireAdmin } from "@/lib/guards";
import Shell, { type ShellNavItem } from "@/components/dashboard/Shell";

export const metadata = {
  title: "Admin",
  robots: { index: false, follow: false },
};

const nav: ShellNavItem[] = [
  { href: "/socialexadmin", label: "Dashboard", icon: "dashboard" },
  { href: "/socialexadmin/clients", label: "Clients", icon: "groups" },
  {
    href: "/socialexadmin/factures",
    label: "Factures",
    icon: "receipt_long",
  },
  {
    href: "/socialexadmin/dossiers",
    label: "Dossiers",
    icon: "folder",
    children: [
      { href: "/socialexadmin/dossiers/formulaires", label: "Formulaires" },
      { href: "/socialexadmin/dossiers/en-cours", label: "En cours" },
      { href: "/socialexadmin/dossiers/termines", label: "Terminés" },
    ],
  },
];

export default async function AdminLayout({
  children,
}: {
  children: React.ReactNode;
}) {
  const session = await requireAdmin();

  return (
    <Shell
      brand="Socialex · Admin"
      variant="admin"
      user={{ name: session.user.name, email: session.user.email }}
      nav={nav}
    >
      {children}
    </Shell>
  );
}
