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 = { read: { label: 'Read', color: 'hsl(var(--chart-1))', }, write: { label: 'Write', color: 'hsl(var(--chart-3))', }, } satisfies ChartConfig export default function DiskIoChart({ chartData, ticks, }: { chartData: { time: number; read: number; write: 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" /> } /> ) }