diff --git a/src/app/layout.js b/src/app/layout.js index a2c5431..bb9c0cb 100644 --- a/src/app/layout.js +++ b/src/app/layout.js @@ -4,11 +4,33 @@ import Header from '@/components/Header'; import Footer from '@/components/Footer'; import { ThemeToggle } from '@/components/ThemeToggle'; import { ThemeProvider } from '@/components/ThemeContext'; + export { metadata }; export default function RootLayout({ children }) { + const setInitialTheme = ` + (function() { + try { + const savedTheme = localStorage.getItem('theme'); + const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches; + const theme = savedTheme || (prefersDark ? 'dark' : 'light'); + if (theme === 'dark') { + document.documentElement.classList.add('dark'); + } else { + document.documentElement.classList.remove('dark'); + } + } catch (e) { + console.warn('Theme init failed:', e); + } + })(); + `; + return ( + + {/* This runs before the React app mounts, preventing flicker */} +