"use client"; import { useEffect, useState } from "react"; import { Moon, Sun, Monitor } from "lucide-react"; type Mode = "light" | "dark" | "system"; export function ThemeToggle() { const [mode, setMode] = useState("system"); useEffect(() => { setMode((localStorage.getItem("theme") as Mode) || "system"); }, []); const apply = (m: Mode) => { setMode(m); localStorage.setItem("theme", m); const dark = m === "dark" || (m === "system" && matchMedia("(prefers-color-scheme: dark)").matches); document.documentElement.classList.toggle("dark", dark); }; const next: Record = { system: "light", light: "dark", dark: "system" }; const Icon = mode === "dark" ? Moon : mode === "light" ? Sun : Monitor; return ( ); }