diff --git a/src/web-ui/src/infrastructure/i18n/store/i18nStore.ts b/src/web-ui/src/infrastructure/i18n/store/i18nStore.ts index df26b6a9f..575614689 100644 --- a/src/web-ui/src/infrastructure/i18n/store/i18nStore.ts +++ b/src/web-ui/src/infrastructure/i18n/store/i18nStore.ts @@ -26,31 +26,51 @@ export const useI18nStore = create()( // Actions setCurrentLanguage: (locale: LocaleId) => { - set({ currentLanguage: locale }); + set((state) => ( + state.currentLanguage === locale + ? state + : { currentLanguage: locale } + )); }, setFallbackLanguage: (locale: LocaleId) => { - set({ fallbackLanguage: locale }); + set((state) => ( + state.fallbackLanguage === locale + ? state + : { fallbackLanguage: locale } + )); }, addLoadedNamespace: (namespace: I18nNamespace) => { - set((state) => ({ - loadedNamespaces: state.loadedNamespaces.includes(namespace) - ? state.loadedNamespaces - : [...state.loadedNamespaces, namespace], - })); + set((state) => ( + state.loadedNamespaces.includes(namespace) + ? state + : { loadedNamespaces: [...state.loadedNamespaces, namespace] } + )); }, setInitialized: (initialized: boolean) => { - set({ isInitialized: initialized }); + set((state) => ( + state.isInitialized === initialized + ? state + : { isInitialized: initialized } + )); }, setChanging: (changing: boolean) => { - set({ isChanging: changing }); + set((state) => ( + state.isChanging === changing + ? state + : { isChanging: changing } + )); }, setAutoDetect: (autoDetect: boolean) => { - set({ autoDetect }); + set((state) => ( + state.autoDetect === autoDetect + ? state + : { autoDetect } + )); }, reset: () => {