From fe2d4d45137df3b1ead4d21c29722fec0bd0fbab Mon Sep 17 00:00:00 2001 From: N3WT DE COMPET Date: Sat, 31 May 2025 14:48:06 +0200 Subject: [PATCH] fix: PieChart --- Front-End/src/app/[locale]/admin/page.js | 38 ++++++++-------- Front-End/src/components/Charts/PieChart.js | 50 ++++++++++++++------- 2 files changed, 54 insertions(+), 34 deletions(-) diff --git a/Front-End/src/app/[locale]/admin/page.js b/Front-End/src/app/[locale]/admin/page.js index 07c4783..5b26f91 100644 --- a/Front-End/src/app/[locale]/admin/page.js +++ b/Front-End/src/app/[locale]/admin/page.js @@ -217,34 +217,36 @@ export default function DashboardPage() { {/* Événements et KPIs */}
- {/* Graphique des inscriptions */} -
-

- {t('inscriptionTrends')} -

-
-
- -
-
- + {/* Colonne de gauche : Graphique des inscriptions + Présence */} +
+ {/* Graphique des inscriptions */} +
+

+ {t('inscriptionTrends')} +

+
+
+ +
+
+ +
+ {/* Présence et assiduité */} +
+ +
- {/* Événements à venir */} -
+ {/* Colonne de droite : Événements à venir */} +

{t('upcomingEvents')}

{upcomingEvents.map((event, index) => ( ))}
- - {/* Ajout du composant Attendance en dessous, en lecture seule */} -
- -
); } diff --git a/Front-End/src/components/Charts/PieChart.js b/Front-End/src/components/Charts/PieChart.js index d144e1e..a5d1edf 100644 --- a/Front-End/src/components/Charts/PieChart.js +++ b/Front-End/src/components/Charts/PieChart.js @@ -1,10 +1,11 @@ import React from 'react'; +// Utilisation de couleurs hexadécimales pour le SVG const COLORS = [ - 'fill-blue-400 text-blue-400', - 'fill-orange-400 text-orange-400', - 'fill-purple-400 text-purple-400', - 'fill-emerald-400 text-emerald-400', + '#60a5fa', // bleu-400 + '#fb923c', // orange-400 + '#a78bfa', // violet-400 + '#34d399', // émeraude-400 ]; export default function PieChart({ data }) { @@ -23,7 +24,20 @@ export default function PieChart({ data }) {
{data.map((slice, idx) => { + if (slice.value === 0) return null; const value = (slice.value / total) * 100; + if (value === 100) { + // Cas 100% : on dessine un cercle plein + return ( + + ); + } const startAngle = (cumulative / 100) * 360; const endAngle = ((cumulative + value) / 100) * 360; const largeArc = value > 50 ? 1 : 0; @@ -42,7 +56,7 @@ export default function PieChart({ data }) { @@ -50,17 +64,21 @@ export default function PieChart({ data }) { })}
- {data.map((slice, idx) => ( -
- - {slice.label} : {slice.value} -
- ))} + {data.map((slice, idx) => + slice.value > 0 && ( +
+ + {slice.label} : {slice.value} +
+ ) + )}
);