'use client'; import * as React from 'react'; import { Moon, Sun } from 'lucide-react'; import { Button } from '@/components/ui/Button'; export function ThemeToggle() { const [theme, setTheme] = React.useState<'light' | 'dark'>('light'); React.useEffect(() => { // Get theme from localStorage or system preference const savedTheme = localStorage.getItem('theme') as 'light' | 'dark' | null; const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches; const initialTheme = savedTheme || (prefersDark ? 'dark' : 'light'); setTheme(initialTheme); document.documentElement.classList.toggle('dark', initialTheme === 'dark'); }, []); const toggleTheme = () => { const newTheme = theme === 'light' ? 'dark' : 'light'; setTheme(newTheme); localStorage.setItem('theme', newTheme); document.documentElement.classList.toggle('dark', newTheme === 'dark'); }; return ( ); }