import { useState, useEffect } from 'react'; import { Button } from '@/components/ui/button'; import { Sun, Moon } from 'lucide-react'; import { getInitialTheme, toggleTheme, watchSystemTheme } from '@/lib/theme'; export function ThemeToggle() { const [theme, setTheme] = useState<'light' | 'dark'>(getInitialTheme); useEffect(() => { // Watch for system theme changes const cleanup = watchSystemTheme((newTheme) => { setTheme(newTheme); }); return cleanup; }, []); const handleToggle = () => { const newTheme = toggleTheme(); setTheme(newTheme); }; return ( ); }