Self-contained Dockerized build for end users. Run via docker compose; see README.md for setup. Source-only, no sample data or build artifacts. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
28 lines
1.0 KiB
JavaScript
28 lines
1.0 KiB
JavaScript
import "./globals.css";
|
|
import Nav from "@/components/Nav";
|
|
|
|
export const metadata = {
|
|
title: "Mr. Drew's Assignment Creator",
|
|
description: "Local, private, high-accuracy assignments, tests, quizzes, worksheets, discussion questions, and case studies.",
|
|
};
|
|
|
|
// Applies the saved (or system-preferred) theme before first paint so dark
|
|
// mode doesn't flash white on load.
|
|
const THEME_SCRIPT = `try{var t=localStorage.getItem("theme");if(!t)t=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";if(t==="dark")document.documentElement.dataset.theme="dark";}catch(e){}`;
|
|
|
|
export default function RootLayout({ children }) {
|
|
return (
|
|
<html lang="en" suppressHydrationWarning>
|
|
<head>
|
|
<script dangerouslySetInnerHTML={{ __html: THEME_SCRIPT }} />
|
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossOrigin="anonymous" />
|
|
</head>
|
|
<body>
|
|
<Nav />
|
|
<main className="shell">{children}</main>
|
|
</body>
|
|
</html>
|
|
);
|
|
}
|