feat(web): app shell — masthead, contents nav, theme toggle

Root layout now wraps every page in the editorial column with a masthead
(wordmark + tagline + live worker dot) and a contents-bar nav with active
state via usePathname. Theme toggle stamps data-theme on <html> and persists
to localStorage. Pages no longer repeat the ad-hoc nav line.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jonathan
2026-07-12 14:09:42 +02:00
parent 656e755daf
commit fcbe34b027
4 changed files with 92 additions and 2 deletions
+14 -2
View File
@@ -1,9 +1,21 @@
import "./globals.css";
import "./design.css";
import { fraunces } from "./fonts";
import { Masthead } from "./_ui/masthead";
import { ContentsNav } from "./_ui/contents-nav";
export const metadata = { title: "Lyra" };
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<html lang="en">
<body>{children}</body>
<html lang="en" className={fraunces.variable} suppressHydrationWarning>
<body>
<div className="wrap">
<Masthead />
<ContentsNav />
{children}
</div>
</body>
</html>
);
}