import { AppShell } from "@/components/layout/app-shell";
import { requireSession } from "@/lib/auth/guards";

// Gated App-Shell.
//
// GUARD-SLOT (Default-deny, dreifach — Querschnittsstandard 1):
// Der serverseitige Session-Guard ist hier die ALLERERSTE Anweisung. Er leitet
// anonyme Aufrufe der GANZEN (app)-Gruppe auf /login um (Verteidigung in der
// Tiefe — Lese-Seiten verlassen sich NICHT allein auf die Middleware).
//
// Kanonischer Login-Pfad: /login (siehe (auth)/login/page.tsx). Dieselbe Route
// nutzen NextAuth pages.signIn, die Middleware-Allowlist und die Gating-Specs.
export default async function AppLayout({
  children,
}: {
  children: React.ReactNode;
}) {
  await requireSession(); // Default-deny: leitet anonyme Aufrufe auf /login um
  return <AppShell>{children}</AppShell>;
}
