import { Moon, Sun } from "lucide-react"; import { useEffect, useState } from "react"; import { Button } from "./ui/button"; export const ThemeToggle = () => { const [theme, setTheme] = useState<"light" | "dark">("dark"); useEffect(() => { // Check localStorage first, then system preference const savedTheme = localStorage.getItem("theme") as "light" | "dark" | null; const prefersDark = window.matchMedia("(prefers-color-scheme: dark)").matches; const initialTheme = savedTheme || (prefersDark ? "dark" : "light"); setTheme(initialTheme); document.documentElement.classList.toggle("dark", initialTheme === "dark"); }, []); const toggleTheme = () => { const newTheme = theme === "dark" ? "light" : "dark"; setTheme(newTheme); localStorage.setItem("theme", newTheme); document.documentElement.classList.toggle("dark", newTheme === "dark"); }; return ( ); };