"use client"; import { Moon, Sun, Monitor } from "lucide-react"; import { useTheme } from "next-themes"; import { useState, useEffect } from "react"; export function ThemeToggle() { const { theme, setTheme } = useTheme(); const [mounted, setMounted] = useState(false); useEffect(() => setMounted(true), []); if (!mounted) return
; const themes = [ { id: "light", icon: Sun, label: "Light" }, { id: "dark", icon: Moon, label: "Dark" }, { id: "system", icon: Monitor, label: "System" }, ]; const currentIdx = themes.findIndex((t) => t.id === theme); const next = themes[(currentIdx + 1) % themes.length]; const Current = themes[currentIdx >= 0 ? currentIdx : 0]?.icon || Sun; return ( ); }