'use client' import { useEffect, useState } from 'react' import { useTheme } from 'next-themes' export function ThemeToggle() { const [mounted, setMounted] = useState(false) const { theme, setTheme } = useTheme() const [isGlitching, setIsGlitching] = useState(false) useEffect(() => { setMounted(true) }, []) const toggleTheme = () => { // Trigger glitch animation setIsGlitching(true) // Trigger screen flicker document.body.classList.add('screen-flicker') // Toggle theme setTheme(theme === 'dark' ? 'light' : 'dark') // Remove effects after animation setTimeout(() => { setIsGlitching(false) document.body.classList.remove('screen-flicker') }, 300) } if (!mounted) { return ( ) } return ( ) }