import type { ReactNode } from "react"; import { unstable_noStore as noStore } from "next/cache"; import { redirect } from "next/navigation"; import { Footer } from "@/components/footer"; import { Navbar } from "@/components/navbar"; import { isAdminAuthenticated } from "@/lib/admin-auth"; import { getMaintenanceMode } from "@/lib/app-config"; import { resolveLocale } from "@/lib/site-data"; type SiteLayoutProps = { children: ReactNode; params: { locale: string; }; }; export const dynamic = "force-dynamic"; export const revalidate = 0; export default async function SiteLayout({ children, params: { locale } }: SiteLayoutProps) { noStore(); const localeKey = resolveLocale(locale); const maintenanceEnabled = await getMaintenanceMode(); const authenticated = isAdminAuthenticated(); if (maintenanceEnabled && !authenticated) { redirect(`/${localeKey}/coming-soon`); } return (
{children}
); }