import * as React from 'react'; import { useTranslation } from 'react-i18next'; import { Download, ArrowDown, ArrowUp, Cpu, Link as LinkIcon, Upload, } from '~/components/shared/FeatherIcons'; import Sparkline from '~/components/shared/Sparkline'; 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 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 (