import { createContext } from 'react' export type Theme = 'light' | 'dark' export interface ThemeContextValue { theme: Theme setTheme: (t: Theme) => void } export const ThemeContext = createContext(null) const STORAGE_KEY = 'expria-theme' export function getInitialTheme(): Theme { const stored = localStorage.getItem(STORAGE_KEY) if (stored === 'light' || stored === 'dark') return stored if (window.matchMedia('(prefers-color-scheme: light)').matches) return 'light' return 'dark' } export function applyTheme(theme: Theme): void { document.documentElement.classList.toggle('light', theme === 'light') } export function persistTheme(theme: Theme): void { localStorage.setItem(STORAGE_KEY, theme) }