import { useState, useEffect } from 'react'; import { Button } from '@/components/ui/button'; import { Moon, Sun } from 'lucide-react'; export default function ThemeToggle() { const [isDark, setIsDark] = useState(false); useEffect(() => { // Check for saved theme preference or default to light mode const savedTheme = localStorage.getItem('theme'); const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches; const shouldBeDark = savedTheme === 'dark' || (!savedTheme && prefersDark); setIsDark(shouldBeDark); // Apply theme to document if (shouldBeDark) { document.documentElement.classList.add('dark'); } else { document.documentElement.classList.remove('dark'); } }, []); const toggleTheme = () => { const newTheme = !isDark; setIsDark(newTheme); if (newTheme) { document.documentElement.classList.add('dark'); localStorage.setItem('theme', 'dark'); } else { document.documentElement.classList.remove('dark'); localStorage.setItem('theme', 'light'); } console.log('Theme changed to:', newTheme ? 'dark' : 'light'); }; return ( ); }