From 467bd88f959d401c245f2caebc72d5107b4ac8c1 Mon Sep 17 00:00:00 2001 From: robin Date: Mon, 19 Jan 2026 23:41:45 +0100 Subject: [PATCH] fix: SSR error - check for browser before accessing navigator - Add typeof window check in I18nContext useEffect - Safely access navigator.language with optional chaining --- src/i18n/I18nContext.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/i18n/I18nContext.tsx b/src/i18n/I18nContext.tsx index 0769318..9518438 100644 --- a/src/i18n/I18nContext.tsx +++ b/src/i18n/I18nContext.tsx @@ -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');