import { createContext, useContext, useState, useEffect, ReactNode } from 'react'; import { Language } from '@/lib/translations'; interface LanguageContextType { language: Language; setLanguage: (lang: Language) => void; } const LanguageContext = createContext(undefined); export function LanguageProvider({ children }: { children: ReactNode }) { const [language, setLanguageState] = useState(() => { // Try to get from localStorage const saved = localStorage.getItem('language'); if (saved === 'pt' || saved === 'en' || saved === 'es') { return saved; } // Default to English return 'en'; }); const setLanguage = (lang: Language) => { setLanguageState(lang); localStorage.setItem('language', lang); }; useEffect(() => { // Set HTML lang attribute for accessibility document.documentElement.lang = language; }, [language]); return ( {children} ); } export function useLanguage() { const context = useContext(LanguageContext); if (context === undefined) { throw new Error('useLanguage must be used within a LanguageProvider'); } return context; }