import { redirect } from "next/navigation";
import { auth } from "@/auth";
import { prisma } from "@/lib/prisma";
import { Sidebar } from "@/components/layout/Sidebar";
import { Header } from "@/components/layout/Header";
import { SessionProvider } from "@/components/auth/SessionProvider";

export default async function DashboardLayout({
  children,
}: {
  children: React.ReactNode;
}) {
  const session = await auth();
  if (!session?.user) redirect("/login");

  // Récupération du nom de l'hôtel (singleton)
  const hotel = await prisma.hotel.findFirst();
  const hotelName = hotel?.nom || "Residence Marrakech";

  return (
    <SessionProvider session={session}>
      <div className="min-h-screen bg-background">
        <Sidebar role={session.user.role} hotelName={hotelName} />
        <div className="lg:pl-[260px] flex flex-col min-h-screen">
          <Header
            userName={session.user.name || "Utilisateur"}
            userEmail={session.user.email || ""}
            userRole={session.user.role}
            hotelName={hotelName}
          />
          <main className="flex-1 p-4 lg:p-6">{children}</main>
        </div>
      </div>
    </SessionProvider>
  );
}
