'use client'; import { useEffect, useState } from 'react'; type Theme = 'light' | 'dark'; function apply(theme: Theme) { document.documentElement.classList.toggle('dark', theme === 'dark'); try { localStorage.setItem('theme', theme); } catch { /* ignore */ } } export function ThemeToggle() { const [theme, setTheme] = useState('light'); useEffect(() => { const current = document.documentElement.classList.contains('dark') ? 'dark' : 'light'; setTheme(current); }, []); function toggle() { const next: Theme = theme === 'dark' ? 'light' : 'dark'; setTheme(next); apply(next); } return ( ); }