'use client' import { useTheme } from 'next-themes' import { useEffect, useState } from 'react' function SunIcon() { return ( ) } function MoonIcon() { return ( ) } export function ThemeToggle() { const { theme, setTheme } = useTheme() const [mounted, setMounted] = useState(false) useEffect(() => { setMounted(true) }, []) if (!mounted) { // Prevents hydration mismatch -- renders a same-size placeholder return
} return ( ) }