fix(login): address PR review feedback

- Use apiClient instead of raw fetch() in configApi.getPublicConfig
- Validate DEFAULT_LANGUAGE against supported codes on server startup
- Log warning instead of silently swallowing fetch errors in LoginPage
- Case-insensitive browser language matching in detectBrowserLanguage
- Guard against undefined navigator in detectBrowserLanguage
- Validate language code in setLanguageTransient before applying
- Import directly from TranslationContext instead of barrel index
This commit is contained in:
Isaias Tavares
2026-04-12 18:46:03 -03:00
parent 57503a6a10
commit abed22661a
5 changed files with 23 additions and 11 deletions
+2
View File
@@ -64,6 +64,8 @@ export const useSettingsStore = create<SettingsState>((set, get) => ({
// Used for automatic detection (browser/server default) — only explicit user
// choices via the UI should be persisted.
setLanguageTransient: (lang: string) => {
const supported = ['de', 'en', 'es', 'fr', 'hu', 'nl', 'br', 'cs', 'pl', 'ru', 'zh', 'zh-TW', 'it', 'ar']
if (!supported.includes(lang)) return
set((state) => ({ settings: { ...state.settings, language: lang } }))
},