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;