import { useLingui } from "@lingui/react/macro" import { memo } from "react" import { Area, AreaChart, CartesianGrid, YAxis } from "recharts" import { ChartContainer, ChartTooltip, ChartTooltipContent, xAxis } from "@/components/ui/chart" import { Unit } from "@/lib/enums" import { chartMargin, cn, decimalString, formatBytes, formatShortDate, toFixedFloat } from "@/lib/utils" import type { ChartData, SystemStatsRecord } from "@/types" import { useYAxisWidth } from "./hooks" export default memo(function DiskChart({ dataKey, diskSize, chartData, }: { dataKey: string | ((data: SystemStatsRecord) => number | undefined) 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 (