'use client'; import { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer, } from 'recharts'; import { DailyMetrics } from '@/services/analytics/metrics'; import { parseDate, formatDateShort } from '@/lib/date-utils'; interface CompletionRateChartProps { data: DailyMetrics[]; className?: string; } export function CompletionRateChart({ data, className, }: CompletionRateChartProps) { // Transformer les données pour le graphique const chartData = data.map((day) => ({ day: day.dayName.substring(0, 3), // Lun, Mar, etc. date: formatDateShort(parseDate(day.date)), completionRate: day.completionRate, completed: day.completed, total: day.totalTasks, })); const CustomTooltip = ({ active, payload, label, }: { active?: boolean; payload?: Array<{ payload: { day: string; date: string; completionRate: number; completed: number; total: number; }; }>; label?: string; }) => { if (active && payload && payload.length) { const data = payload[0].payload; return (
{`${label} (${data.date})`}
Taux de completion: {data.completionRate.toFixed(1)}%
{data.completed} / {data.total} tâches