import { useState, useCallback, useEffect } from 'react'; type Theme = 'light' | 'dark'; export function useTheme() { const [theme, setTheme] = useState(() => { return (localStorage.getItem('theme') as Theme) || 'light'; }); useEffect(() => { document.documentElement.className = theme; localStorage.setItem('theme', theme); }, [theme]); const toggle = useCallback(() => { setTheme((t) => (t === 'dark' ? 'light' : 'dark')); }, []); return { theme, toggle, isDark: theme === 'dark' }; }