diff --git a/src/components/layout/Header.astro b/src/components/layout/Header.astro index d57c536..f509156 100644 --- a/src/components/layout/Header.astro +++ b/src/components/layout/Header.astro @@ -10,17 +10,24 @@ const navLinks = [ { href: '/blog/', label: 'Blog' }, { href: '/recipes/', label: 'Recipes' }, ]; + +const getThemePreference = () => { + if (typeof localStorage !== 'undefined' && localStorage.getItem('theme')) { + return localStorage.getItem('theme'); + } + return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'; +}; + +const setTheme = (document: Document) => { + const theme = getThemePreference(); + document.documentElement.setAttribute('data-theme', theme ?? ''); + document.documentElement.classList.toggle('dark', theme === 'dark'); +}; --- -