import type { Metadata, Viewport } from "next"; import { Geist, Geist_Mono } from "next/font/google"; import { Toaster } from "sonner"; import "./globals.css"; const geistSans = Geist({ variable: "--font-geist-sans", subsets: ["latin"], }); const geistMono = Geist_Mono({ variable: "--font-geist-mono", subsets: ["latin"], }); export const metadata: Metadata = { title: { default: "EvanPage", template: "%s · EvanPage", }, description: "个人主页与导航", icons: { icon: "/favicon.ico", }, }; export const viewport: Viewport = { width: "device-width", initialScale: 1, themeColor: [ { media: "(prefers-color-scheme: light)", color: "#fafbff" }, { media: "(prefers-color-scheme: dark)", color: "#0e1117" }, ], }; const themeInitScript = ` (function() { try { var stored = localStorage.getItem('theme'); var prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches; var resolved = stored === 'dark' || stored === 'light' ? stored : (prefersDark ? 'dark' : 'light'); if (resolved === 'dark') document.documentElement.classList.add('dark'); } catch (e) {} })(); `; export default function RootLayout({ children, }: Readonly<{ children: React.ReactNode; }>) { return (
{children}