Spaces:
Build error
Build error
File size: 725 Bytes
2ebb1e7 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | import { writable } from 'svelte/store';
import { browser } from '$app/environment';
function createTheme() {
const { subscribe, set, update } = writable(false);
return {
subscribe,
init() {
if (!browser) return;
const saved = localStorage.getItem('theme');
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
const dark = saved === 'dark' || (!saved && prefersDark);
set(dark);
document.documentElement.classList.toggle('dark', dark);
},
toggle() {
if (!browser) return;
const isDark = document.documentElement.classList.toggle('dark');
localStorage.setItem('theme', isDark ? 'dark' : 'light');
set(isDark);
}
};
}
export const theme = createTheme();
|