import { Area, AreaChart, CartesianGrid, YAxis } from "recharts" import { ChartContainer, ChartTooltip, ChartTooltipContent, xAxis } from "@/components/ui/chart" import { useYAxisWidth, cn, formatShortDate, decimalString, chartMargin, formatBytes } from "@/lib/utils" import { ChartData } from "@/types" import { memo } from "react" import { useLingui } from "@lingui/react/macro" import { Unit } from "@/lib/enums" export default memo(function DiskChart({ dataKey, diskSize, chartData, }: { dataKey: string diskSize: number chartData: ChartData }) { const { yAxisWidth, updateYAxisWidth } = useYAxisWidth() const { t } = useLingui() // round to nearest GB if (diskSize >= 100) { diskSize = Math.round(diskSize) } if (chartData.systemStats.length === 0) { return null } return (
{ const { value, unit } = formatBytes(val * 1024, false, Unit.Bytes, true) return updateYAxisWidth(decimalString(value, value >= 10 ? 0 : 1) + " " + unit) }} /> {xAxis(chartData)} formatShortDate(data[0].payload.created)} contentFormatter={({ value }) => { const { value: convertedValue, unit } = formatBytes(value * 1024, false, Unit.Bytes, true) return decimalString(convertedValue) + " " + unit }} /> } />
) })