"use client"; type Theme = "light" | "dark"; const STORAGE_KEY = "theme-preference"; function applyTheme(theme: Theme) { document.documentElement.dataset.theme = theme; window.localStorage.setItem(STORAGE_KEY, theme); } function getCurrentTheme(): Theme { const currentTheme = document.documentElement.dataset.theme; if (currentTheme === "light" || currentTheme === "dark") { return currentTheme; } return window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light"; } export function ThemeToggle() { const toggleTheme = () => { const nextTheme = getCurrentTheme() === "dark" ? "light" : "dark"; applyTheme(nextTheme); }; return ( ); }