diff options
| author | Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> | 2024-10-09 16:34:12 +0300 |
|---|---|---|
| committer | Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> | 2024-10-09 16:34:12 +0300 |
| commit | a7c282ca348c1e8e60559e5c064caee28ba11eec (patch) | |
| tree | 43bd7bdb2bbc80b92b96a14b36c33f0b7df622c9 /frontend/src/pages/Maps.tsx | |
| parent | Rankings page (diff) | |
| download | lphub-a7c282ca348c1e8e60559e5c064caee28ba11eec.tar.gz lphub-a7c282ca348c1e8e60559e5c064caee28ba11eec.tar.bz2 lphub-a7c282ca348c1e8e60559e5c064caee28ba11eec.zip | |
refactor: so much shit
Diffstat (limited to 'frontend/src/pages/Maps.tsx')
| -rw-r--r-- | frontend/src/pages/Maps.tsx | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/frontend/src/pages/Maps.tsx b/frontend/src/pages/Maps.tsx index 62fc3cc..13ee4d9 100644 --- a/frontend/src/pages/Maps.tsx +++ b/frontend/src/pages/Maps.tsx | |||
| @@ -7,18 +7,16 @@ import Leaderboards from '../components/Leaderboards'; | |||
| 7 | import Discussions from '../components/Discussions'; | 7 | import Discussions from '../components/Discussions'; |
| 8 | import ModMenu from '../components/ModMenu'; | 8 | import ModMenu from '../components/ModMenu'; |
| 9 | import { MapDiscussions, MapLeaderboard, MapSummary } from '../types/Map'; | 9 | import { MapDiscussions, MapLeaderboard, MapSummary } from '../types/Map'; |
| 10 | import { UserProfile } from '../types/Profile'; | ||
| 11 | import { API } from '../api/Api'; | 10 | import { API } from '../api/Api'; |
| 12 | import "../css/Maps.css"; | 11 | import "../css/Maps.css"; |
| 13 | import Loading from '../components/Loading'; | 12 | import Loading from '../components/Loading'; |
| 14 | 13 | ||
| 15 | interface MapProps { | 14 | interface MapProps { |
| 16 | profile?: UserProfile; | 15 | token?: string; |
| 17 | isModerator: boolean; | 16 | isModerator: boolean; |
| 18 | onUploadRun: (mapID: number) => void; | ||
| 19 | }; | 17 | }; |
| 20 | 18 | ||
| 21 | const Maps: React.FC<MapProps> = ({ profile, isModerator, onUploadRun }) => { | 19 | const Maps: React.FC<MapProps> = ({ token, isModerator }) => { |
| 22 | 20 | ||
| 23 | const [selectedRun, setSelectedRun] = React.useState<number>(0); | 21 | const [selectedRun, setSelectedRun] = React.useState<number>(0); |
| 24 | 22 | ||
| @@ -39,7 +37,8 @@ const Maps: React.FC<MapProps> = ({ profile, isModerator, onUploadRun }) => { | |||
| 39 | 37 | ||
| 40 | const _fetch_map_leaderboards = async () => { | 38 | const _fetch_map_leaderboards = async () => { |
| 41 | const mapLeaderboards = await API.get_map_leaderboard(mapID); | 39 | const mapLeaderboards = await API.get_map_leaderboard(mapID); |
| 42 | console.log(mapLeaderboards?.records[0]); | 40 | console.log("lbs:") |
| 41 | console.log(mapLeaderboards); | ||
| 43 | setMapLeaderboardData(mapLeaderboards); | 42 | setMapLeaderboardData(mapLeaderboards); |
| 44 | }; | 43 | }; |
| 45 | 44 | ||
| @@ -77,7 +76,7 @@ const Maps: React.FC<MapProps> = ({ profile, isModerator, onUploadRun }) => { | |||
| 77 | 76 | ||
| 78 | return ( | 77 | return ( |
| 79 | <> | 78 | <> |
| 80 | {isModerator && <ModMenu data={mapSummaryData} selectedRun={selectedRun} mapID={mapID} />} | 79 | {isModerator && <ModMenu token={token} data={mapSummaryData} selectedRun={selectedRun} mapID={mapID} />} |
| 81 | 80 | ||
| 82 | <div id='background-image'> | 81 | <div id='background-image'> |
| 83 | <img src={mapSummaryData.map.image} alt="" /> | 82 | <img src={mapSummaryData.map.image} alt="" /> |
| @@ -88,7 +87,6 @@ const Maps: React.FC<MapProps> = ({ profile, isModerator, onUploadRun }) => { | |||
| 88 | <Link to="/games"><button className='nav-button' style={{ borderRadius: "20px 0px 0px 20px" }}><i className='triangle'></i><span>Games List</span></button></Link> | 87 | <Link to="/games"><button className='nav-button' style={{ borderRadius: "20px 0px 0px 20px" }}><i className='triangle'></i><span>Games List</span></button></Link> |
| 89 | <Link to={`/games/${!mapSummaryData.map.is_coop ? "1" : "2"}?chapter=${mapSummaryData.map.chapter_name.split(" ")[1]}`}><button className='nav-button' style={{ borderRadius: "0px 20px 20px 0px", marginLeft: "2px" }}><i className='triangle'></i><span>{mapSummaryData.map.chapter_name}</span></button></Link> | 88 | <Link to={`/games/${!mapSummaryData.map.is_coop ? "1" : "2"}?chapter=${mapSummaryData.map.chapter_name.split(" ")[1]}`}><button className='nav-button' style={{ borderRadius: "0px 20px 20px 0px", marginLeft: "2px" }}><i className='triangle'></i><span>{mapSummaryData.map.chapter_name}</span></button></Link> |
| 90 | <br /><span><b>{mapSummaryData.map.map_name}</b></span> | 89 | <br /><span><b>{mapSummaryData.map.map_name}</b></span> |
| 91 | {profile && <button onClick={() => onUploadRun(mapSummaryData.map.id)}>Submit a Run</button>} | ||
| 92 | </div> | 90 | </div> |
| 93 | </section> | 91 | </section> |
| 94 | 92 | ||
| @@ -100,7 +98,7 @@ const Maps: React.FC<MapProps> = ({ profile, isModerator, onUploadRun }) => { | |||
| 100 | 98 | ||
| 101 | {navState === 0 && <Summary selectedRun={selectedRun} setSelectedRun={setSelectedRun} data={mapSummaryData} />} | 99 | {navState === 0 && <Summary selectedRun={selectedRun} setSelectedRun={setSelectedRun} data={mapSummaryData} />} |
| 102 | {navState === 1 && <Leaderboards data={mapLeaderboardData} />} | 100 | {navState === 1 && <Leaderboards data={mapLeaderboardData} />} |
| 103 | {navState === 2 && <Discussions data={mapDiscussionsData} isModerator={isModerator} mapID={mapID} onRefresh={() => _fetch_map_discussions()} />} | 101 | {navState === 2 && <Discussions data={mapDiscussionsData} token={token} isModerator={isModerator} mapID={mapID} onRefresh={() => _fetch_map_discussions()} />} |
| 104 | </main> | 102 | </main> |
| 105 | </> | 103 | </> |
| 106 | ); | 104 | ); |