import { Area, AreaChart, CartesianGrid, XAxis, YAxis } from 'recharts' import { ChartContainer, ChartTooltip, ChartTooltipContent } from '@/components/ui/chart' import { chartTimeData, cn, formatShortDate, toFixedWithoutTrailingZeros, useYaxisWidth, } from '@/lib/utils' import { useMemo, useRef } from 'react' // import Spinner from '../spinner' import { useStore } from '@nanostores/react' import { $chartTime } from '@/lib/stores' import { SystemStatsRecord } from '@/types' export default function MemChart({ ticks, systemData, }: { ticks: number[] systemData: SystemStatsRecord[] }) { const chartTime = useStore($chartTime) const chartRef = useRef(null) const yAxisWidth = useYaxisWidth(chartRef) const yAxisSet = useMemo(() => yAxisWidth !== 180, [yAxisWidth]) // const totalMem = useMemo(() => { // const maxMem = Math.ceil(systemData[0]?.stats.m) // return maxMem > 2 && maxMem % 2 !== 0 ? maxMem + 1 : maxMem // }, [systemData]) // if (!systemData.length || !ticks.length) { // return // } return (
{/* {!yAxisSet && } */} toFixedWithoutTrailingZeros(systemData.at(-1)?.stats.m ?? 0.04, 1)]} width={yAxisWidth} tickLine={false} axisLine={false} unit={' GB'} /> a.name.localeCompare(b.name)} labelFormatter={(_, data) => formatShortDate(data[0].payload.created)} indicator="line" /> } />
) }