"use client"; import { useEffect, useState } from "react"; import { useTheme } from "next-themes"; // Sun Icon const SunIcon = ({ className }: { className?: string }) => ( ); // Moon Icon const MoonIcon = ({ className }: { className?: string }) => ( ); // Monitor Icon (for system) const MonitorIcon = ({ className }: { className?: string }) => ( ); export function ThemeToggle() { const { theme, setTheme, resolvedTheme, systemTheme } = useTheme(); const [mounted, setMounted] = useState(false); useEffect(() => { setMounted(true); }, []); if (!mounted) { return ( ); } const activeTheme = theme === "system" ? resolvedTheme : theme; const toggleTheme = () => { if (theme === "system") { setTheme(systemTheme === "dark" ? "light" : "dark"); } else { setTheme(theme === "dark" ? "light" : "dark"); } }; return ( ); } // Full theme selector with dropdown export function ThemeSelector() { const { theme, setTheme } = useTheme(); const [mounted, setMounted] = useState(false); useEffect(() => { setMounted(true); }, []); if (!mounted) { return (