import { createContext, useContext, useState, ReactNode } from 'react' import type { Language } from '../i18n/translations' interface LanguageContextType { language: Language setLanguage: (lang: Language) => void } const LanguageContext = createContext( undefined ) export function LanguageProvider({ children }: { children: ReactNode }) { // Initialize language from localStorage or default to English const [language, setLanguage] = useState(() => { const saved = localStorage.getItem('language') return saved === 'en' || saved === 'zh' ? saved : 'en' }) // Save language to localStorage whenever it changes const handleSetLanguage = (lang: Language) => { setLanguage(lang) localStorage.setItem('language', lang) } return ( {children} ) } export function useLanguage() { const context = useContext(LanguageContext) if (!context) { throw new Error('useLanguage must be used within LanguageProvider') } return context }