import { createSignal } from "solid-js"; export const themeEvent = () => { if (localStorage.getItem("theme") !== null) return; const isDark = window.matchMedia("(prefers-color-scheme: dark)").matches; document.documentElement.classList.toggle("dark", isDark); }; export const ThemeSelection = () => { const [theme, setTheme] = createSignal( localStorage.getItem("theme") === null ? "system" : localStorage.theme === "dark" ? "dark" : "light", ); const updateTheme = (newTheme: string) => { setTheme(newTheme); document.documentElement.classList.toggle( "dark", newTheme === "dark" || (newTheme === "system" && window.matchMedia("(prefers-color-scheme: dark)").matches), ); if (newTheme === "system") localStorage.removeItem("theme"); else localStorage.theme = newTheme; }; const ThemeOption = (props: { theme: string; icon: string; label: string }) => { return ( ); }; return (
); };