import { createContext, useEffect, useState } from "react"; export const ThemeContext = createContext(); export const ThemeProvider = ({ children }) => { const [theme, setTheme] = useState(() => { return ( localStorage.getItem("theme") || (window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light") ); }); useEffect(() => { const root = document.documentElement; document.body.classList.remove("light", "dark"); document.body.classList.add(theme); root.classList.remove("light", "dark"); root.classList.add(theme); localStorage.setItem("theme", theme); }, [theme]); const toggleTheme = () => { setTheme((prev) => (prev === "light" ? "dark" : "light")); }; return ( {children} ); };