import { createContext, useContext, useEffect, useState } from "react"; const ThemeContext = createContext(null); export function ThemeProvider({ children }) { const [theme, setTheme] = useState(() => { if (typeof localStorage === "undefined") return "light"; return localStorage.getItem("theme") || "light"; }); useEffect(() => { document.documentElement.setAttribute("data-theme", theme); localStorage.setItem("theme", theme); }, [theme]); const toggle = () => setTheme((t) => (t === "dark" ? "light" : "dark")); return ( {children} ); } export function useTheme() { return useContext(ThemeContext); }