/* theme-toggle.tsx spboucher.ai Web Author: Simon-Pierre Boucher Mail: contact@spboucher.ai */ "use client"; import * as React from "react"; import { Moon, Sun } from "lucide-react"; import { Button } from "@/components/ui/button"; export function ThemeToggle() { const [mounted, setMounted] = React.useState(false); const [dark, setDark] = React.useState(false); React.useEffect(() => { setMounted(true); setDark(document.documentElement.classList.contains("dark")); }, []); function toggle() { const next = !dark; setDark(next); document.documentElement.classList.toggle("dark", next); try { localStorage.setItem("theme", next ? "dark" : "light"); } catch { // localStorage unavailable (private mode); theme still applies for this page view } } return ( ); }