import React from 'react';
import { request } from '../../request';
import { useRequest } from 'ahooks';
import {
CircularProgress,
Table,
TableBody,
TableCell,
TableHead,
TableRow,
Typography,
Box,
} from '@mui/material';
import _uniq from 'lodash/uniq';
import { ChipItems } from '../../components/ChipItems';
import { useTranslate } from 'react-admin';
/**
* Tailchat 网络状态
*/
export const TailchatNetwork: React.FC = React.memo(() => {
const translate = useTranslate();
const { data, loading } = useRequest(async () => {
const { data } = await request('/network/all');
return data;
});
if (loading) {
return ;
}
return (
{translate('custom.network.nodeList')}
{translate('custom.network.id')}
{translate('custom.network.hostname')}
{translate('custom.network.cpuUsage')}
{translate('custom.network.ipList')}
{translate('custom.network.sdkVersion')}
{(data.nodes ?? []).map((row) => (
{row.id}
{row.local && (*)}
{row.hostname}
{row.cpu}%
{row.client.version}
))}
{translate('custom.network.serviceList')}
(data.services ?? [])} />
{translate('custom.network.actionList')}
(data.actions ?? [])} />
{translate('custom.network.eventList')}
(data.events ?? [])} />
);
});
TailchatNetwork.displayName = 'TailchatNetwork';