'use client' import { Moon, Sun } from 'lucide-react' import { Button } from '@/components/ui/button' import { useTheme } from '@/components/theme-provider' import { useEffect, useState } from 'react' export function ThemeToggle() { const { theme, setTheme } = useTheme() const [mounted, setMounted] = useState(false) useEffect(() => { setMounted(true) }, []) if (!mounted) { return ( ) } const toggleTheme = () => { if (theme === 'system') { // If system, first switch to light/dark based on current system preference const isDark = window.matchMedia('(prefers-color-scheme: dark)').matches setTheme(isDark ? 'light' : 'dark') } else { setTheme(theme === 'light' ? 'dark' : 'light') } } const getIcon = () => { if (theme === 'system') { const isDark = window.matchMedia('(prefers-color-scheme: dark)').matches return isDark ? : } return theme === 'light' ? : } return ( ) }