import type { ReactNode } from "react";
import { redirect } from "next/navigation";
import AdminShell from "@/components/admin/admin-shell";
import { auth, signOut } from "@/lib/auth";

export default async function AdminProtectedLayout({ children }: { children: ReactNode }) {
  const session = await auth();

  if (!session?.user) {
    redirect("/admin/login");
  }

  async function handleSignOut() {
    "use server";
    await signOut({ redirectTo: "/admin/login" });
  }

  return (
    <AdminShell userEmail={session.user.email ?? "Admin"} signOutAction={handleSignOut}>
      {children}
    </AdminShell>
  );
}
