'use client'; import { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer } from 'recharts'; import { DailyMetrics } from '@/services/metrics'; 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: new Date(day.date).toLocaleDateString('fr-FR', { day: '2-digit', month: '2-digit' }), completionRate: day.completionRate, completed: day.completed, total: day.totalTasks })); // eslint-disable-next-line @typescript-eslint/no-explicit-any const CustomTooltip = ({ active, payload, label }: { active?: boolean; payload?: any[]; 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