'use client' import React, { useState, useEffect } from 'react' export default function ThemeToggle() { const [theme, setTheme] = useState<'light' | 'dark'>('dark') useEffect(() => { // Check for saved theme preference or default to dark 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) // Apply theme to document if (initialTheme === 'dark') { document.documentElement.classList.add('dark') } else { document.documentElement.classList.remove('dark') } }, []) const toggleTheme = () => { const newTheme = theme === 'dark' ? 'light' : 'dark' setTheme(newTheme) // Save to localStorage localStorage.setItem('theme', newTheme) // Apply to document if (newTheme === 'dark') { document.documentElement.classList.add('dark') } else { document.documentElement.classList.remove('dark') } } return ( ) }