chore: prettier everywhere

This commit is contained in:
Julien Froidefond
2025-10-09 13:40:03 +02:00
parent f8100ae3e9
commit d9cf9a2655
303 changed files with 15420 additions and 9391 deletions

View File

@@ -1,6 +1,14 @@
'use client';
import { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer } from 'recharts';
import {
LineChart,
Line,
XAxis,
YAxis,
CartesianGrid,
Tooltip,
ResponsiveContainer,
} from 'recharts';
import { DailyMetrics } from '@/services/analytics/metrics';
import { parseDate, formatDateShort } from '@/lib/date-utils';
@@ -9,18 +17,29 @@ interface CompletionRateChartProps {
className?: string;
}
export function CompletionRateChart({ data, className }: CompletionRateChartProps) {
export function CompletionRateChart({
data,
className,
}: CompletionRateChartProps) {
// Transformer les données pour le graphique
const chartData = data.map(day => ({
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
total: day.totalTasks,
}));
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const CustomTooltip = ({ active, payload, label }: { active?: boolean; payload?: any[]; label?: string }) => {
const CustomTooltip = ({
active,
payload,
label,
}: {
active?: boolean;
payload?: any[];
label?: string;
}) => {
if (active && payload && payload.length) {
const data = payload[0].payload;
return (
@@ -39,7 +58,8 @@ export function CompletionRateChart({ data, className }: CompletionRateChartProp
};
// Calculer la moyenne pour la ligne de référence
const averageRate = data.reduce((sum, day) => sum + day.completionRate, 0) / data.length;
const averageRate =
data.reduce((sum, day) => sum + day.completionRate, 0) / data.length;
return (
<div className={className}>
@@ -49,25 +69,21 @@ export function CompletionRateChart({ data, className }: CompletionRateChartProp
margin={{ top: 20, right: 30, left: 20, bottom: 5 }}
>
<CartesianGrid strokeDasharray="3 3" stroke="var(--border)" />
<XAxis
dataKey="day"
stroke="var(--muted-foreground)"
fontSize={12}
/>
<YAxis
<XAxis dataKey="day" stroke="var(--muted-foreground)" fontSize={12} />
<YAxis
stroke="var(--muted-foreground)"
fontSize={12}
domain={[0, 100]}
tickFormatter={(value) => `${value}%`}
/>
<Tooltip content={<CustomTooltip />} />
<Line
type="monotone"
dataKey="completionRate"
stroke="#10b981"
<Line
type="monotone"
dataKey="completionRate"
stroke="#10b981"
strokeWidth={3}
dot={{ fill: "#10b981", strokeWidth: 2, r: 4 }}
activeDot={{ r: 6, stroke: "#10b981", strokeWidth: 2 }}
dot={{ fill: '#10b981', strokeWidth: 2, r: 4 }}
activeDot={{ r: 6, stroke: '#10b981', strokeWidth: 2 }}
/>
{/* Ligne de moyenne */}
<Line
@@ -81,7 +97,7 @@ export function CompletionRateChart({ data, className }: CompletionRateChartProp
/>
</LineChart>
</ResponsiveContainer>
{/* Légende */}
<div className="flex items-center justify-center gap-4 mt-2 text-xs text-[var(--muted-foreground)]">
<div className="flex items-center gap-1">