import { createContext, useContext, useState, type ReactNode } from 'react' import { translate, type LangPreference, type LocaleKey } from '../locales' interface LanguageContextValue { langPref: LangPreference setLangPref: (pref: LangPreference) => void t: (key: LocaleKey, vars?: Record) => string } const LanguageContext = createContext(null) export function LanguageProvider({ children }: { children: ReactNode }) { const [langPref, setLangPref] = useState('auto') const t = (key: LocaleKey, vars?: Record): string => { return translate(key, langPref, vars, navigator.language) } return ( {children} ) } export function useLanguage(): LanguageContextValue { const ctx = useContext(LanguageContext) if (!ctx) throw new Error('useLanguage must be used within LanguageProvider') return ctx }