diff options
| author | Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> | 2024-10-22 13:32:47 +0300 |
|---|---|---|
| committer | Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> | 2024-10-22 13:32:47 +0300 |
| commit | 0f81fafe764f6fc4b8f64e184520b5ea0a26a0d0 (patch) | |
| tree | 7b4b5bf4cb36da07aa77ed0ae86399b88385805c /frontend/src/App.tsx | |
| parent | frontend: fix message async hook (diff) | |
| download | lphub-0f81fafe764f6fc4b8f64e184520b5ea0a26a0d0.tar.gz lphub-0f81fafe764f6fc4b8f64e184520b5ea0a26a0d0.tar.bz2 lphub-0f81fafe764f6fc4b8f64e184520b5ea0a26a0d0.zip | |
frontend: update profile on delete run
Diffstat (limited to 'frontend/src/App.tsx')
| -rw-r--r-- | frontend/src/App.tsx | 15 |
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 @@ | |||
| 1 | import React from 'react'; | 1 | import React from 'react'; |
| 2 | import { Routes, Route, useLocation } from "react-router-dom"; | 2 | import { Routes, Route } from "react-router-dom"; |
| 3 | 3 | ||
| 4 | import { UserProfile } from './types/Profile'; | 4 | import { UserProfile } from './types/Profile'; |
| 5 | import Sidebar from './components/Sidebar'; | 5 | import Sidebar from './components/Sidebar'; |
| @@ -18,22 +18,15 @@ import { API } from './api/Api'; | |||
| 18 | import Maplist from './pages/Maplist'; | 18 | import Maplist from './pages/Maplist'; |
| 19 | import Rankings from './pages/Rankings'; | 19 | import Rankings from './pages/Rankings'; |
| 20 | import { get_user_id_from_token, get_user_mod_from_token } from './utils/Jwt'; | 20 | import { get_user_id_from_token, get_user_mod_from_token } from './utils/Jwt'; |
| 21 | import { MapDeleteEndpoint } from './types/Map'; | ||
| 22 | 21 | ||
| 23 | const App: React.FC = () => { | 22 | const 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> |