From 220a64ebdcbf4a986dc5eae0dd84ab7a1a47052b Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Mon, 30 Oct 2023 17:24:23 -0700 Subject: [PATCH] chore(web): type fixes --- web/_data/serverState.ts | 41 ++++++++++---------- web/components/Registration.ce.vue | 2 +- web/components/Registration/Item.vue | 2 +- web/components/UpdateOs/Status.vue | 42 +++++++++++---------- web/components/UserProfile/DropdownItem.vue | 2 +- web/composables/dateTime.ts | 2 +- web/composables/services/keyServer.ts | 2 +- web/fix-array-type.ts | 2 +- web/helpers/urls.ts | 1 - web/pages/index.vue | 5 ++- web/store/errors.ts | 2 +- web/store/unraidApi.ts | 2 +- web/store/updateOs.ts | 1 - web/store/updateOsActions.ts | 6 +-- web/tailwind.config.ts | 1 + web/types/server.ts | 4 +- web/types/userProfile.ts | 1 + 17 files changed, 60 insertions(+), 58 deletions(-) diff --git a/web/_data/serverState.ts b/web/_data/serverState.ts index 2ad454892..8beff26c1 100644 --- a/web/_data/serverState.ts +++ b/web/_data/serverState.ts @@ -16,6 +16,14 @@ const staticGuid = '1111-1111-5GDB-123412341234'; // const regWizTime = `1616711990500_${randomGuid}`; // const blacklistedGuid = '154B-00EE-0700-9B50CF819816'; +const uptime = Date.now() - 60 * 60 * 1000; // 1 hour ago +const twoDaysAgo = Date.now() - 2 * 24 * 60 * 60 * 1000; // 2 days ago +// const oneDayAgo = Date.now() - 24 * 60 * 60 * 1000; // 1 day ago +const oneHourFromNow = Date.now() + 60 * 60 * 1000; // 1 hour from now +const oneDayFromNow = Date.now() + 24 * 60 * 60 * 1000; // 1 day from now +let expireTime = 0; +let regExp: number | undefined; + // ENOKEYFILE // TRIAL // BASIC @@ -38,10 +46,12 @@ let regTy = ''; switch (state) { // @ts-ignore case 'EEXPIRED': + expireTime = uptime; // 1 hour ago // @ts-ignore case 'ENOCONN': // @ts-ignore case 'TRIAL': + expireTime = oneHourFromNow; // in 1 hour regTy = 'Trial'; // @ts-ignore case 'BASIC': @@ -54,8 +64,18 @@ switch (state) { // @ts-ignore case 'STARTER': regDev = 4; + // regExp = oneHourFromNow; + regExp = oneDayFromNow; + // regExp = oneDayAgo; + // regExp = uptime; + // regExp = 1696363920000; // nori.local's expiration // @ts-ignore case 'UNLEASHED': + // regExp = oneHourFromNow; + regExp = oneDayFromNow; + // regExp = oneDayAgo; + // regExp = uptime; + // regExp = 1696363920000; // nori.local's expiration // @ts-ignore case 'LIFETIME': if (regDev === 0) { regDev = 99999; } @@ -63,27 +83,6 @@ switch (state) { break; } -const uptime = Date.now() - 60 * 60 * 1000; // 1 hour ago -const twoDaysAgo = Date.now() - 2 * 24 * 60 * 60 * 1000; // 2 days ago -// const oneDayAgo = Date.now() - 24 * 60 * 60 * 1000; // 1 day ago -const oneHourFromNow = Date.now() + 60 * 60 * 1000; // 1 hour from now -const oneDayFromNow = Date.now() + 24 * 60 * 60 * 1000; // 1 day from now -let expireTime = 0; -if (state === 'TRIAL') { - expireTime = oneHourFromNow; // in 1 hour -} else if (state === 'EEXPIRED') { - expireTime = uptime; // 1 hour ago -} - -let regExp: number | undefined; -if (state === 'STARTER' || state === 'UNLEASHED') { - // regExp = oneHourFromNow; - regExp = oneDayFromNow; - // regExp = oneDayAgo; - // regExp = uptime; - // regExp = 1696363920000; // nori.local's expiration -} - // const connectPluginInstalled = 'dynamix.unraid.net.staging.plg'; const connectPluginInstalled = ''; diff --git a/web/components/Registration.ce.vue b/web/components/Registration.ce.vue index 47c4347f6..3aff0b976 100644 --- a/web/components/Registration.ce.vue +++ b/web/components/Registration.ce.vue @@ -157,7 +157,7 @@ const items = computed((): RegistrationItemProps[] => { }] : []), // filter out renew action and only display other key actions…renew is displayed in RegistrationUpdateExpirationAction - ...(keyActions.value?.filter(action => !['renew'].includes(action.name)).length > 0 + ...(keyActions.value && keyActions.value?.filter(action => !['renew'].includes(action.name)).length > 0 ? [{ label: t('License key actions'), component: KeyActions, diff --git a/web/components/Registration/Item.vue b/web/components/Registration/Item.vue index 477514d90..195fee3f9 100644 --- a/web/components/Registration/Item.vue +++ b/web/components/Registration/Item.vue @@ -3,7 +3,7 @@ import { ShieldExclamationIcon } from '@heroicons/vue/24/solid'; import { storeToRefs } from 'pinia'; import { useThemeStore } from '~/store/theme'; -import { RegistrationItemProps } from '~/types/registration'; +import type { RegistrationItemProps } from '~/types/registration'; withDefaults(defineProps(), { error: false, diff --git a/web/components/UpdateOs/Status.vue b/web/components/UpdateOs/Status.vue index 09f36cd50..21b7c1687 100644 --- a/web/components/UpdateOs/Status.vue +++ b/web/components/UpdateOs/Status.vue @@ -103,26 +103,28 @@ const regExpOutput = computed(() => { > {{ t('Checking...') }} - - {{ (available - ? t('Unraid {0} Available', [available]) - : (availableWithRenewal - ? t('Up-to-date with eligible releases') - : t('Up-to-date'))) - }} - - - {{ t(rebootTypeText) }} - +
diff --git a/web/components/UserProfile/DropdownItem.vue b/web/components/UserProfile/DropdownItem.vue index 9cd31f929..fbcee0901 100644 --- a/web/components/UserProfile/DropdownItem.vue +++ b/web/components/UserProfile/DropdownItem.vue @@ -32,7 +32,7 @@ const showExternalIconOnHover = computed(() => props.item?.external && props.ite 'rounded-md': rounded, 'disabled:opacity-50 disabled:hover:opacity-50 disabled:focus:opacity-50 disabled:cursor-not-allowed': item?.disabled, }" - @click.stop="item?.click ? item?.click(clickParams) : null" + @click.stop="item?.click ? item?.click(item?.clickParams) : null" >