import { Card, CardBody } from '@heroui/card';
import { useRequest } from 'ahooks';
import { useCallback, useEffect, useState, 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;