diff options
| author | Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> | 2025-10-26 13:51:31 +0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-26 12:51:31 +0300 |
| commit | 6a631744d9c80ff9a1a9f4b278bc0337ecdb494e (patch) | |
| tree | 3acf1f505751d997b1b7482823eacabcb79a03f3 /frontend/src/pages | |
| parent | fix/frontend: tablet view logout button (#286) (diff) | |
| download | lphub-6a631744d9c80ff9a1a9f4b278bc0337ecdb494e.tar.gz lphub-6a631744d9c80ff9a1a9f4b278bc0337ecdb494e.tar.bz2 lphub-6a631744d9c80ff9a1a9f4b278bc0337ecdb494e.zip | |
chore/frontend: semicolon linting (#287)
Diffstat (limited to 'frontend/src/pages')
| -rw-r--r-- | frontend/src/pages/Games.tsx | 4 | ||||
| -rw-r--r-- | frontend/src/pages/Maplist.tsx | 14 | ||||
| -rw-r--r-- | frontend/src/pages/Profile.tsx | 22 | ||||
| -rw-r--r-- | frontend/src/pages/Rankings.tsx | 34 | ||||
| -rw-r--r-- | frontend/src/pages/User.tsx | 14 |
5 files changed, 44 insertions, 44 deletions
diff --git a/frontend/src/pages/Games.tsx b/frontend/src/pages/Games.tsx index 909ea20..f4b5463 100644 --- a/frontend/src/pages/Games.tsx +++ b/frontend/src/pages/Games.tsx | |||
| @@ -3,7 +3,7 @@ import { Helmet } from "react-helmet"; | |||
| 3 | 3 | ||
| 4 | import GameEntry from "@components/GameEntry"; | 4 | import GameEntry from "@components/GameEntry"; |
| 5 | import { Game } from "@customTypes/Game"; | 5 | import { Game } from "@customTypes/Game"; |
| 6 | import "@css/Maps.css" | 6 | import "@css/Maps.css"; |
| 7 | 7 | ||
| 8 | interface GamesProps { | 8 | interface GamesProps { |
| 9 | games: Game[]; | 9 | games: Game[]; |
| @@ -16,7 +16,7 @@ const Games: React.FC<GamesProps> = ({ games }) => { | |||
| 16 | loaders.forEach((loader) => { | 16 | loaders.forEach((loader) => { |
| 17 | (loader as HTMLElement).style.display = "none"; | 17 | (loader as HTMLElement).style.display = "none"; |
| 18 | }); | 18 | }); |
| 19 | } | 19 | }; |
| 20 | 20 | ||
| 21 | React.useEffect(() => { | 21 | React.useEffect(() => { |
| 22 | document.querySelectorAll(".games-page-item-body").forEach((game, index) => { | 22 | document.querySelectorAll(".games-page-item-body").forEach((game, index) => { |
diff --git a/frontend/src/pages/Maplist.tsx b/frontend/src/pages/Maplist.tsx index bda24cd..dc655ca 100644 --- a/frontend/src/pages/Maplist.tsx +++ b/frontend/src/pages/Maplist.tsx | |||
| @@ -34,7 +34,7 @@ const Maplist: React.FC = () => { | |||
| 34 | const _fetch_chapters = async (chapter_id: string) => { | 34 | const _fetch_chapters = async (chapter_id: string) => { |
| 35 | const chapters = await API.get_chapters(chapter_id); | 35 | const chapters = await API.get_chapters(chapter_id); |
| 36 | setCurChapter(chapters); | 36 | setCurChapter(chapters); |
| 37 | } | 37 | }; |
| 38 | 38 | ||
| 39 | const _handle_dropdown_click = () => { | 39 | const _handle_dropdown_click = () => { |
| 40 | if (dropdownActive == "none") { | 40 | if (dropdownActive == "none") { |
| @@ -42,7 +42,7 @@ const Maplist: React.FC = () => { | |||
| 42 | } else { | 42 | } else { |
| 43 | setDropdownActive("none"); | 43 | setDropdownActive("none"); |
| 44 | } | 44 | } |
| 45 | } | 45 | }; |
| 46 | 46 | ||
| 47 | // im sorry but im too lazy to fix this right now | 47 | // im sorry but im too lazy to fix this right now |
| 48 | useEffect(() => { | 48 | useEffect(() => { |
| @@ -73,7 +73,7 @@ const Maplist: React.FC = () => { | |||
| 73 | const games_chapters = await API.get_games_chapters(gameId.toString()); | 73 | const games_chapters = await API.get_games_chapters(gameId.toString()); |
| 74 | setGameChapters(games_chapters); | 74 | setGameChapters(games_chapters); |
| 75 | setNumChapters(games_chapters.chapters.length); | 75 | setNumChapters(games_chapters.chapters.length); |
| 76 | } | 76 | }; |
| 77 | 77 | ||
| 78 | setLoad(true); | 78 | setLoad(true); |
| 79 | _fetch_game(); | 79 | _fetch_game(); |
| @@ -85,7 +85,7 @@ const Maplist: React.FC = () => { | |||
| 85 | if (gameChapters != undefined && !queryParams.get("chapter")) { | 85 | if (gameChapters != undefined && !queryParams.get("chapter")) { |
| 86 | _fetch_chapters(gameChapters!.chapters[0].id.toString()); | 86 | _fetch_chapters(gameChapters!.chapters[0].id.toString()); |
| 87 | } | 87 | } |
| 88 | }, [gameChapters]) | 88 | }, [gameChapters]); |
| 89 | 89 | ||
| 90 | 90 | ||
| 91 | 91 | ||
| @@ -124,7 +124,7 @@ const Maplist: React.FC = () => { | |||
| 124 | </div> | 124 | </div> |
| 125 | <div className="game-header-categories"> | 125 | <div className="game-header-categories"> |
| 126 | {game?.category_portals.map((cat, index) => ( | 126 | {game?.category_portals.map((cat, index) => ( |
| 127 | <button key={index} className={currentlySelected == cat.category.id || cat.category.id - 1 == catNum && !hasClicked ? "game-cat-button selected" : "game-cat-button"} onClick={() => { setCatNum(cat.category.id - 1); _update_currently_selected(cat.category.id) }}> | 127 | <button key={index} className={currentlySelected == cat.category.id || cat.category.id - 1 == catNum && !hasClicked ? "game-cat-button selected" : "game-cat-button"} onClick={() => { setCatNum(cat.category.id - 1); _update_currently_selected(cat.category.id); }}> |
| 128 | <span>{cat.category.name}</span> | 128 | <span>{cat.category.name}</span> |
| 129 | </button> | 129 | </button> |
| 130 | ))} | 130 | ))} |
| @@ -143,7 +143,7 @@ const Maplist: React.FC = () => { | |||
| 143 | </div> | 143 | </div> |
| 144 | <div className="dropdown-elements" style={{ display: dropdownActive }}> | 144 | <div className="dropdown-elements" style={{ display: dropdownActive }}> |
| 145 | {gameChapters?.chapters.map((chapter, i) => { | 145 | {gameChapters?.chapters.map((chapter, i) => { |
| 146 | return <div className="dropdown-element" onClick={() => { _fetch_chapters(chapter.id.toString()); _handle_dropdown_click() }}>{chapter.name}</div> | 146 | return <div className="dropdown-element" onClick={() => { _fetch_chapters(chapter.id.toString()); _handle_dropdown_click(); }}>{chapter.name}</div>; |
| 147 | }) | 147 | }) |
| 148 | 148 | ||
| 149 | } | 149 | } |
| @@ -173,7 +173,7 @@ const Maplist: React.FC = () => { | |||
| 173 | </div> | 173 | </div> |
| 174 | </div> | 174 | </div> |
| 175 | </Link> | 175 | </Link> |
| 176 | </div> | 176 | </div>; |
| 177 | })} | 177 | })} |
| 178 | </section> | 178 | </section> |
| 179 | </div> | 179 | </div> |
diff --git a/frontend/src/pages/Profile.tsx b/frontend/src/pages/Profile.tsx index e7b8325..8b8ce3e 100644 --- a/frontend/src/pages/Profile.tsx +++ b/frontend/src/pages/Profile.tsx | |||
| @@ -28,8 +28,8 @@ const Profile: React.FC<ProfileProps> = ({ profile, token, gameData, onDeleteRec | |||
| 28 | const [pageNumber, setPageNumber] = React.useState(1); | 28 | const [pageNumber, setPageNumber] = React.useState(1); |
| 29 | const [pageMax, setPageMax] = React.useState(0); | 29 | const [pageMax, setPageMax] = React.useState(0); |
| 30 | 30 | ||
| 31 | const [game, setGame] = React.useState("0") | 31 | const [game, setGame] = React.useState("0"); |
| 32 | const [chapter, setChapter] = React.useState("0") | 32 | const [chapter, setChapter] = React.useState("0"); |
| 33 | const [chapterData, setChapterData] = React.useState<GameChapters | null>(null); | 33 | const [chapterData, setChapterData] = React.useState<GameChapters | null>(null); |
| 34 | const [maps, setMaps] = React.useState<Map[]>([]); | 34 | const [maps, setMaps] = React.useState<Map[]>([]); |
| 35 | 35 | ||
| @@ -100,7 +100,7 @@ const Profile: React.FC<ProfileProps> = ({ profile, token, gameData, onDeleteRec | |||
| 100 | if (profile && game !== "0") { | 100 | if (profile && game !== "0") { |
| 101 | _get_game_maps(); | 101 | _get_game_maps(); |
| 102 | } | 102 | } |
| 103 | }, [profile, game, chapter, chapterData]) | 103 | }, [profile, game, chapter, chapterData]); |
| 104 | 104 | ||
| 105 | if (!profile) { | 105 | if (!profile) { |
| 106 | return ( | 106 | return ( |
| @@ -279,14 +279,14 @@ const Profile: React.FC<ProfileProps> = ({ profile, token, gameData, onDeleteRec | |||
| 279 | <span>{e.date.split("T")[0]}</span> | 279 | <span>{e.date.split("T")[0]}</span> |
| 280 | <span style={{ flexDirection: "row-reverse" }}> | 280 | <span style={{ flexDirection: "row-reverse" }}> |
| 281 | 281 | ||
| 282 | <button style={{ marginRight: "10px" }} onClick={() => { message("Demo Information", `Demo ID: ${e.demo_id}`) }}><img src={ThreedotIcon} alt="demo_id" /></button> | 282 | <button style={{ marginRight: "10px" }} onClick={() => { message("Demo Information", `Demo ID: ${e.demo_id}`); }}><img src={ThreedotIcon} alt="demo_id" /></button> |
| 283 | <button onClick={() => { _delete_submission(r.map_id, e.record_id) }}><img src={DeleteIcon}></img></button> | 283 | <button onClick={() => { _delete_submission(r.map_id, e.record_id); }}><img src={DeleteIcon}></img></button> |
| 284 | <button onClick={() => window.location.href = `/api/v1/demos?uuid=${e.demo_id}`}><img src={DownloadIcon} alt="download" /></button> | 284 | <button onClick={() => window.location.href = `/api/v1/demos?uuid=${e.demo_id}`}><img src={DownloadIcon} alt="download" /></button> |
| 285 | {i === 0 && r.scores.length > 1 ? <button onClick={() => { | 285 | {i === 0 && r.scores.length > 1 ? <button onClick={() => { |
| 286 | (document.querySelectorAll(".profileboard-record")[index % 20] as HTMLInputElement).style.height === "44px" || | 286 | (document.querySelectorAll(".profileboard-record")[index % 20] as HTMLInputElement).style.height === "44px" || |
| 287 | (document.querySelectorAll(".profileboard-record")[index % 20] as HTMLInputElement).style.height === "" ? | 287 | (document.querySelectorAll(".profileboard-record")[index % 20] as HTMLInputElement).style.height === "" ? |
| 288 | (document.querySelectorAll(".profileboard-record")[index % 20] as HTMLInputElement).style.height = `${r.scores.length * 46}px` : | 288 | (document.querySelectorAll(".profileboard-record")[index % 20] as HTMLInputElement).style.height = `${r.scores.length * 46}px` : |
| 289 | (document.querySelectorAll(".profileboard-record")[index % 20] as HTMLInputElement).style.height = "44px" | 289 | (document.querySelectorAll(".profileboard-record")[index % 20] as HTMLInputElement).style.height = "44px"; |
| 290 | } | 290 | } |
| 291 | }><img src={HistoryIcon} alt="history" /></button> : ""} | 291 | }><img src={HistoryIcon} alt="history" /></button> : ""} |
| 292 | 292 | ||
| @@ -325,14 +325,14 @@ const Profile: React.FC<ProfileProps> = ({ profile, token, gameData, onDeleteRec | |||
| 325 | <span>{record!.scores[i].date.split("T")[0]}</span> | 325 | <span>{record!.scores[i].date.split("T")[0]}</span> |
| 326 | <span style={{ flexDirection: "row-reverse" }}> | 326 | <span style={{ flexDirection: "row-reverse" }}> |
| 327 | 327 | ||
| 328 | <button onClick={() => { message("Demo Information", `Demo ID: ${e.demo_id}`) }}><img src={ThreedotIcon} alt="demo_id" /></button> | 328 | <button onClick={() => { message("Demo Information", `Demo ID: ${e.demo_id}`); }}><img src={ThreedotIcon} alt="demo_id" /></button> |
| 329 | <button onClick={() => { _delete_submission(r.id, e.record_id) }}><img src={DeleteIcon}></img></button> | 329 | <button onClick={() => { _delete_submission(r.id, e.record_id); }}><img src={DeleteIcon}></img></button> |
| 330 | <button onClick={() => window.location.href = `/api/v1/demos?uuid=${e.demo_id}`}><img src={DownloadIcon} alt="download" /></button> | 330 | <button onClick={() => window.location.href = `/api/v1/demos?uuid=${e.demo_id}`}><img src={DownloadIcon} alt="download" /></button> |
| 331 | {i === 0 && record!.scores.length > 1 ? <button onClick={() => { | 331 | {i === 0 && record!.scores.length > 1 ? <button onClick={() => { |
| 332 | (document.querySelectorAll(".profileboard-record")[index % 20] as HTMLInputElement).style.height === "44px" || | 332 | (document.querySelectorAll(".profileboard-record")[index % 20] as HTMLInputElement).style.height === "44px" || |
| 333 | (document.querySelectorAll(".profileboard-record")[index % 20] as HTMLInputElement).style.height === "" ? | 333 | (document.querySelectorAll(".profileboard-record")[index % 20] as HTMLInputElement).style.height === "" ? |
| 334 | (document.querySelectorAll(".profileboard-record")[index % 20] as HTMLInputElement).style.height = `${record!.scores.length * 46}px` : | 334 | (document.querySelectorAll(".profileboard-record")[index % 20] as HTMLInputElement).style.height = `${record!.scores.length * 46}px` : |
| 335 | (document.querySelectorAll(".profileboard-record")[index % 20] as HTMLInputElement).style.height = "44px" | 335 | (document.querySelectorAll(".profileboard-record")[index % 20] as HTMLInputElement).style.height = "44px"; |
| 336 | } | 336 | } |
| 337 | }><img src={HistoryIcon} alt="history" /></button> : ""} | 337 | }><img src={HistoryIcon} alt="history" /></button> : ""} |
| 338 | 338 | ||
| @@ -340,8 +340,8 @@ const Profile: React.FC<ProfileProps> = ({ profile, token, gameData, onDeleteRec | |||
| 340 | </>))} | 340 | </>))} |
| 341 | </button> | 341 | </button> |
| 342 | 342 | ||
| 343 | ) | 343 | ); |
| 344 | } else { return null } | 344 | } else { return null; } |
| 345 | }) : (<>{console.warn(maps)}</>)} | 345 | }) : (<>{console.warn(maps)}</>)} |
| 346 | </div> | 346 | </div> |
| 347 | </section> | 347 | </section> |
diff --git a/frontend/src/pages/Rankings.tsx b/frontend/src/pages/Rankings.tsx index 4a96e26..4693117 100644 --- a/frontend/src/pages/Rankings.tsx +++ b/frontend/src/pages/Rankings.tsx | |||
| @@ -31,15 +31,15 @@ const Rankings: React.FC = () => { | |||
| 31 | const rankings = await API.get_official_rankings(); | 31 | const rankings = await API.get_official_rankings(); |
| 32 | setLeaderboardData(rankings); | 32 | setLeaderboardData(rankings); |
| 33 | if (currentLeaderboardType == RankingCategories.rankings_singleplayer) { | 33 | if (currentLeaderboardType == RankingCategories.rankings_singleplayer) { |
| 34 | setCurrentLeaderboard(rankings.rankings_singleplayer) | 34 | setCurrentLeaderboard(rankings.rankings_singleplayer); |
| 35 | } else if (currentLeaderboardType == RankingCategories.rankings_multiplayer) { | 35 | } else if (currentLeaderboardType == RankingCategories.rankings_multiplayer) { |
| 36 | setCurrentLeaderboard(rankings.rankings_multiplayer) | 36 | setCurrentLeaderboard(rankings.rankings_multiplayer); |
| 37 | } else { | 37 | } else { |
| 38 | setCurrentLeaderboard(rankings.rankings_overall) | 38 | setCurrentLeaderboard(rankings.rankings_overall); |
| 39 | } | 39 | } |
| 40 | setLoad(true); | 40 | setLoad(true); |
| 41 | setLeaderboardLoad(true); | 41 | setLeaderboardLoad(true); |
| 42 | } | 42 | }; |
| 43 | 43 | ||
| 44 | const __dev_fetch_unofficial_rankings = async () => { | 44 | const __dev_fetch_unofficial_rankings = async () => { |
| 45 | try { | 45 | try { |
| @@ -47,17 +47,17 @@ const Rankings: React.FC = () => { | |||
| 47 | const rankings = await API.get_unofficial_rankings(); | 47 | const rankings = await API.get_unofficial_rankings(); |
| 48 | setLeaderboardData(rankings); | 48 | setLeaderboardData(rankings); |
| 49 | if (currentLeaderboardType == RankingCategories.rankings_singleplayer) { | 49 | if (currentLeaderboardType == RankingCategories.rankings_singleplayer) { |
| 50 | setCurrentLeaderboard(rankings.rankings_singleplayer) | 50 | setCurrentLeaderboard(rankings.rankings_singleplayer); |
| 51 | } else if (currentLeaderboardType == RankingCategories.rankings_multiplayer) { | 51 | } else if (currentLeaderboardType == RankingCategories.rankings_multiplayer) { |
| 52 | setCurrentLeaderboard(rankings.rankings_multiplayer) | 52 | setCurrentLeaderboard(rankings.rankings_multiplayer); |
| 53 | } else { | 53 | } else { |
| 54 | setCurrentLeaderboard(rankings.rankings_overall) | 54 | setCurrentLeaderboard(rankings.rankings_overall); |
| 55 | } | 55 | } |
| 56 | setLeaderboardLoad(true); | 56 | setLeaderboardLoad(true); |
| 57 | } catch (e) { | 57 | } catch (e) { |
| 58 | console.log(e) | 58 | console.log(e); |
| 59 | } | 59 | } |
| 60 | } | 60 | }; |
| 61 | 61 | ||
| 62 | const _set_current_leaderboard = (ranking_cat: RankingCategories) => { | 62 | const _set_current_leaderboard = (ranking_cat: RankingCategories) => { |
| 63 | if (ranking_cat == RankingCategories.rankings_singleplayer) { | 63 | if (ranking_cat == RankingCategories.rankings_singleplayer) { |
| @@ -69,7 +69,7 @@ const Rankings: React.FC = () => { | |||
| 69 | } | 69 | } |
| 70 | 70 | ||
| 71 | setCurrentLeaderboardType(ranking_cat); | 71 | setCurrentLeaderboardType(ranking_cat); |
| 72 | } | 72 | }; |
| 73 | 73 | ||
| 74 | const _set_leaderboard_type = (leaderboard_type: LeaderboardTypes) => { | 74 | const _set_leaderboard_type = (leaderboard_type: LeaderboardTypes) => { |
| 75 | if (leaderboard_type == LeaderboardTypes.official) { | 75 | if (leaderboard_type == LeaderboardTypes.official) { |
| @@ -77,14 +77,14 @@ const Rankings: React.FC = () => { | |||
| 77 | } else { | 77 | } else { |
| 78 | 78 | ||
| 79 | } | 79 | } |
| 80 | } | 80 | }; |
| 81 | 81 | ||
| 82 | useEffect(() => { | 82 | useEffect(() => { |
| 83 | _fetch_rankings(); | 83 | _fetch_rankings(); |
| 84 | if (load) { | 84 | if (load) { |
| 85 | _set_current_leaderboard(RankingCategories.rankings_singleplayer); | 85 | _set_current_leaderboard(RankingCategories.rankings_singleplayer); |
| 86 | } | 86 | } |
| 87 | }, [load]) | 87 | }, [load]); |
| 88 | 88 | ||
| 89 | return ( | 89 | return ( |
| 90 | <main> | 90 | <main> |
| @@ -93,10 +93,10 @@ const Rankings: React.FC = () => { | |||
| 93 | </Helmet> | 93 | </Helmet> |
| 94 | <section className="nav-container nav-1"> | 94 | <section className="nav-container nav-1"> |
| 95 | <div> | 95 | <div> |
| 96 | <button onClick={() => { _fetch_rankings(); setCurrentRankingType(LeaderboardTypes.official) }} className={`nav-1-btn ${currentRankingType == LeaderboardTypes.official ? "selected" : ""}`}> | 96 | <button onClick={() => { _fetch_rankings(); setCurrentRankingType(LeaderboardTypes.official); }} className={`nav-1-btn ${currentRankingType == LeaderboardTypes.official ? "selected" : ""}`}> |
| 97 | <span>Official (LPHUB)</span> | 97 | <span>Official (LPHUB)</span> |
| 98 | </button> | 98 | </button> |
| 99 | <button onClick={() => { __dev_fetch_unofficial_rankings(); setCurrentRankingType(LeaderboardTypes.unofficial) }} className={`nav-1-btn ${currentRankingType == LeaderboardTypes.unofficial ? "selected" : ""}`}> | 99 | <button onClick={() => { __dev_fetch_unofficial_rankings(); setCurrentRankingType(LeaderboardTypes.unofficial); }} className={`nav-1-btn ${currentRankingType == LeaderboardTypes.unofficial ? "selected" : ""}`}> |
| 100 | <span>Unofficial (Steam)</span> | 100 | <span>Unofficial (Steam)</span> |
| 101 | </button> | 101 | </button> |
| 102 | </div> | 102 | </div> |
| @@ -127,7 +127,7 @@ const Rankings: React.FC = () => { | |||
| 127 | <div className="splitter"></div> | 127 | <div className="splitter"></div> |
| 128 | 128 | ||
| 129 | {leaderboardLoad && currentLeaderboard?.map((curRankingData, i) => { | 129 | {leaderboardLoad && currentLeaderboard?.map((curRankingData, i) => { |
| 130 | return <RankingEntry currentLeaderboardType={currentLeaderboardType} curRankingData={curRankingData} key={i}></RankingEntry> | 130 | return <RankingEntry currentLeaderboardType={currentLeaderboardType} curRankingData={curRankingData} key={i}></RankingEntry>; |
| 131 | }) | 131 | }) |
| 132 | } | 132 | } |
| 133 | 133 | ||
| @@ -140,7 +140,7 @@ const Rankings: React.FC = () => { | |||
| 140 | </section> | 140 | </section> |
| 141 | : null} | 141 | : null} |
| 142 | </main> | 142 | </main> |
| 143 | ) | 143 | ); |
| 144 | } | 144 | }; |
| 145 | 145 | ||
| 146 | export default Rankings; | 146 | export default Rankings; |
diff --git a/frontend/src/pages/User.tsx b/frontend/src/pages/User.tsx index 33be1f0..236d5f9 100644 --- a/frontend/src/pages/User.tsx +++ b/frontend/src/pages/User.tsx | |||
| @@ -83,7 +83,7 @@ const User: React.FC<UserProps> = ({ token, profile, gameData }) => { | |||
| 83 | if (user && game !== "0") { | 83 | if (user && game !== "0") { |
| 84 | _get_game_maps(); | 84 | _get_game_maps(); |
| 85 | } | 85 | } |
| 86 | }, [user, game, chapter, location]) | 86 | }, [user, game, chapter, location]); |
| 87 | 87 | ||
| 88 | if (!user) { | 88 | if (!user) { |
| 89 | return ( | 89 | return ( |
| @@ -248,13 +248,13 @@ const User: React.FC<UserProps> = ({ token, profile, gameData }) => { | |||
| 248 | <span>{e.date.split("T")[0]}</span> | 248 | <span>{e.date.split("T")[0]}</span> |
| 249 | <span style={{ flexDirection: "row-reverse" }}> | 249 | <span style={{ flexDirection: "row-reverse" }}> |
| 250 | 250 | ||
| 251 | <button onClick={() => { message("Demo Information", `Demo ID: ${e.demo_id}`) }}><img src={ThreedotIcon} alt="demo_id" /></button> | 251 | <button onClick={() => { message("Demo Information", `Demo ID: ${e.demo_id}`); }}><img src={ThreedotIcon} alt="demo_id" /></button> |
| 252 | <button onClick={() => window.location.href = `/api/v1/demos?uuid=${e.demo_id}`}><img src={DownloadIcon} alt="download" /></button> | 252 | <button onClick={() => window.location.href = `/api/v1/demos?uuid=${e.demo_id}`}><img src={DownloadIcon} alt="download" /></button> |
| 253 | {i === 0 && r.scores.length > 1 ? <button onClick={() => { | 253 | {i === 0 && r.scores.length > 1 ? <button onClick={() => { |
| 254 | (document.querySelectorAll(".profileboard-record")[index % 20] as HTMLInputElement).style.height === "44px" || | 254 | (document.querySelectorAll(".profileboard-record")[index % 20] as HTMLInputElement).style.height === "44px" || |
| 255 | (document.querySelectorAll(".profileboard-record")[index % 20] as HTMLInputElement).style.height === "" ? | 255 | (document.querySelectorAll(".profileboard-record")[index % 20] as HTMLInputElement).style.height === "" ? |
| 256 | (document.querySelectorAll(".profileboard-record")[index % 20] as HTMLInputElement).style.height = `${r.scores.length * 46}px` : | 256 | (document.querySelectorAll(".profileboard-record")[index % 20] as HTMLInputElement).style.height = `${r.scores.length * 46}px` : |
| 257 | (document.querySelectorAll(".profileboard-record")[index % 20] as HTMLInputElement).style.height = "44px" | 257 | (document.querySelectorAll(".profileboard-record")[index % 20] as HTMLInputElement).style.height = "44px"; |
| 258 | } | 258 | } |
| 259 | }><img src={HistoryIcon} alt="history" /></button> : ""} | 259 | }><img src={HistoryIcon} alt="history" /></button> : ""} |
| 260 | 260 | ||
| @@ -293,13 +293,13 @@ const User: React.FC<UserProps> = ({ token, profile, gameData }) => { | |||
| 293 | <span>{record!.scores[i].date.split("T")[0]}</span> | 293 | <span>{record!.scores[i].date.split("T")[0]}</span> |
| 294 | <span style={{ flexDirection: "row-reverse" }}> | 294 | <span style={{ flexDirection: "row-reverse" }}> |
| 295 | 295 | ||
| 296 | <button onClick={() => { message("Demo Information", `Demo ID: ${e.demo_id}`) }}><img src={ThreedotIcon} alt="demo_id" /></button> | 296 | <button onClick={() => { message("Demo Information", `Demo ID: ${e.demo_id}`); }}><img src={ThreedotIcon} alt="demo_id" /></button> |
| 297 | <button onClick={() => window.location.href = `/api/v1/demos?uuid=${e.demo_id}`}><img src={DownloadIcon} alt="download" /></button> | 297 | <button onClick={() => window.location.href = `/api/v1/demos?uuid=${e.demo_id}`}><img src={DownloadIcon} alt="download" /></button> |
| 298 | {i === 0 && record!.scores.length > 1 ? <button onClick={() => { | 298 | {i === 0 && record!.scores.length > 1 ? <button onClick={() => { |
| 299 | (document.querySelectorAll(".profileboard-record")[index % 20] as HTMLInputElement).style.height === "44px" || | 299 | (document.querySelectorAll(".profileboard-record")[index % 20] as HTMLInputElement).style.height === "44px" || |
| 300 | (document.querySelectorAll(".profileboard-record")[index % 20] as HTMLInputElement).style.height === "" ? | 300 | (document.querySelectorAll(".profileboard-record")[index % 20] as HTMLInputElement).style.height === "" ? |
| 301 | (document.querySelectorAll(".profileboard-record")[index % 20] as HTMLInputElement).style.height = `${record!.scores.length * 46}px` : | 301 | (document.querySelectorAll(".profileboard-record")[index % 20] as HTMLInputElement).style.height = `${record!.scores.length * 46}px` : |
| 302 | (document.querySelectorAll(".profileboard-record")[index % 20] as HTMLInputElement).style.height = "44px" | 302 | (document.querySelectorAll(".profileboard-record")[index % 20] as HTMLInputElement).style.height = "44px"; |
| 303 | } | 303 | } |
| 304 | }><img src={HistoryIcon} alt="history" /></button> : ""} | 304 | }><img src={HistoryIcon} alt="history" /></button> : ""} |
| 305 | 305 | ||
| @@ -307,8 +307,8 @@ const User: React.FC<UserProps> = ({ token, profile, gameData }) => { | |||
| 307 | </>))} | 307 | </>))} |
| 308 | </button> | 308 | </button> |
| 309 | 309 | ||
| 310 | ) | 310 | ); |
| 311 | } else { return null } | 311 | } else { return null; } |
| 312 | }) : (<>{console.warn(maps)}</>)} | 312 | }) : (<>{console.warn(maps)}</>)} |
| 313 | </div> | 313 | </div> |
| 314 | </section> | 314 | </section> |