From 81a6a52d9fe00659da8a50907141090278797a72 Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Wed, 15 May 2024 15:05:49 -0700 Subject: [PATCH] fix: type errors round 1 --- web/_data/serverState.ts | 46 +++++++++++++++---------- web/app.vue | 2 +- web/components/Auth.ce.vue | 1 + web/components/I18nHost.ce.vue | 1 + web/components/UserProfile/Dropdown.vue | 3 +- web/eslint.config.mjs | 7 +++- web/pages/webComponents.vue | 2 +- web/store/errors.ts | 4 +-- web/store/unraidApi.ts | 5 +-- web/store/updateOsActions.ts | 8 ++--- web/tailwind.config.ts | 2 +- web/types/userProfile.ts | 1 + 12 files changed, 50 insertions(+), 32 deletions(-) diff --git a/web/_data/serverState.ts b/web/_data/serverState.ts index aeea42cdd..754095164 100644 --- a/web/_data/serverState.ts +++ b/web/_data/serverState.ts @@ -69,41 +69,48 @@ let regExp: number | undefined; let regDevs = 0; let regTy = ''; switch (state) { - // @ts-expect-error + // @ts-expect-error - bro idk why… case 'EEXPIRED': expireTime = uptime; // 1 hour ago - // @ts-expect-error + break; + // @ts-expect-error - bro idk why… case 'ENOCONN': - // @ts-expect-error + break; + // @ts-expect-error - bro idk why… case 'TRIAL': expireTime = oneHourFromNow; // in 1 hour regTy = 'Trial'; + break; case 'BASIC': regDevs = 6; - // @ts-expect-error + regTy = 'Basic'; + break; + // @ts-expect-error - bro idk why… case 'PLUS': regDevs = 12; - // @ts-expect-error + regTy = 'Plus'; + break; + // @ts-expect-error - bro idk why… case 'PRO': - // @ts-expect-error + regDevs = -1; + regTy = 'Pro'; + break; + // @ts-expect-error - bro idk why… case 'STARTER': regDevs = 6; - // regExp = oneHourFromNow; - // regExp = oneDayFromNow; regExp = ninetyDaysAgo; - // regExp = uptime; - // regExp = 1696363920000; // nori.local's expiration - // @ts-expect-error + regTy = 'Starter'; + break; + // @ts-expect-error - bro idk why… case 'UNLEASHED': - // regExp = oneHourFromNow; - // regExp = oneDayFromNow; - // regExp = oneDayAgo; - // regExp = uptime; - // regExp = 1696363920000; // nori.local's expiration - // @ts-expect-error + regDevs = -1; + regExp = ninetyDaysAgo; + regTy = 'Unleashed'; + break; + // @ts-expect-error - bro idk why… case 'LIFETIME': - if (regDevs === 0) { regDevs = -1; } - if (regTy === '') { regTy = state.charAt(0).toUpperCase() + state.substring(1).toLowerCase(); } // title case + regDevs = -1; + regTy = 'Lifetime'; break; } @@ -166,6 +173,7 @@ export const serverState: Server = { regTm: twoDaysAgo, regTo: 'Zack Spear', regTy, + regDevs, regExp, regGuid, site: 'http://localhost:4321', diff --git a/web/app.vue b/web/app.vue index a64154d6d..5b3692452 100644 --- a/web/app.vue +++ b/web/app.vue @@ -1,7 +1,7 @@ diff --git a/web/components/Auth.ce.vue b/web/components/Auth.ce.vue index 2eb0ccd71..6acf9fdd2 100644 --- a/web/components/Auth.ce.vue +++ b/web/components/Auth.ce.vue @@ -1,4 +1,5 @@ diff --git a/web/store/errors.ts b/web/store/errors.ts index e55a35f20..fc28da124 100644 --- a/web/store/errors.ts +++ b/web/store/errors.ts @@ -109,10 +109,10 @@ export const useErrorsStore = defineStore('errors', () => { } $panels.forEach(($panel: Element) => { if ($panel.id === 'troubleshoot_panel') { - // @ts-expect-error + // @ts-expect-error - because the webgui is the wild wild west $panel.style.display = 'block'; } else { - // @ts-expect-error + // @ts-expect-error - because the webgui is the wild wild west $panel.style.display = 'none'; } }); diff --git a/web/store/unraidApi.ts b/web/store/unraidApi.ts index 7e05f2db4..b30a67bf7 100644 --- a/web/store/unraidApi.ts +++ b/web/store/unraidApi.ts @@ -1,4 +1,4 @@ -// @ts-expect-error +// @ts-expect-error - ignore that it can't find any declarations import { from, ApolloClient, createHttpLink, InMemoryCache, split } from '@apollo/client/core/core.cjs'; import { onError } from '@apollo/client/link/error'; import { RetryLink } from '@apollo/client/link/retry'; @@ -30,7 +30,7 @@ const wsEndpoint = new URL(WEBGUI_GRAPHQL.toString().replace('http', 'ws')); export const useUnraidApiStore = defineStore('unraidApi', () => { const errorsStore = useErrorsStore(); const serverStore = useServerStore(); - + // eslint-disable-next-line @typescript-eslint/no-explicit-any const unraidApiClient = ref>(); watch(unraidApiClient, (newVal) => { if (newVal) { @@ -82,6 +82,7 @@ export const useUnraidApiStore = defineStore('unraidApi', () => { }), ); + // @typescript-eslint/no-explicit-any-disable-next-line const errorLink = onError(({ graphQLErrors, networkError }: any) => { if (graphQLErrors) { graphQLErrors.map((error: any) => { diff --git a/web/store/updateOsActions.ts b/web/store/updateOsActions.ts index 2d9212a5c..292fa8aad 100644 --- a/web/store/updateOsActions.ts +++ b/web/store/updateOsActions.ts @@ -190,13 +190,13 @@ export const useUpdateOsActionsStore = defineStore('updateOsActions', () => { * By default this will display current version's release notes */ const viewReleaseNotes = (modalTitle:string, webguiFilePath?:string|undefined) => { - // @ts-expect-error + // @ts-expect-error • global set in the webgui if (typeof openChanges === 'function') { - // @ts-expect-error + // @ts-expect-error • global set in the webgui openChanges(`showchanges ${webguiFilePath ?? '/var/tmp/unRAIDServer.txt'}`, modalTitle); - // @ts-expect-error + // @ts-expect-error • global set in the webgui } else if (typeof openBox === 'function') { - // @ts-expect-error + // @ts-expect-error • global set in the webgui openBox(`/plugins/dynamix.plugin.manager/include/ShowChanges.php?file=${webguiFilePath ?? '/var/tmp/unRAIDServer.txt'}`, modalTitle, 600, 900); } else { alert('Unable to open release notes'); diff --git a/web/tailwind.config.ts b/web/tailwind.config.ts index f8d8142c3..4669de7af 100644 --- a/web/tailwind.config.ts +++ b/web/tailwind.config.ts @@ -111,7 +111,7 @@ export default >{ /** * @todo modify prose classes to use pixels for webgui…sadge https://tailwindcss.com/docs/typography-plugin#customizing-the-default-theme */ - // @ts-expect-error + // @ts-expect-error - because spending too much time here to figure this out would cost a lot of money typography: theme => ({ DEFAULT: { css: { diff --git a/web/types/userProfile.ts b/web/types/userProfile.ts index f7e8bd424..9eda6b050 100644 --- a/web/types/userProfile.ts +++ b/web/types/userProfile.ts @@ -1,6 +1,7 @@ import type { ArrowTopRightOnSquareIcon } from '@heroicons/vue/24/solid'; export interface UserProfileLink { + // void | Promise click?: any; // @todo be more specific clickParams?: string[] | number[]; disabled?: boolean;