Files
Magent/frontend/app/layout.tsx
T
Assclaw fd6671cf7e
Magent CI/CD / verify (push) Successful in 5m20s
Magent CI/CD / deploy-beta (push) Successful in 1m41s
feat: add backup recovery, setup wizard and user-view guards
2026-09-18 17:23:03 +12:00

42 lines
1.2 KiB
TypeScript

import "./styles/tokens.css";
import "./globals.css";
import "./ops-redesign.css";
import "./admin/config.css";
import "./account.css";
import "./workspace.css";
import "./portal/issue-flow.css";
import type { ReactNode } from "react";
import BrandingFavicon from "./ui/BrandingFavicon";
import FeatureGate from "./ui/FeatureGate";
import ApplicationChrome from "./ui/ApplicationChrome";
import SetupGate from "./ui/SetupGate";
import AdminViewGate from "./ui/AdminViewGate";
export const metadata = {
title: "Magent",
description: "Request timeline and AI triage for media requests",
icons: { icon: "/api/branding/favicon.ico" },
};
// A request-specific CSP nonce is generated in proxy.ts. Dynamic rendering lets
// Next.js apply that nonce to its framework and hydration scripts.
export const dynamic = "force-dynamic";
export default function RootLayout({ children }: { children: ReactNode }) {
return (
<html lang="en" data-theme="dark">
<body>
<BrandingFavicon />
<div className="page">
<SetupGate>
<ApplicationChrome />
<AdminViewGate>
<FeatureGate>{children}</FeatureGate>
</AdminViewGate>
</SetupGate>
</div>
</body>
</html>
);
}