"use client"; import { useEffect, useState } from "react"; import { Sun, Moon } from "lucide-react"; type Theme = "light" | "dark"; export default function ThemeToggle() { const [theme, setTheme] = useState("dark"); const [mounted, setMounted] = useState(false); useEffect(() => { const stored = (localStorage.getItem("theme") as Theme | null) ?? "dark"; setTheme(stored); setMounted(true); }, []); if (!mounted) return null; // prevents hydration mismatch function toggle() { const next: Theme = theme === "dark" ? "light" : "dark"; setTheme(next); localStorage.setItem("theme", next); document.documentElement.classList.toggle("dark", next === "dark"); } /** * @TODO, the toggle doesn't look right, need to either fix or remove the toggle. */ return ( ); }