diff --git a/src/App.vue b/src/App.vue index 30bca30..bcd62ef 100644 --- a/src/App.vue +++ b/src/App.vue @@ -6,36 +6,53 @@
@@ -59,6 +76,7 @@ refreshTokenValidity: -1, showAlert: true, alertMessage: 'NO MESSAGE PROVIDED', + langs: ['de', 'en', 'es'], }; }, methods: { @@ -81,6 +99,9 @@ this.tokenValidity = getRemainingJwtValiditySeconds(this.$store.state.access_token); this.refreshTokenValidity = getRemainingJwtValiditySeconds(this.$store.state.refresh_token); // this.$log.debug(this.$store.state); + if (this.tokenValidity < 50 && this.refreshTokenValidity > 30) { + this.$store.dispatch('refreshToken'); // renew access token + } }, 1000); }); diff --git a/src/components/Login.vue b/src/components/Login.vue index d80de32..cccf398 100644 --- a/src/components/Login.vue +++ b/src/components/Login.vue @@ -21,7 +21,7 @@ - OIDC with redirect + OIDC with redirect{{$t('nickname')}}: {{profile.nickname}}
+Token validity ({{tokenValidity}})
Refresh token validity ({{refreshTokenValidity}})
access_token ({{access_token}})
@@ -68,6 +79,12 @@ errorMsg: '', tokenValidity: -1, refreshTokenValidity: -1, + formEditField: {}, + languages: [ + {flag: 'us', language: 'en', title: 'English'}, + {flag: 'es', language: 'es', title: 'Español'}, + {flag: 'de', language: 'de', title: 'Deutsch'}, + ], form: { first_name: '', last_name: '', @@ -83,17 +100,22 @@ }, updateProfile(fieldName) { this.$parent.$data.isLoading = true; + this.$set(this.formEditField, fieldName, false); const data = {}; - data[fieldName]= this.form[fieldName]; + data[fieldName] = this.form[fieldName]; this.$log.debug(this.form); userRepository.updateProfile(data) .then(() => { - this.$store.dispatch('loadRecorders') + this.$store.dispatch('loadProfile') .then(() => { this.$parent.$data.isLoading = false; }); }); }, + changeLocale(locale) { + this.$i18n.locale = locale; + // Vue.$moment.locale(locale); + } }, mounted() { this.$log.debug('Profile: mounting...'); @@ -131,4 +153,10 @@ color: red; font-weight: bold; } + .lang-btn { + padding: 15px; + border: 2px solid green; + font-size: 18px; + margin: 15px; + } diff --git a/src/components/Recorders.vue b/src/components/Recorders.vue index 7b47b8e..c25259c 100644 --- a/src/components/Recorders.vue +++ b/src/components/Recorders.vue @@ -4,9 +4,9 @@- {{ $t('List, create and delete') }} {{ $t('recorders') }} and {{ $t('recordermodels') + {{ $t('List_create_and_delete') }} {{ $t('recorders') }} {{$t('and')}} {{ $t('recorder_models') }}
{{ $t('There are')}} {{recorders.length}} {{ $t('recorders defined')}}:
+{{ $tc('recorders_defined', recorders.length, {num: recorders.length})}}:
{{ $t('Create a new recorder')}}:
+{{ $t('Create_a_new_recorder')}}:
@@ -370,7 +371,7 @@
{{ errors.first('ip') }} @@ -406,13 +407,13 @@
{{ errors.first('ip6') }} @@ -450,10 +451,10 @@
- {{ $t('username') }} {{$t('may be left blank (-> recorder model)')}} + {{$t('may_be_left_blank')}} (-> {{$t('Model')}})
- {{ $t('password') }} {{$t('may be left blank (-> recorder model)')}} + {{$t('may_be_left_blank')}} (-> {{$t('Model')}})
@@ -520,10 +521,10 @@{{ $t('There are')}} {{recorderModels.length}} {{ $t('recorder models defined')}}:
+{{ $tc('recorder_models_defined', recorderModels.length, {num: recorderModels.length} ) }}:
- {{ $t('List, create and delete') }} {{ $t('rooms') }} + {{ $t('List_create_and_delete') }} {{ $t('rooms') }}
{{ $t('There are')}} {{rooms.length}} {{ $t('rooms defined')}}:
+{{ $tc('rooms_defined', rooms.length, {num: rooms.length})}}:
{{ $t('Create a new room')}}:
+{{ $t('Create_a_new_room')}}: