56 lines
2.0 KiB
JavaScript
56 lines
2.0 KiB
JavaScript
import { BrowserRouter, Routes, Route } from "react-router-dom";
|
|
import Layout from "../pages/Layout";
|
|
import Home from "../pages/Home";
|
|
import AboutUs from "../pages/AboutUs";
|
|
import Privacy from "../pages/Privacy";
|
|
import ContactUs from "../pages/ContactUs";
|
|
import Morceaux from "../pages/Morceaux";
|
|
import MorceauDetail from "../pages/MorceauDetail";
|
|
import Inventaire from "../pages/Inventaire";
|
|
import Login from "../pages/Login";
|
|
import Logout from "../pages/Logout";
|
|
import Register from "../pages/Register";
|
|
import Formulaire from "../pages/Formulaire";
|
|
import { useState, useEffect } from "react";
|
|
import React from 'react';
|
|
import { useCookies } from 'react-cookie';
|
|
|
|
const App = () => {
|
|
const [cookies, setCookie] = useCookies(['name']);
|
|
|
|
useEffect(() => {
|
|
async function FetchUser() {
|
|
const response = await fetch(`https://localhost:7292/api/WhoAmI`, { credentials: 'include' });
|
|
if (response.status === 200) {
|
|
var user = await response.json();
|
|
setCookie('GMGM', {...user, LoggedIn:true}, { path: '/', SameSite:'strict' })
|
|
}
|
|
else setCookie('GMGM', {LoggedIn:false}, { path: '/', SameSite:'strict' })
|
|
}
|
|
if (cookies.GMGM === null) {
|
|
FetchUser();
|
|
}
|
|
});
|
|
|
|
return (
|
|
<BrowserRouter>
|
|
<Routes>
|
|
<Route path="/" element={<Layout />}>
|
|
<Route index element={<Home />} />
|
|
<Route path="morceaux" element={<Morceaux/>} />
|
|
<Route path="aboutUs" element={<AboutUs/>} />
|
|
<Route path="contactUs" element={<ContactUs/>}/>
|
|
<Route path="privacy" element={<Privacy/>}/>
|
|
<Route path="morceaux/:id" element={<MorceauDetail/>}/>
|
|
<Route path="inventaire" element={<Inventaire/>}/>
|
|
<Route path="login" element={<Login/>}/>
|
|
<Route path="logout" element={<Logout/>}/>
|
|
<Route path="register" element={<Register/>}/>
|
|
<Route path="formulaire" element={<Formulaire/>}/>
|
|
</Route>
|
|
</Routes>
|
|
</BrowserRouter>
|
|
);
|
|
};
|
|
|
|
export default App; |