diff --git a/src/api/api-models.ts b/src/api/api-models.ts index 617dca2..ada04c7 100644 --- a/src/api/api-models.ts +++ b/src/api/api-models.ts @@ -42,6 +42,7 @@ export interface AccountInfo extends UserInfo { eventFetcherOnline: boolean eventFetcherStatus: string + eventFetcherStatusV3: { [errorCode: string]: string } nextSendEmailTime?: number isServerFetcherOnline: boolean diff --git a/src/components/EventFetcherStatusCard.vue b/src/components/EventFetcherStatusCard.vue index b85bfd0..2e21165 100644 --- a/src/components/EventFetcherStatusCard.vue +++ b/src/components/EventFetcherStatusCard.vue @@ -2,12 +2,29 @@ import { useAccount } from '@/api/account' import { Info24Filled } from '@vicons/fluent' import { NAlert, NButton, NDivider, NIcon, NTag, NTooltip } from 'naive-ui' +import { computed } from 'vue' const accountInfo = useAccount() + +const status = computed(() => { + if (!accountInfo.value) return 'error' + if (accountInfo.value.eventFetcherOnline == true) { + if (accountInfo.value.eventFetcherStatus) { + if (accountInfo.value.eventFetcherStatus == 'ok') return 'success' + else return 'warning' + } else if (Object.keys(accountInfo.value.eventFetcherStatusV3 ?? {}).length > 0) { + return 'warning' + } else { + return 'success' + } + } else { + return 'info' + } +})