aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/App.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/src/App.tsx')
-rw-r--r--frontend/src/App.tsx15
1 files changed, 4 insertions, 11 deletions
diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx
index e39e1b6..c6952b1 100644
--- a/frontend/src/App.tsx
+++ b/frontend/src/App.tsx
@@ -1,5 +1,5 @@
1import React from 'react'; 1import React from 'react';
2import { Routes, Route, useLocation } from "react-router-dom"; 2import { Routes, Route } from "react-router-dom";
3 3
4import { UserProfile } from './types/Profile'; 4import { UserProfile } from './types/Profile';
5import Sidebar from './components/Sidebar'; 5import Sidebar from './components/Sidebar';
@@ -18,22 +18,15 @@ import { API } from './api/Api';
18import Maplist from './pages/Maplist'; 18import Maplist from './pages/Maplist';
19import Rankings from './pages/Rankings'; 19import Rankings from './pages/Rankings';
20import { get_user_id_from_token, get_user_mod_from_token } from './utils/Jwt'; 20import { get_user_id_from_token, get_user_mod_from_token } from './utils/Jwt';
21import { MapDeleteEndpoint } from './types/Map';
22 21
23const App: React.FC = () => { 22const App: React.FC = () => {
24 const [token, setToken] = React.useState<string | undefined>(undefined); 23 const [token, setToken] = React.useState<string | undefined>(undefined);
25 const [profile, setProfile] = React.useState<UserProfile | undefined>(undefined); 24 const [profile, setProfile] = React.useState<UserProfile | undefined>(undefined);
26 const [isModerator, setIsModerator] = React.useState<boolean>(false); 25 const [isModerator, setIsModerator] = React.useState<boolean>(false);
27 26
28 const [msgIsOpen, setMsgIsOpen] = React.useState<boolean>(false);
29
30 const [games, setGames] = React.useState<Game[]>([]); 27 const [games, setGames] = React.useState<Game[]>([]);
31 28
32 const [uploadRunDialog, setUploadRunDialog] = React.useState<boolean>(false); 29 const [uploadRunDialog, setUploadRunDialog] = React.useState<boolean>(false);
33 const [uploadRunDialogMapID, setUploadRunDialogMapID] = React.useState<number | undefined>(undefined);
34
35 const [confirmDialogOpen, setConfirmDialogOpen] = React.useState<boolean>(false);
36 const [currDeleteMapInfo, setCurrDeleteMapInfo] = React.useState<MapDeleteEndpoint>();
37 30
38 const _fetch_token = async () => { 31 const _fetch_token = async () => {
39 const token = await API.get_token(); 32 const token = await API.get_token();
@@ -83,18 +76,18 @@ const App: React.FC = () => {
83 <> 76 <>
84 <UploadRunDialog token={token} open={uploadRunDialog} onClose={(updateProfile) => { 77 <UploadRunDialog token={token} open={uploadRunDialog} onClose={(updateProfile) => {
85 setUploadRunDialog(false); 78 setUploadRunDialog(false);
86 if (updateProfile && token) { 79 if (updateProfile) {
87 _set_profile(get_user_id_from_token(token)); 80 _set_profile(get_user_id_from_token(token));
88 } 81 }
89 }} games={games} /> 82 }} games={games} />
90 <Sidebar setToken={setToken} profile={profile} setProfile={setProfile} onUploadRun={() => setUploadRunDialog(true)} /> 83 <Sidebar setToken={setToken} profile={profile} setProfile={setProfile} onUploadRun={() => setUploadRunDialog(true)} />
91 <Routes> 84 <Routes>
92 <Route path="/" element={<Homepage />} /> 85 <Route path="/" element={<Homepage />} />
93 <Route path="/profile" element={<Profile profile={profile} token={token} gameData={games} onDeleteRecord={() => setConfirmDialogOpen(true)} />} /> 86 <Route path="/profile" element={<Profile profile={profile} token={token} gameData={games} onDeleteRecord={() => _set_profile(get_user_id_from_token(token))} />} />
94 <Route path="/users/*" element={<User profile={profile} token={token} gameData={games} />} /> 87 <Route path="/users/*" element={<User profile={profile} token={token} gameData={games} />} />
95 <Route path="/games" element={<Games games={games} />} /> 88 <Route path="/games" element={<Games games={games} />} />
96 <Route path='/games/:id' element={<Maplist />}></Route> 89 <Route path='/games/:id' element={<Maplist />}></Route>
97 <Route path="/maps/*" element={<Maps token={token} isModerator={isModerator} />}/> 90 <Route path="/maps/*" element={<Maps token={token} isModerator={isModerator} />} />
98 <Route path="/rules" element={<Rules />} /> 91 <Route path="/rules" element={<Rules />} />
99 <Route path="/about" element={<About />} /> 92 <Route path="/about" element={<About />} />
100 <Route path='/rankings' element={<Rankings />}></Route> 93 <Route path='/rankings' element={<Rankings />}></Route>