'use client'; import { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer, } from 'recharts'; import { Card } from '@/components/ui/Card'; import { parseDate, formatDateShort } from '@/lib/date-utils'; interface CompletionTrendData { date: string; completed: number; created: number; total: number; } interface CompletionTrendChartProps { data: CompletionTrendData[]; title?: string; } export function CompletionTrendChart({ data, title = 'Tendance de Completion', }: CompletionTrendChartProps) { // Formatter pour les dates const formatDate = (dateStr: string) => { try { return formatDateShort(parseDate(dateStr)); } catch { return dateStr; } }; // Tooltip personnalisé const CustomTooltip = ({ active, payload, label, }: { active?: boolean; payload?: Array<{ name: string; value: number; color: string }>; label?: string; }) => { if (active && payload && payload.length) { return (
{label ? formatDate(label) : ''}
{payload.map((entry, index: number) => ({entry.name === 'completed' ? 'Terminées' : entry.name === 'created' ? 'Créées' : 'Total'} : {entry.value}
))}