import * as React from 'react'; import { Download, ArrowDown, ArrowUp, Cpu, Link as LinkIcon, Upload, } from '~/components/shared/FeatherIcons'; import { useTranslation } from 'react-i18next'; import useMemory from '../hooks/useMemory'; import useTraffic from '../hooks/useTraffic'; import { useConnectionSummary } from '../modules/home/hooks'; import { formatTrafficRate } from '../modules/home/utils'; import { ClashAPIConfig } from '../types'; import Sparkline from './Sparkline'; import s0 from './TrafficNow.module.scss'; type Props = { apiConfig: ClashAPIConfig; selectedChartStyleIndex: number; }; export default function TrafficNow({ apiConfig, selectedChartStyleIndex }: Props) { const { t } = useTranslation(); const traffic = useTraffic(apiConfig); const memory = useMemory(apiConfig); const { upTotal, dlTotal, connNumber, mUsage } = useConnectionSummary(apiConfig); const upStr = formatTrafficRate(traffic.up[traffic.up.length - 1] || 0); const downStr = formatTrafficRate(traffic.down[traffic.down.length - 1] || 0); return (
{t('Download Total')}
{dlTotal}
{t('Upload Total')}
{upTotal}
{t('Active Connections')}
{connNumber}
{t('Download')}
{downStr}
{t('Upload')}
{upStr}
{t('Memory Usage')}
{mUsage}
); }