import React, {useEffect, useState} from 'react' import type { Statistics} from '../utils/api' import {getStatistics} from '../utils/api' import {Card, Col, Divider, Flex, Row, Statistic, Tooltip} from 'antd' import {t} from 'ttag' import { AimOutlined, CompassOutlined, DatabaseOutlined, FieldTimeOutlined, NotificationOutlined } from '@ant-design/icons' export default function StatisticsPage() { const [stats, setStats] = useState() useEffect(() => { getStatistics().then(setStats) }, []) const successRate = stats !== undefined ? (stats?.domainPurchased === 0 ? undefined : ((stats?.domainPurchased ?? 0) - (stats?.domainPurchaseFailed ?? 0)) / stats?.domainPurchased) : undefined return ( <> } title={t`RDAP queries`} value={stats?.rdapQueries} /> } value={stats?.alertSent} valueStyle={{color: 'violet'}} /> } value={stats?.domainCountTotal} valueStyle={{color: 'orange'}} /> } value={stats?.domainTracked} valueStyle={{color: 'violet'}} /> } value={(stats?.domainPurchased??0) - (stats?.domainPurchaseFailed??0)} valueStyle={{color: 'green'}} /> = 0.5 ? 'darkgreen' : 'orange'}} /> {stats?.domainCount .sort((a, b) => b.domain - a.domain) .map(({domain, tld}) => )} ) }