diff --git a/app/app.vue b/app/app.vue index c50c3a084..e8eca66eb 100644 --- a/app/app.vue +++ b/app/app.vue @@ -35,7 +35,7 @@ useSeoMeta({ }); const settings = useSettingsStore(); -const { locale: userLocale, isNUIAvailable, design, updateAvailable } = storeToRefs(settings); +const { getUserLocale, isNUIAvailable, design, updateAvailable } = storeToRefs(settings); if (APP_VERSION !== settings.version) { logger.info('Resetting app data because new version has been detected', settings.version, APP_VERSION); @@ -55,14 +55,14 @@ const onBeforeEnter = async () => { }; async function setUserLocale(): Promise { - logger.info('Setting user locale to', userLocale.value); - if (userLocale.value !== undefined) { - locale.value = userLocale.value; - await setLocale(userLocale.value); + logger.info('Setting user locale to', getUserLocale.value); + if (getUserLocale.value !== undefined) { + locale.value = getUserLocale.value; + await setLocale(getUserLocale.value); } } setUserLocale(); -watch(userLocale, () => setUserLocale()); +watch(getUserLocale, () => setUserLocale()); async function clickListener(event: MouseEvent): Promise { if (!event.target || event.defaultPrevented) { diff --git a/app/components/partials/LanguageSwitcherModal.vue b/app/components/partials/LanguageSwitcherModal.vue index 8bfbc456c..1d2a58830 100644 --- a/app/components/partials/LanguageSwitcherModal.vue +++ b/app/components/partials/LanguageSwitcherModal.vue @@ -23,8 +23,8 @@ onMounted(async () => { languages.value.push({ code: lang.code, - name: lang.name!, language: lang.language!, + name: lang.name!, icon: lang.icon ?? 'i-mdi-question', }); }); diff --git a/app/store/settings.ts b/app/store/settings.ts index bd33cd940..35d32728a 100644 --- a/app/store/settings.ts +++ b/app/store/settings.ts @@ -42,16 +42,11 @@ export interface SettingsState { } export const useSettingsStore = defineStore('settings', { - state: () => { - let defaultLocale = useAppConfig().defaultLocale; - if (defaultLocale === '') { - defaultLocale = 'en'; - } - - return { + state: () => + ({ version: APP_VERSION, updateAvailable: false, - locale: defaultLocale, + locale: undefined, nuiEnabled: false, nuiResourceName: undefined, @@ -85,8 +80,7 @@ export const useSettingsStore = defineStore('settings', { jobsService: { cardView: true, }, - } as SettingsState; - }, + }) as SettingsState, persist: { omit: ['updateAvailable'], }, @@ -106,6 +100,13 @@ export const useSettingsStore = defineStore('settings', { isNUIAvailable(state): boolean { return state.nuiEnabled ?? false; }, + getUserLocale(state): Locale { + return state.locale !== undefined + ? state.locale + : useAppConfig().defaultLocale !== '' + ? (useAppConfig().defaultLocale as Locale) + : 'en'; + }, }, }); diff --git a/config.example.yaml b/config.example.yaml index 90d8d7cf8..864187c48 100644 --- a/config.example.yaml +++ b/config.example.yaml @@ -132,7 +132,6 @@ discord: game: # First grade "number/id", some servers start at 0, but I have seen some start at 1 startJobGrade: 0 - defaultLocale: "en" sync: enabled: false apiTokens: []