← back to Norma

app/layout.tsx

34 lines

import type { Metadata } from 'next';
import './globals.css';
import TopThemeBar from '@/components/TopThemeBar';

export const metadata: Metadata = {
  title: 'Norma — The Non-Profit Engine',
  description: 'Multi-tenant nonprofit platform — petitions, polling, advocacy, and policy tracking',
};

export default function RootLayout({
  children,
}: Readonly<{
  children: React.ReactNode;
}>) {
  return (
    <html lang="en" className="dark" suppressHydrationWarning>
      <head>
        <link rel="preconnect" href="https://fonts.googleapis.com" />
        <link rel="preconnect" href="https://fonts.gstatic.com" crossOrigin="anonymous" />
        <link
          href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@500;600;700;800&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap"
          rel="stylesheet"
        />
      </head>
      <body style={{ fontSize: '16px' }}>
        {/* Top-of-every-page theme + age controls — render before children
            so /login etc. inherit the chosen theme on first paint. */}
        <TopThemeBar />
        <div id="app-root">{children}</div>
      </body>
    </html>
  );
}