export const dynamic = "force-dynamic"; import { auth } from "@/lib/auth"; import { redirect } from "next/navigation"; import { SidebarNav, BottomNav } from "@/components/nav"; import { BabyProvider } from "@/contexts/baby-context"; import { QuickAddFab } from "@/components/quick-add-fab"; import { prisma } from "@/lib/prisma"; import { AlertTriangle } from "lucide-react"; async function getMaintenanceMode(): Promise { try { const row = await prisma.systemConfig.findUnique({ where: { key: "maintenance_mode" } }); return row?.value === "true"; } catch { return false; } } export default async function AppLayout({ children }: { children: React.ReactNode }) { const session = await auth(); if (!session?.user) redirect("/auth/login"); const maintenance = await getMaintenanceMode(); const isSuperAdmin = (session.user as { isSuperAdmin?: boolean })?.isSuperAdmin; return (
{maintenance && (
{isSuperAdmin ? "Mode maintenance actif (visible des utilisateurs)" : "Maintenance en cours — certaines fonctionnalités peuvent être indisponibles"}
)}
{children}
); }