import React, { useEffect, useState } from 'react'; import { Pie } from 'react-chartjs-2'; const PieChart = () => { const [userData, setUserData] = useState([]); useEffect(() => { // Fonction pour récupérer les données des utilisateurs depuis le backend const fetchUserData = async () => { try { const response = await fetch('/api/users'); const data = await response.json(); setUserData(data); } catch (error) { console.error('Failed to fetch user data:', error); } }; fetchUserData(); }, []); // Compter le nombre de chaque genre const countGenders = () => { const genders = { MALE: 0, FEMALE: 0, OTHER: 0, UNKNOWN: 0, }; userData.forEach((user) => { if (user.gender in genders) { genders[user.gender]++; } }); return Object.values(genders); }; // Préparer les données pour le chart const data = { labels: ['MALE', 'FEMALE', 'OTHER', 'UNKNOWN'], datasets: [ { data: countGenders(), backgroundColor: ['#FF6384', '#36A2EB', '#FFCE56', '#C0C0C0'], hoverBackgroundColor: ['#FF6384', '#36A2EB', '#FFCE56', '#C0C0C0'], }, ], }; return ; }; export default PieChart;