/* ResolutionTrend — line chart of average resolution hours per day completed, * last 30 days. Single series, Wulf Blue stroke. */ 'use client'; import { CartesianGrid, Line, LineChart, ResponsiveContainer, Tooltip, XAxis, YAxis, } from 'recharts'; import { useUserTimezone } from '@/lib/hooks/use-user-timezone'; interface ResolutionPoint { date: string; avgHours: number | null; } interface ResolutionTrendProps { data: ResolutionPoint[]; height?: number; } function fmtDate(iso: string, tz: string) { return new Date(iso).toLocaleDateString(undefined, { month: 'short', day: 'numeric', timeZone: tz }); } export function ResolutionTrend({ data, height = 180 }: ResolutionTrendProps) { const tz = useUserTimezone(); return ( fmtDate(iso, tz)} interval="preserveStartEnd" minTickGap={48} tick={{ fontSize: 11, fill: 'var(--muted-foreground)' }} axisLine={false} tickLine={false} /> `${v}h`} /> fmtDate(String(value), tz)} formatter={(value) => value == null ? ['—', 'avg'] : [`${Number(value).toFixed(1)} h`, 'avg'] } /> ); }