import React, { createContext, useContext, useState, useEffect } from 'react'; const ThemeContext = createContext(); export const useTheme = () => { const context = useContext(ThemeContext); if (!context) { throw new Error('useTheme must be used within ThemeProvider'); } return context; }; export const ThemeProvider = ({ children }) => { const [darkMode, setDarkMode] = useState(() => { // Check localStorage const saved = localStorage.getItem('darkMode'); return saved ? JSON.parse(saved) : false; }); useEffect(() => { localStorage.setItem('darkMode', JSON.stringify(darkMode)); if (darkMode) { document.documentElement.classList.add('dark'); } else { document.documentElement.classList.remove('dark'); } }, [darkMode]); const toggleDarkMode = () => { setDarkMode(prev => !prev); }; return ( {children} ); };