import React from 'react';
import logo from './logo.svg';
import './App.css';
import { BrowserRouter as Router, Switch, Route, Link } from "react-router-dom";
import HomePage from './components/Leaderboard';
import Classement from './components/Classement';
import CheerUp from './components/CheerUp';
import Partenaires from "./components/Partenaires";
import Leaderboard from './components/LeaderboardSB';
import Formulaire from "./components/Login/Kilometrage";
import Gestion from "./components/Login/Gestion";
import MonHumaviron from "./components/Login/MonHumaviron";
import ReactiveNavbar from "./components/ReactiveNavbar";
import AuthKilometrage from "./components/Login/authKilometrage"

import Admin from './components/Login/Gestion/Admin';
import { AfficheScore, UpdateScoreScore, UpdateScoreEquipe, UpdateScoreParticipant } from './components/Login/Gestion/gestionScore/AfficheScore';
import { DeleteScore } from './components/Login/Gestion/gestionScore/DeleteScore';
import { AddEquipeForm } from './components/Login/Gestion/gestionEquipes/NouvelleEquipe';
import { UpdateEquipe } from './components/Login/Gestion/gestionEquipes/EditEquipe';
import { DeleteEquipe } from './components/Login/Gestion/gestionEquipes/DeleteEquipe';
import { AddParticipantForm } from './components/Login/Gestion/gestionParticipants/NouveauParticipant';
import { UpdateParticipant } from './components/Login/Gestion/gestionParticipants/EditParticipant';
import { DeleteParticipant } from './components/Login/Gestion/gestionParticipants/DeleteParticipant';
import { AddObjectifForm } from './components/Login/Gestion/gestionObjectifs/NouvelObjectif';
import { AfficheObjectif, UpdateObjectifName, UpdateObjectifDescription, UpdateObjectifValue, UpdateObjectifCoef } from './components/Login/Gestion/gestionObjectifs/AfficheObjectif';
import { DeleteObjectif } from './components/Login/Gestion/gestionObjectifs/DeleteObjectif';
import { AddAdministrateurForm } from './components/Login/Gestion/gestionAdministrateurs/NouvelAdministrateur';
import { UpdateAdministrateur } from './components/Login/Gestion/gestionAdministrateurs/EditAdministrateur';
import { DeleteAdministrateur } from './components/Login/Gestion/gestionAdministrateurs/DeleteAdministrateur';
import { DeleteStaffeur } from './components/Login/Gestion/gestionStaffeurs/DeleteStaffeur';
import { AddEvenementForm } from './components/Login/Gestion/gestionEvenements/NouvelEvenement';
import { AfficheEvenement, UpdateEvenementName, UpdateEvenementStartDate, UpdateEvenementEndDate } from './components/Login/Gestion/gestionEvenements/AfficheEvenement';
import { DeleteEvenement } from './components/Login/Gestion/gestionEvenements/DeleteEvenement';

function App() {
  return (
    <>
    <Router>
    <ReactiveNavbar />
    <Switch>
      <Route exact path="/">
        <Leaderboard />
      </Route>
      <Route exact path="/Classement">
        <Classement />
      </Route>
      <Route exact path="/CheerUp">
        <CheerUp />
      </Route>
      <Route exact path="/Partenaires">
        <Partenaires />
      </Route>
      <Route exact path="/Input">
        <Formulaire />
      </Route>
      <Route exact path="/Gestion">
        <Gestion />
      </Route>
      <Route exact path="/MaCourse">
        <MonHumaviron />
      </Route>
      <Route exact path = "/admin">
        <Admin />
      </Route>  
        <Route path="/admin/scores/view/:id" component={AfficheScore} />
        <Route path="/admin/scores/edit/score/:id" component={UpdateScoreScore} />
        <Route path="/admin/scores/edit/equipe/:id" component={UpdateScoreEquipe} />
        <Route path="/admin/scores/edit/participant/:id" component={UpdateScoreParticipant} />
        <Route path="/admin/scores/delete/:id" component={DeleteScore} />
        <Route path="/admin/equipes/edit/:id" component={UpdateEquipe} />
        <Route path="/admin/equipes/delete/:id" component={DeleteEquipe} />
        <Route path="/admin/participants/edit/:id" component={UpdateParticipant} />
        <Route path="/admin/participants/delete/:id" component={DeleteParticipant} />
        <Route path="/admin/objectifs/view/:id" component={AfficheObjectif} />
        <Route path="/admin/objectifs/edit/name/:id" component={UpdateObjectifName} />
        <Route path="/admin/objectifs/edit/description/:id" component={UpdateObjectifDescription} />
        <Route path="/admin/objectifs/edit/value/:id" component={UpdateObjectifValue} />
        <Route path="/admin/objectifs/edit/coef/:id" component={UpdateObjectifCoef} />
        <Route path="/admin/objectifs/delete/:id" component={DeleteObjectif} />
        <Route path="/admin/admins/edit/:id" component={UpdateAdministrateur} />
        <Route path="/admin/admins/delete/:id" component={DeleteAdministrateur} />
        <Route path="/admin/staffeurs/delete/:id" component={DeleteStaffeur} />
        <Route path="/admin/evenements/view/:id" component={AfficheEvenement} />
        <Route path="/admin/evenements/edit/name/:id" component={UpdateEvenementName} />
        <Route path="/admin/evenements/edit/startdate/:id" component={UpdateEvenementStartDate} />
        <Route path="/admin/evenements/edit/enddate/:id" component={UpdateEvenementEndDate} />
        <Route path="/admin/evenements/delete/:id" component={DeleteEvenement} />    
    </Switch>
  </Router>
  </>
  );
}

export default App;