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"
/>
}
/>
)
}