From 41d6ebe536b39367047dc8cf217be8ee652bfd59 Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Wed, 27 Sep 2023 19:34:53 -0700 Subject: [PATCH] refactor(web): progress on regExp & dateTimeFormat from server --- .../dynamix.my.servers/include/state.php | 4 +++ web/components/Registration.ce.vue | 8 +++-- .../Registration/UpgradeExpiration.vue | 6 ++-- web/components/UpdateOs/Status.vue | 6 ++-- web/components/UpdateOs/Update.vue | 18 +++++------ web/components/UserProfile/UptimeExpire.vue | 6 ++-- web/composables/time.ts | 30 +++++++++++++++++-- web/locales/en_US.json | 6 +++- web/store/server.ts | 5 +++- web/store/updateOsActions.ts | 27 ++++++++++++++++- web/types/server.ts | 15 ++++++++++ 11 files changed, 106 insertions(+), 25 deletions(-) diff --git a/plugin/source/dynamix.unraid.net/usr/local/emhttp/plugins/dynamix.my.servers/include/state.php b/plugin/source/dynamix.unraid.net/usr/local/emhttp/plugins/dynamix.my.servers/include/state.php index daf9d0ba8..fb0ae4142 100644 --- a/plugin/source/dynamix.unraid.net/usr/local/emhttp/plugins/dynamix.my.servers/include/state.php +++ b/plugin/source/dynamix.unraid.net/usr/local/emhttp/plugins/dynamix.my.servers/include/state.php @@ -41,6 +41,10 @@ $serverState = [ "connectPluginInstalled" => $connectPluginInstalled, "connectPluginVersion" => $connectPluginVersion, "csrf" => $var['csrf_token'], + "dateTimeFormat" => [ + "date" => $var['date_format'], + "time" => $var['time_format'], + ], "description" => $var['COMMENT'] ? htmlspecialchars($var['COMMENT']) : '', "deviceCount" => $var['deviceCount'], "email" => $myservers['remote']['email'] ?? '', diff --git a/web/components/Registration.ce.vue b/web/components/Registration.ce.vue index d55b193b1..cfece0f66 100644 --- a/web/components/Registration.ce.vue +++ b/web/components/Registration.ce.vue @@ -25,8 +25,9 @@ import dayjs from 'dayjs' import { storeToRefs } from 'pinia'; import { useI18n } from 'vue-i18n'; +import useTimeHelper from '~/composables/time'; import { useServerStore } from '~/store/server'; -import { RegistrationItemProps } from '~/types/registration'; +import type { RegistrationItemProps } from '~/types/registration'; import KeyActions from '~/components/KeyActions.vue'; import RegistrationReplaceCheck from '~/components/Registration/ReplaceCheck.vue'; @@ -46,6 +47,7 @@ withDefaults(defineProps(), { const serverStore = useServerStore(); const { + dateTimeFormat, deviceCount, guid, flashVendor, @@ -63,6 +65,8 @@ const { stateDataError, } = storeToRefs(serverStore); +const { formatDate } = useTimeHelper(dateTimeFormat.value, t); + const devicesAvailable = computed((): number => { switch(regTy.value) { case 'Starter': @@ -104,7 +108,7 @@ const items = computed((): RegistrationItemProps[] => { }] : []), ...(regTo.value && regTm.value ? [{ label: t('Registered on'), - text: dayjs(regTm.value).format('YYYY-MM-DD HH:mm'), + text: formatDate(regTm.value), }] : []), ...(regExp.value && (state.value === 'STARTER' || state.value === 'UNLEASHED') ? [{ error: regUpdatesExpired.value, diff --git a/web/components/Registration/UpgradeExpiration.vue b/web/components/Registration/UpgradeExpiration.vue index a7cf923f7..d9a9e1b1d 100644 --- a/web/components/Registration/UpgradeExpiration.vue +++ b/web/components/Registration/UpgradeExpiration.vue @@ -10,10 +10,11 @@ export interface Props { const props = defineProps(); -const { buildStringFromValues, dateDiff, formatDate } = useTimeHelper(props.t); const serverStore = useServerStore(); -const { regTy, regExp, regUpdatesExpired, state } = storeToRefs(serverStore); +const { dateTimeFormat, regTy, regExp, regUpdatesExpired, state } = storeToRefs(serverStore); + +const { buildStringFromValues, dateDiff, formatDate } = useTimeHelper(dateTimeFormat.value, props.t); const parsedTime = ref(''); const formattedTime = computed(() => formatDate(regExp.value)); @@ -38,7 +39,6 @@ const runDiff = () => { let interval: string | number | NodeJS.Timeout | undefined; onBeforeMount(() => { - console.debug('[UpgradeExpiration.onBeforeMount]', props); runDiff(); interval = setInterval(() => { runDiff(); diff --git a/web/components/UpdateOs/Status.vue b/web/components/UpdateOs/Status.vue index 0ac49a362..5cd463a6c 100644 --- a/web/components/UpdateOs/Status.vue +++ b/web/components/UpdateOs/Status.vue @@ -25,7 +25,7 @@ const updateOsActionsStore = useUpdateOsActionsStore(); const { guid, keyfile, osVersion } = storeToRefs(serverStore); const { available, parsedReleaseTimestamp } = storeToRefs(updateOsStore); -const { rebootType, rebootTypeText } = storeToRefs(updateOsActionsStore); +const { ineligibleText, rebootType, rebootTypeText } = storeToRefs(updateOsActionsStore);