From 9369b5ce799a4ea9f9f4e3070aaf13c365e1cfb5 Mon Sep 17 00:00:00 2001 From: moonrailgun Date: Mon, 24 Jan 2022 11:00:57 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E6=9C=8D=E5=8A=A1=E6=A3=80=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/components/modals/SettingsView/Status.tsx | 14 ++++++++++---- web/src/plugin/common/reg.ts | 8 ++++++++ 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/web/src/components/modals/SettingsView/Status.tsx b/web/src/components/modals/SettingsView/Status.tsx index 3fe5cdf1..4df56fd1 100644 --- a/web/src/components/modals/SettingsView/Status.tsx +++ b/web/src/components/modals/SettingsView/Status.tsx @@ -1,12 +1,13 @@ import { LoadingSpinner } from '@/components/LoadingSpinner'; +import { pluginInspectServices } from '@/plugin/common'; import { Icon } from '@iconify/react'; -import React from 'react'; +import React, { useMemo } from 'react'; import { fetchAvailableServices, t, useAsync } from 'tailchat-shared'; /** - * 检查服务列表 + * 默认检查服务列表 */ -const SERVICES = [ +const DEFAULT_SERVICES = [ { name: 'user', label: t('用户服务'), @@ -41,6 +42,11 @@ const SERVICES = [ * 服务状态 */ export const SettingsStatus: React.FC = React.memo(() => { + const inspectServices = useMemo( + () => [...DEFAULT_SERVICES, ...pluginInspectServices], + [] + ); // 需要检查服务状态的列表 + const { loading, value: availableServices } = useAsync(async () => { const services = await fetchAvailableServices(); @@ -53,7 +59,7 @@ export const SettingsStatus: React.FC = React.memo(() => { return (
- {SERVICES.map((service) => ( + {inspectServices.map((service) => (
{service.label}: {availableServices?.includes(service.name) ? ( diff --git a/web/src/plugin/common/reg.ts b/web/src/plugin/common/reg.ts index 59c17467..5e64d1f9 100644 --- a/web/src/plugin/common/reg.ts +++ b/web/src/plugin/common/reg.ts @@ -111,3 +111,11 @@ export const [pluginColorScheme, regPluginColorScheme] = buildRegList<{ label: string; name: string; }>(); + +/** + * 注册检查服务方案 + */ +export const [pluginInspectServices, regInspectService] = buildRegList<{ + label: string; + name: string; +}>();