import type { Metadata, Viewport } from "next"; import { cookies } from "next/headers"; import { AppNav } from "@/components/AppNav"; import { OfflineBanner } from "@/components/OfflineBanner"; import { ServiceWorkerRegistration } from "@/components/ServiceWorkerRegistration"; import { ThemeInitializer } from "@/components/ThemeInitializer"; import { ShortcutsRoot } from "@/components/ShortcutsRoot"; import "./globals.css"; export const metadata: Metadata = { title: "Personal Dashboard", description: "Local dashboard — weather, news, history, todos, feeds, and a daily paper.", manifest: "/manifest.json", icons: { icon: "/icons/icon-192.png", apple: "/icons/apple-touch-icon.png", }, appleWebApp: { capable: true, statusBarStyle: "black-translucent", title: "Dashboard", }, }; export const viewport: Viewport = { width: "device-width", initialScale: 1, viewportFit: "cover", }; export default async function RootLayout({ children, }: { children: React.ReactNode; }) { const cookieStore = await cookies(); const initialTheme = cookieStore.get("app-theme")?.value ?? "humdrum"; return (