Skip to content
Snippets Groups Projects
Select Git revision
  • 9edff20872dd3508fb228697e45fdbb79180f821
  • master default
  • dockerization
  • staging
  • backup-before-cleaning-repo
  • dockerfiles-pour-maelle
6 results

ClassementIndividuel.js

  • Forked from an inaccessible project.
    ClassementIndividuel.js 1.87 KiB
    import React, { useState, useEffect } from 'react';
    import axios from 'axios';
    import { MDBDataTableV5 } from 'mdbreact';
    import eventData from "../../eventData/eventData.json";
    import GetAssociations from "../ListeAssociations";
    
    export default function ClassIndiv() {
    
      var data = [];
      var [participants,setParticipants] = useState([]);
      useEffect(() => {
        const interval = setInterval(() => {
          axios.get('/api/classement_individuel').then((response) => setParticipants(response.data));
        }, 500);
        return () => clearInterval(interval);
      }, []);
    
      function RefreshData() {
        var i = 1;
        participants.map((item) => 
        data.push(
          {
            rank: i++,
            nom: item.name,
            assos: item.equipes.join(", "),
            distance: item.score,
            //dons: Math.trunc(item.score*eventData.argentParMetre)+" €",
            sessions: item.nbScores
          },
        ), 
      );
      return({
        columns: [
          {
            label: '# Rang',
            field: 'rank',
            sort: 'disabled',
            width: 100,
          },
          {
            label: 'Rameuse/Rameur',
            field: 'nom',
            width: 250,
            sort: 'disabled',
            attributes: {
              'aria-controls': 'DataTable',
              'aria-label': 'Association',
            },
          },
          {
            label: 'Association(s)',
            field: 'assos',
            sort: 'disabled',
            width: 100,
          },
          {
            label: 'Distance (m)',
            field: 'distance',
            sort: 'disabled',
            width: 100,
          },
          /*{
            label: 'Dons rapportés',
            field: 'dons',
            sort: 'disabled',
            width: 100,
          },*/
          {
            label: 'Sessions',
            field: 'sessions',
            sort: 'disabled',
            width: 100,
          },
        ],
        rows: data})
      }
    
      return <MDBDataTableV5 paging={false} hover striped info={false} data={RefreshData()} searchLabel="Rechercher" responsiveLg />;
    }