"use client"; import { useEffect, useState } from "react"; import { THEME_STORAGE_KEY } from "@/lib/prototype"; function getInitialTheme() { if (typeof window === "undefined") { return false; } const saved = localStorage.getItem(THEME_STORAGE_KEY); if (saved === "true") { return true; } if (saved === "false") { return false; } return window.matchMedia("(prefers-color-scheme: dark)").matches; } function applyTheme(isDark: boolean) { document.documentElement.classList.toggle("dark", isDark); } export function ThemeToggle() { const [darkMode, setDarkMode] = useState(getInitialTheme); useEffect(() => { applyTheme(darkMode); localStorage.setItem(THEME_STORAGE_KEY, String(darkMode)); }, [darkMode]); const toggle = () => { setDarkMode((prev) => !prev); }; return ( ); }