"use client"; import { type ChartConfig, ChartContainer, ChartTooltip, ChartTooltipContent, } from "@openstatus/ui/components/ui/chart"; import { cn } from "@openstatus/ui/lib/utils"; import { CartesianGrid, Line, LineChart, XAxis, YAxis } from "recharts"; import { ChartTooltipNumber } from "./chart-tooltip-number"; const chartConfig = { latency: { label: "Latency", color: "var(--success)", }, } satisfies ChartConfig; export type TrendPoint = { timestamp: number; // unix millis latency: number; // milliseconds }; export function ChartLineRegion({ className, data, }: { className?: string; data: TrendPoint[]; }) { const trendData = data ?? []; const chartData = trendData.map((d) => ({ timestamp: new Date(d.timestamp).toLocaleString("default", { hour: "numeric", minute: "numeric", day: "numeric", month: "short", }), latency: d.latency, })); return ( ( )} /> } /> `${value}ms`} /> ); }