aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/components/Leaderboards.tsx
diff options
context:
space:
mode:
authorWolfboy248 <121288977+Wolfboy248@users.noreply.github.com>2024-12-10 07:16:37 +0100
committerGitHub <noreply@github.com>2024-12-10 09:16:37 +0300
commit9c3e5686f36bc4ba76d510f27adc89f378a3a658 (patch)
treec55033ed5e4f153e027767be160fbcf94364f755 /frontend/src/components/Leaderboards.tsx
parentdocs/lphub: seperate contributors into a new file (#244) (diff)
downloadlphub-9c3e5686f36bc4ba76d510f27adc89f378a3a658.tar.gz
lphub-9c3e5686f36bc4ba76d510f27adc89f378a3a658.tar.bz2
lphub-9c3e5686f36bc4ba76d510f27adc89f378a3a658.zip
fix/frontend: map pagination fix (#246)
Diffstat (limited to 'frontend/src/components/Leaderboards.tsx')
-rw-r--r--frontend/src/components/Leaderboards.tsx21
1 files changed, 17 insertions, 4 deletions
diff --git a/frontend/src/components/Leaderboards.tsx b/frontend/src/components/Leaderboards.tsx
index 4a8b463..fb614fa 100644
--- a/frontend/src/components/Leaderboards.tsx
+++ b/frontend/src/components/Leaderboards.tsx
@@ -1,20 +1,33 @@
1import React from 'react'; 1import React from 'react';
2import { Link } from 'react-router-dom'; 2import { Link, useNavigate } from 'react-router-dom';
3 3
4import { DownloadIcon, ThreedotIcon } from '@images/Images'; 4import { DownloadIcon, ThreedotIcon } from '@images/Images';
5import { MapLeaderboard } from '@customTypes/Map'; 5import { MapLeaderboard } from '@customTypes/Map';
6import { ticks_to_time, time_ago } from '@utils/Time'; 6import { ticks_to_time, time_ago } from '@utils/Time';
7import { API } from "@api/Api";
7import useMessage from "@hooks/UseMessage"; 8import useMessage from "@hooks/UseMessage";
8import "@css/Maps.css" 9import "@css/Maps.css"
9 10
10interface LeaderboardsProps { 11interface LeaderboardsProps {
11 data?: MapLeaderboard; 12 mapID: string;
12} 13}
13 14
14const Leaderboards: React.FC<LeaderboardsProps> = ({ data }) => { 15const Leaderboards: React.FC<LeaderboardsProps> = ({ mapID }) => {
16 const navigate = useNavigate();
17 const [data, setData] = React.useState<MapLeaderboard | undefined>(undefined);
18 const [pageNumber, setPageNumber] = React.useState<number>(1);
19
20 const _fetch_map_leaderboards = async () => {
21 const mapLeaderboards = await API.get_map_leaderboard(mapID, pageNumber.toString());
22 setData(mapLeaderboards);
23 };
15 24
16 const { message, MessageDialogComponent } = useMessage(); 25 const { message, MessageDialogComponent } = useMessage();
17 const [pageNumber, setPageNumber] = React.useState<number>(1); 26
27 React.useEffect(() => {
28 _fetch_map_leaderboards();
29 console.log(data);
30 }, [pageNumber, navigate])
18 31
19 if (!data) { 32 if (!data) {
20 return ( 33 return (