diff --git a/app/admin/marketing-data/page.tsx b/app/admin/marketing-data/page.tsx index d6ebab6..9f7db60 100644 --- a/app/admin/marketing-data/page.tsx +++ b/app/admin/marketing-data/page.tsx @@ -238,60 +238,68 @@ export default function MarketingPage() { {/* Statistiques globales */}
- +
-

Total Clients

-

+

Total Clients

+

{stats.totalClients.toLocaleString()}

- +
+ +
- +
- +
-

Participants Actifs

-

+

Participants Actifs

+

{stats.activeParticipants.toLocaleString()}

-

+

{((stats.activeParticipants / stats.totalClients) * 100).toFixed(1)}% du total

- +
+ +
- +
- +
-

Gagnants

-

+

Gagnants

+

{stats.winners.toLocaleString()}

-

- {((stats.winners / stats.activeParticipants) * 100).toFixed(1)}% de conversion +

+ {stats.activeParticipants > 0 ? ((stats.winners / stats.activeParticipants) * 100).toFixed(1) : 0}% de conversion

- +
+ +
- +
- +
-

Inactifs

-

+

Inactifs

+

{stats.inactiveParticipants.toLocaleString()}

-

À réactiver

+

À réactiver

+
+
+
-
- +
{/* Graphiques - Affichés uniquement s'il y a des données valides */} @@ -300,9 +308,11 @@ export default function MarketingPage() {
{/* Répartition par genre */} {filteredGenderData.length > 0 && ( - +

- +
+ +
Répartition par Genre

@@ -324,14 +334,16 @@ export default function MarketingPage() { - +
)} {/* Répartition par âge */} {filteredAgeData.length > 0 && ( - +

- +
+ +
Répartition par Âge

@@ -341,54 +353,60 @@ export default function MarketingPage() { - + - +
)}
{/* Top villes */} {filteredCityData.length > 0 && ( - +

- +
+ +
Top Villes ({filteredCityData.length})

{filteredCityData.slice(0, 10).map((city, index) => (
-

#{index + 1}

+ #{index + 1}

{city.city}

{city.count}

))}
- +
)} )} {/* Section Export */} - -

- - Exporter les Données pour Emailing -

+
+
+

+
+ +
+ Exporter les Données pour Emailing +

+
-
+
{/* Sélection du segment */}
-