import { Suspense } from "react";
import { requireAdmin } from "@/lib/auth";
import { Sidebar, Flash } from "@/components/admin";
import { adminLogout } from "@/app/admin/actions";

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

export default async function AdminLayout({ children }: { children: React.ReactNode }) {
  const a = await requireAdmin();
  return (
    <div className="min-h-screen bg-cloud flex">
      <Suspense><Sidebar name={a.name} role={a.role} /></Suspense>
      <div className="flex-1 min-w-0">
        <header className="h-16 bg-white border-b flex items-center justify-end gap-4 px-6 sticky top-0 z-30">
          <span className="text-sm text-slate-500 hidden sm:inline">Signed in as <b className="text-ink">{a.email}</b></span>
          <form action={adminLogout}><button className="btn btn-outline !py-1.5 !text-xs">Sign out</button></form>
        </header>
        <main className="p-4 sm:p-6 lg:p-8 max-w-[1400px]"><Suspense><Flash /></Suspense>{children}</main>
      </div>
    </div>
  );
}
