'use client'; import { useEffect, useState } from 'react'; import { Sun, Moon } from 'lucide-react'; export default function ThemeToggle() { const [theme, setTheme] = useState(null); useEffect(() => { const saved = typeof window !== 'undefined' && localStorage.getItem('zp_theme'); const current = saved || 'light'; setTheme(current); document.documentElement.setAttribute('data-theme', current); }, []); function toggle() { const next = theme === 'dark' ? 'light' : 'dark'; setTheme(next); document.documentElement.setAttribute('data-theme', next); localStorage.setItem('zp_theme', next); } // На SSR не рендерим (избегаем mismatch) if (!theme) return
; return ( ); }