import { redirect } from "next/navigation";
import { createClient } from "@/lib/supabase/server";
import ClientNav from "@/components/layout/client-nav";
import ClientHeader from "@/components/layout/client-header";

export default async function ClientLayout({
  children,
}: {
  children: React.ReactNode;
}) {
  const supabase = createClient();
  const {
    data: { user },
  } = await supabase.auth.getUser();

  if (!user) redirect("/login");

  const { data: profile } = await supabase
    .from("profiles")
    .select("*")
    .eq("id", user.id)
    .single();

  if (!profile) redirect("/login");
  if (profile.statut !== "valide") redirect("/pending");

  return (
    <div className="flex min-h-dvh flex-col bg-background">
      <ClientHeader profile={profile} />
      <main className="container flex-1 pb-24 pt-4">{children}</main>
      <ClientNav isAdmin={profile.role === "admin"} />
    </div>
  );
}
