From bde0f8caf72a8ecff5dd7e403cee13c55704da4d Mon Sep 17 00:00:00 2001 From: Florian Dupret <34862846+sephrat@users.noreply.github.com> Date: Wed, 21 Apr 2021 09:57:53 +0200 Subject: [PATCH] Save lang at proper time + Update Vuetify lang on the fly --- frontend/src/components/Admin/General/HomePageSettings.vue | 5 +++-- frontend/src/components/UI/LanguageMenu.vue | 4 +++- frontend/src/store/modules/language.js | 5 +++++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/frontend/src/components/Admin/General/HomePageSettings.vue b/frontend/src/components/Admin/General/HomePageSettings.vue index 6345db60d..58eb945af 100644 --- a/frontend/src/components/Admin/General/HomePageSettings.vue +++ b/frontend/src/components/Admin/General/HomePageSettings.vue @@ -211,7 +211,6 @@ export default { methods: { writeLang(val) { - this.$store.commit("setLang", val); this.settings.language = val; }, deleteCategoryfromDatabase(category) { @@ -225,7 +224,9 @@ export default { }, async saveSettings() { await api.siteSettings.update(this.settings); - this.$store.commit("setLang", this.settings.language); + this.$store.dispatch("setLang", { + currentVueComponent: this, + language: this.settings.language }); this.getOptions(); }, }, diff --git a/frontend/src/components/UI/LanguageMenu.vue b/frontend/src/components/UI/LanguageMenu.vue index fffa39431..4be3a31dd 100644 --- a/frontend/src/components/UI/LanguageMenu.vue +++ b/frontend/src/components/UI/LanguageMenu.vue @@ -72,7 +72,9 @@ export default { if (this.siteSettings) { this.$emit(SELECT_EVENT, selectedLanguage); } else { - this.$store.commit("setLang", selectedLanguage); + this.$store.dispatch("setLang", { + currentVueComponent: this, + language: selectedLanguage }); } }, }, diff --git a/frontend/src/store/modules/language.js b/frontend/src/store/modules/language.js index 7b684fe1c..431070a8e 100644 --- a/frontend/src/store/modules/language.js +++ b/frontend/src/store/modules/language.js @@ -54,6 +54,11 @@ const actions = { VueI18n.locale = getters.getActiveLang; currentVueComponent.$vuetify.lang.current = getters.getActiveLang; }, + setLang({ commit }, { language, currentVueComponent }) { + VueI18n.locale = language; + currentVueComponent.$vuetify.lang.current = language; + commit('setLang', language); + }, }; const getters = {