import { Moon, Sun } from "lucide-react"; import { useEffect, useState } from "react"; import { Button } from "@/components/ui/button"; import { storage, STORAGE_KEYS } from "@/lib/storage"; export function ModeToggle() { const [theme, setTheme] = useState(() => { // Use storage lib or default to system preference const storedTheme = storage.get(STORAGE_KEYS.THEME); if (storedTheme) return storedTheme; return window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light"; }); useEffect(() => { const root = window.document.documentElement; if (theme === "dark") { root.classList.add("dark"); } else { root.classList.remove("dark"); } storage.set(STORAGE_KEYS.THEME, theme); }, [theme]); const toggleTheme = () => { setTheme(theme === "light" ? "dark" : "light"); }; return ( ); }