import { Area, AreaChart, CartesianGrid, XAxis, YAxis } from 'recharts' import { ChartConfig, ChartContainer, ChartTooltip, ChartTooltipContent, } from '@/components/ui/chart' import { formatShortDate, hourWithMinutes } from '@/lib/utils' import { useMemo } from 'react' import Spinner from '../spinner' const chartConfig = { diskUsed: { label: 'Disk Usage', color: 'hsl(var(--chart-4))', }, } satisfies ChartConfig export default function DiskChart({ chartData, ticks, }: { chartData: { time: number; disk: number; diskUsed: number }[] ticks: number[] }) { const diskSize = useMemo(() => { return Math.round(chartData[0]?.disk) }, [chartData]) // const ticks = useMemo(() => { // let ticks = [0] // for (let i = 1; i < diskSize; i += diskSize / 5) { // ticks.push(Math.trunc(i)) // } // ticks.push(diskSize) // return ticks // }, [diskSize]) if (!chartData.length || !ticks.length) { return } return ( = 1000 ? 75 : 65} domain={[0, diskSize]} tickCount={9} tickLine={false} axisLine={false} unit={' GB'} /> {/* todo: short time if first date is same day, otherwise short date */} formatShortDate(data[0].payload.time)} indicator="line" /> } /> ) }