import { Sidebar } from "@/components/shell/sidebar";
import { Shell } from "@/components/shell/shell";
import { MobileNavProvider } from "@/components/shell/mobile-nav";
import { requireUser } from "@/lib/auth/server";
import { ImpersonateBanner } from "@/components/portail/impersonate-banner";

export default async function PortalLayout({ children }: { children: React.ReactNode }) {
  const session = await requireUser();
  const company = session.user.name || session.user.email;
  const isImpersonating = Boolean(session.session.impersonatedBy);

  return (
    <MobileNavProvider variant="portail" contextLabel="Compte" contextValue={company}>
      <Sidebar variant="portail" contextLabel="Compte" contextValue={company} />
      <Shell>
        {isImpersonating ? (
          <ImpersonateBanner userName={session.user.name} userEmail={session.user.email} />
        ) : null}
        {children}
      </Shell>
    </MobileNavProvider>
  );
}
