Workflow-App/Workflow/app/layout.tsx

47 lines
1.3 KiB
TypeScript
Raw Permalink Normal View History

// app/layout.tsx
// Root layout for the Workflow frontend. Two responsibilities:
// (1) bind the Inter webfont so the typography tokens render with a
// real face (otherwise the entire app falls back to system-ui).
// (2) wrap children in QueryProvider + NavBar + ToastProvider.
import type { Metadata } from "next";
import { Inter } from "next/font/google";
import "./globals.css";
import Providers from "./providers";
import QueryProvider from "@/components/QueryProvider";
import RouteChrome from "@/components/RouteChrome";
import { ToastProvider } from "@/components/Toast";
const inter = Inter({
subsets: ["latin"],
display: "swap",
variable: "--font-inter"
});
export const metadata: Metadata = {
title: "Workflow · Registry Browser",
description:
"Read-only CIPC registry browser for directors and companies on a self-hosted PocketBase instance.",
robots: { index: false, follow: false }
};
export default function RootLayout({
children
}: {
children: React.ReactNode;
}) {
return (
<html lang="en" className={inter.variable} suppressHydrationWarning>
<body className="bg-bg text-fg">
<Providers>
<QueryProvider>
<RouteChrome>
<ToastProvider>{children}</ToastProvider>
</RouteChrome>
</QueryProvider>
</Providers>
</body>
</html>
);
}