import { Area, AreaChart, CartesianGrid, XAxis, YAxis } from 'recharts' import { ChartConfig, ChartContainer, ChartTooltip, ChartTooltipContent, } from '@/components/ui/chart' import { formatShortDate, hourWithMinutes } from '@/lib/utils' import Spinner from '../spinner' const chartConfig = { recv: { label: 'Received', color: 'hsl(var(--chart-2))', }, sent: { label: 'Sent', color: 'hsl(var(--chart-5))', }, } satisfies ChartConfig export default function BandwidthChart({ chartData, ticks, }: { chartData: { time: number; sent: number; recv: number }[] ticks: number[] }) { if (!chartData.length || !ticks.length) { return } return ( (max <= 0.4 ? 0.4 : Math.ceil(max))]} tickFormatter={(value) => { if (value >= 100) { return value.toFixed(0) } return value.toFixed((value * 100) % 1 === 0 ? 1 : 2) }} tickLine={false} axisLine={false} unit={' MB/s'} /> {/* todo: short time if first date is same day, otherwise short date */} formatShortDate(data[0].payload.time)} indicator="line" /> } /> ) }