From c0138b3811826f68b52e7e38b5a453bb2a5f0ca8 Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Thu, 20 Jan 2022 17:17:22 +0100 Subject: [PATCH 1/6] fix: Set Locale after Login --- frontend/src/views/Pages/Login.vue | 3 +++ 1 file changed, 3 insertions(+) diff --git a/frontend/src/views/Pages/Login.vue b/frontend/src/views/Pages/Login.vue index 4d2b75d2a..1c2f4c8d0 100755 --- a/frontend/src/views/Pages/Login.vue +++ b/frontend/src/views/Pages/Login.vue @@ -64,6 +64,7 @@ import InputPassword from '../../components/Inputs/InputPassword' import InputEmail from '../../components/Inputs/InputEmail' import { login } from '../../graphql/queries' import { getCommunityInfoMixin } from '../../mixins/getCommunityInfo' +import { localeChanged } from 'vee-validate' export default { name: 'login', @@ -101,6 +102,8 @@ export default { data: { login }, } = result this.$store.dispatch('login', login) + this.$i18n.locale = login.language + localeChanged(login.language) this.$router.push('/overview') loader.hide() }) From 54cc6c9327c74223fe7f68ed19519def860066e8 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Fri, 21 Jan 2022 02:58:05 +0100 Subject: [PATCH 2/6] adjusted backend .env.template to recognize community variables --- backend/.env.template | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/backend/.env.template b/backend/.env.template index 9ff9beb01..4caebf107 100644 --- a/backend/.env.template +++ b/backend/.env.template @@ -27,9 +27,9 @@ EMAIL_LINK_SETPASSWORD=$EMAIL_LINK_SETPASSWORD #KLICKTIPP_APIKEY_DE= #KLICKTIPP_APIKEY_EN= #KLICKTIPP=true -COMMUNITY_NAME= -COMMUNITY_URL= -COMMUNITY_REGISTER_URL= -COMMUNITY_DESCRIPTION= +COMMUNITY_NAME=$COMMUNITY_NAME +COMMUNITY_URL=$COMMUNITY_URL +COMMUNITY_REGISTER_URL=$COMMUNITY_REGISTER_URL +COMMUNITY_DESCRIPTION=$COMMUNITY_DESCRIPTION WEBHOOK_ELOPAGE_SECRET=$WEBHOOK_ELOPAGE_SECRET \ No newline at end of file From f7037c063b0e3c684885e6b9ccb0650072425eae Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Fri, 21 Jan 2022 02:58:32 +0100 Subject: [PATCH 3/6] include stage1 example for deployment bare metal .env.dist --- deployment/bare_metal/.env.dist | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/deployment/bare_metal/.env.dist b/deployment/bare_metal/.env.dist index 4e737a95e..f5fa4ce2c 100644 --- a/deployment/bare_metal/.env.dist +++ b/deployment/bare_metal/.env.dist @@ -30,6 +30,11 @@ TYPEORM_LOGGING_RELATIVE_PATH=../deployment/bare_metal/log/typeorm.backend.log WEBHOOK_ELOPAGE_SECRET=secret +COMMUNITY_NAME=Gradido Development Stage1 +COMMUNITY_URL=https://stage1.gradido.net/ +COMMUNITY_REGISTER_URL=https://stage1.gradido.net/register +COMMUNITY_DESCRIPTION=Gradido Development Stage1 Test Community + # frontend GRAPHQL_URI=https://stage1.gradido.net/graphql ADMIN_AUTH_URL=https://stage1.gradido.net/admin/authenticate?token={token} From 6d6cdb1e647d005d3e18a33a1c43934c2c9cf6ad Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Mon, 24 Jan 2022 17:26:47 +0100 Subject: [PATCH 4/6] set i18n.locale and localeChanged from vee-validate inside the language mutation of the store --- frontend/src/store/store.js | 4 ++++ frontend/src/store/store.test.js | 18 ++++++++++++++++++ frontend/src/views/Pages/Login.vue | 3 --- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/frontend/src/store/store.js b/frontend/src/store/store.js index d219ecacd..1a6521cd7 100644 --- a/frontend/src/store/store.js +++ b/frontend/src/store/store.js @@ -1,11 +1,15 @@ import Vue from 'vue' import Vuex from 'vuex' import createPersistedState from 'vuex-persistedstate' +import { localeChanged } from 'vee-validate' +import i18n from '../i18n.js' Vue.use(Vuex) export const mutations = { language: (state, language) => { + i18n.locale = language + localeChanged(language) state.language = language }, email: (state, email) => { diff --git a/frontend/src/store/store.test.js b/frontend/src/store/store.test.js index da108b9ff..4c0c03178 100644 --- a/frontend/src/store/store.test.js +++ b/frontend/src/store/store.test.js @@ -1,8 +1,18 @@ import { mutations, actions } from './store' import Vuex from 'vuex' import Vue from 'vue' +import i18n from '../i18n.js' +import { localeChanged } from 'vee-validate' jest.mock('vuex') +jest.mock('../i18n.js') +jest.mock('vee-validate', () => { + return { + localeChanged: jest.fn(), + } +}) + +i18n.locale = 'blubb' const { language, @@ -29,6 +39,14 @@ describe('Vuex store', () => { language(state, 'de') expect(state.language).toEqual('de') }) + + it('sets the i18n locale', () => { + expect(i18n.locale).toBe('de') + }) + + it('calls localChanged of vee-validate', () => { + expect(localeChanged).toBeCalledWith('de') + }) }) describe('email', () => { diff --git a/frontend/src/views/Pages/Login.vue b/frontend/src/views/Pages/Login.vue index 1c2f4c8d0..4d2b75d2a 100755 --- a/frontend/src/views/Pages/Login.vue +++ b/frontend/src/views/Pages/Login.vue @@ -64,7 +64,6 @@ import InputPassword from '../../components/Inputs/InputPassword' import InputEmail from '../../components/Inputs/InputEmail' import { login } from '../../graphql/queries' import { getCommunityInfoMixin } from '../../mixins/getCommunityInfo' -import { localeChanged } from 'vee-validate' export default { name: 'login', @@ -102,8 +101,6 @@ export default { data: { login }, } = result this.$store.dispatch('login', login) - this.$i18n.locale = login.language - localeChanged(login.language) this.$router.push('/overview') loader.hide() }) From e8920f4c35de6cd6dbd7ec14722438089a9a4ad2 Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Mon, 24 Jan 2022 17:39:42 +0100 Subject: [PATCH 5/6] all locale handling is done by store, so that commit the language to store on change is enough. Note that dispatch login calls commit language --- .../src/components/#LanguageSwitchSelect.vue# | 39 +++++++++++++++++++ .../src/components/.#LanguageSwitchSelect.vue | 1 + frontend/src/components/LanguageSwitch.vue | 5 +-- frontend/src/main.js | 2 +- frontend/src/routes/guards.js | 3 +- frontend/src/views/Pages/Register.vue | 3 -- .../UserProfile/UserCard_Language.spec.js | 4 -- .../Pages/UserProfile/UserCard_Language.vue | 3 -- 8 files changed, 43 insertions(+), 17 deletions(-) create mode 100644 frontend/src/components/#LanguageSwitchSelect.vue# create mode 120000 frontend/src/components/.#LanguageSwitchSelect.vue diff --git a/frontend/src/components/#LanguageSwitchSelect.vue# b/frontend/src/components/#LanguageSwitchSelect.vue# new file mode 100644 index 000000000..545cef4e9 --- /dev/null +++ b/frontend/src/components/#LanguageSwitchSelect.vue# @@ -0,0 +1,39 @@ + + diff --git a/frontend/src/components/.#LanguageSwitchSelect.vue b/frontend/src/components/.#LanguageSwitchSelect.vue new file mode 120000 index 000000000..8a9d4d991 --- /dev/null +++ b/frontend/src/components/.#LanguageSwitchSelect.vue @@ -0,0 +1 @@ +moriz@bluestar.2222:1642854724 \ No newline at end of file diff --git a/frontend/src/components/LanguageSwitch.vue b/frontend/src/components/LanguageSwitch.vue index 5e4c71287..2678883c3 100644 --- a/frontend/src/components/LanguageSwitch.vue +++ b/frontend/src/components/LanguageSwitch.vue @@ -12,7 +12,6 @@ diff --git a/frontend/src/components/.#LanguageSwitchSelect.vue b/frontend/src/components/.#LanguageSwitchSelect.vue deleted file mode 120000 index 8a9d4d991..000000000 --- a/frontend/src/components/.#LanguageSwitchSelect.vue +++ /dev/null @@ -1 +0,0 @@ -moriz@bluestar.2222:1642854724 \ No newline at end of file