"use client"; import React, { createContext, useContext, useEffect, useState } from "react"; type Theme = "dark" | "light"; const ThemeContext = createContext<{ theme: Theme; toggle: () => void }>({ theme: "dark", toggle: () => {}, }); export function useTheme() { return useContext(ThemeContext); } export function ThemeProvider({ children }: { children: React.ReactNode }) { const [theme, setTheme] = useState("dark"); useEffect(() => { const saved = localStorage.getItem("drb-theme") as Theme | null; if (saved === "light") setTheme("light"); }, []); useEffect(() => { document.documentElement.classList.toggle("dark", theme === "dark"); localStorage.setItem("drb-theme", theme); }, [theme]); return ( setTheme((t) => (t === "dark" ? "light" : "dark")) }}> {children} ); }