fix: SSR error - check for browser before accessing navigator
- Add typeof window check in I18nContext useEffect - Safely access navigator.language with optional chaining
This commit is contained in:
@@ -22,13 +22,16 @@ export const I18nProvider = ({ children }: { children: ReactNode }) => {
|
||||
const [isInitialized, setIsInitialized] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
// Only run on client side
|
||||
if (typeof window === 'undefined') return;
|
||||
|
||||
// Check for saved preference first
|
||||
const savedLocale = localStorage.getItem('locale') as Locale;
|
||||
if (savedLocale && (savedLocale === 'de' || savedLocale === 'en')) {
|
||||
setLocaleState(savedLocale);
|
||||
} else {
|
||||
// Auto-detect from browser: default to English, switch to German if detected
|
||||
const browserLang = navigator.language.toLowerCase();
|
||||
const browserLang = navigator.language?.toLowerCase() || 'en';
|
||||
if (browserLang.startsWith('de')) {
|
||||
setLocaleState('de');
|
||||
localStorage.setItem('locale', 'de');
|
||||
|
||||
Reference in New Issue
Block a user