From d1c658b5bbb1de7c32b222265495251c7882e05c Mon Sep 17 00:00:00 2001 From: Sam Date: Tue, 1 Nov 2022 10:43:47 +0100 Subject: [PATCH] Client - handle date string format depending on language --- .../User/ProfileDisplay/UserInfos.vue | 12 +- .../User/ProfileDisplay/UserPreferences.vue | 18 ++- .../ProfileEdition/UserPreferencesEdition.vue | 24 ++-- fittrackee_client/src/utils/dates.ts | 63 +++++++++- fittrackee_client/src/utils/records.ts | 14 ++- .../tests/unit/utils/dates.spec.ts | 108 ++++++++++++++++++ 6 files changed, 215 insertions(+), 24 deletions(-) diff --git a/fittrackee_client/src/components/User/ProfileDisplay/UserInfos.vue b/fittrackee_client/src/components/User/ProfileDisplay/UserInfos.vue index 8f72521e..f8eb40d7 100644 --- a/fittrackee_client/src/components/User/ProfileDisplay/UserInfos.vue +++ b/fittrackee_client/src/components/User/ProfileDisplay/UserInfos.vue @@ -130,7 +130,8 @@ import { TAppConfig } from '@/types/application' import { IAuthUserProfile, IUserProfile } from '@/types/user' import { useStore } from '@/use/useStore' - import { formatDate } from '@/utils/dates' + import { formatDate, getDateFormat } from '@/utils/dates' + import { localeFromLanguage } from '@/utils/locales' interface Props { user: IUserProfile @@ -143,6 +144,9 @@ const store = useStore() const { user, fromAdmin } = toRefs(props) + const language: ComputedRef = computed( + () => store.getters[ROOT_STORE.GETTERS.LANGUAGE] + ) const authUser: ComputedRef = computed( () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE] ) @@ -157,7 +161,11 @@ ) const birthDate = computed(() => props.user.birth_date - ? format(new Date(props.user.birth_date), authUser.value.date_format) + ? format( + new Date(props.user.birth_date), + `${getDateFormat(authUser.value.date_format, language.value)}`, + { locale: localeFromLanguage[language.value] } + ) : '' ) const isSuccess = computed( diff --git a/fittrackee_client/src/components/User/ProfileDisplay/UserPreferences.vue b/fittrackee_client/src/components/User/ProfileDisplay/UserPreferences.vue index cba7d7b3..bf2a418b 100644 --- a/fittrackee_client/src/components/User/ProfileDisplay/UserPreferences.vue +++ b/fittrackee_client/src/components/User/ProfileDisplay/UserPreferences.vue @@ -2,11 +2,11 @@
{{ $t('user.PROFILE.LANGUAGE') }}:
-
{{ language }}
+
{{ userLanguage }}
{{ $t('user.PROFILE.TIMEZONE') }}:
{{ timezone }}
{{ $t('user.PROFILE.DATE_FORMAT') }}:
-
{{ date_format }}
+
{{ getDateFormat(date_format, appLanguage) }}
{{ $t('user.PROFILE.FIRST_DAY_OF_WEEK') }}:
{{ $t(`user.PROFILE.${fistDayOfWeek}`) }}
{{ $t('user.PROFILE.UNITS.LABEL') }}:
@@ -30,9 +30,12 @@