import { createContext, useContext, useEffect, useState, type ReactNode } from 'react' export type Theme = 'light' | 'dark' type ThemeContextValue = { theme: Theme toggle: () => void } const ThemeContext = createContext(null) const STORAGE_KEY = 'atc-command-center-theme' function readStored(): Theme { const v = localStorage.getItem(STORAGE_KEY) return v === 'dark' || v === 'light' ? v : 'dark' } export function ThemeProvider({ children }: { children: ReactNode }) { const [theme, setTheme] = useState(() => { if (typeof window === 'undefined') return 'dark' return readStored() }) useEffect(() => { const root = document.documentElement root.classList.remove('light', 'dark') root.classList.add(theme) localStorage.setItem(STORAGE_KEY, theme) }, [theme]) const toggle = () => setTheme((t) => (t === 'light' ? 'dark' : 'light')) return ( {children} ) } export function useTheme() { const ctx = useContext(ThemeContext) if (!ctx) throw new Error('useTheme outside ThemeProvider') return ctx }