import { Card, CardBody } from '@heroui/card' import { useRequest } from 'ahooks' import { useCallback, useEffect, useState } from 'react' import { useRef } from 'react' import toast from 'react-hot-toast' import NetworkItemDisplay from '@/components/display_network_item' import Hitokoto from '@/components/hitokoto' import QQInfoCard from '@/components/qq_info_card' import SystemInfo from '@/components/system_info' import SystemStatusDisplay from '@/components/system_status_display' import useConfig from '@/hooks/use-config' import QQManager from '@/controllers/qq_manager' import WebUIManager from '@/controllers/webui_manager' const Networks: React.FC = () => { const { config, refreshConfig } = useConfig() const allNetWorkConfigLength = config.network.httpClients.length + config.network.websocketClients.length + config.network.websocketServers.length + config.network.httpServers.length useEffect(() => { refreshConfig() }, []) return (
) } const QQInfo: React.FC = () => { const { data, loading, error } = useRequest(QQManager.getQQLoginInfo) return } export interface SystemStatusCardProps { setArchInfo: (arch: string | undefined) => void } const SystemStatusCard: React.FC = ({ setArchInfo }) => { const [systemStatus, setSystemStatus] = useState() const isSetted = useRef(false) const getStatus = useCallback(() => { try { const event = WebUIManager.getSystemStatus(setSystemStatus) return event } catch (error) { toast.error('获取系统状态失败') } }, []) useEffect(() => { const close = getStatus() return () => { close?.close() } }, [getStatus]) useEffect(() => { if (systemStatus?.arch && !isSetted.current) { setArchInfo(systemStatus.arch) isSetted.current = true } }, [systemStatus, setArchInfo]) return } const DashboardIndexPage: React.FC = () => { const [archInfo, setArchInfo] = useState() return ( <> 基础信息 - NapCat WebUI
) } export default DashboardIndexPage