import React, { createContext, useContext, useState, useEffect } from "react"; const ThemeContext = createContext(); export const ThemeProvider = ({ children }) => { const [isDark, setIsDark] = useState(() => { const saved = localStorage.getItem("theme"); return saved ? saved === "dark" : true; // Default to dark }); useEffect(() => { localStorage.setItem("theme", isDark ? "dark" : "light"); document.documentElement.setAttribute( "data-theme", isDark ? "dark" : "light" ); }, [isDark]); const toggleTheme = () => setIsDark(!isDark); return ( {children} ); }; export const useTheme = () => { const context = useContext(ThemeContext); if (!context) { throw new Error("useTheme must be used within ThemeProvider"); } return context; };