import { createContext, useContext, useEffect, useState } from 'react' const ThemeContext = createContext() export function ThemeProvider({ children }) { const [isDark, setIsDark] = useState(() => { const saved = localStorage.getItem('theme') if (saved) return saved === 'dark' return window.matchMedia('(prefers-color-scheme: dark)').matches }) useEffect(() => { const root = document.documentElement if (isDark) { root.classList.remove('light-mode') } else { root.classList.add('light-mode') } localStorage.setItem('theme', isDark ? 'dark' : 'light') }, [isDark]) const toggleTheme = () => setIsDark(prev => !prev) return ( {children} ) } export function useTheme() { const context = useContext(ThemeContext) if (!context) throw new Error('useTheme must be used within ThemeProvider') return context }