From 662999f65b663a6c8c3e8ae68fd7372ee189e102 Mon Sep 17 00:00:00 2001 From: Liam Date: Wed, 8 Nov 2023 11:58:36 +0000 Subject: [PATCH] fix(ssr): fix pagination --- src/components/GlobalRanking.tsx | 1 + src/components/player/Scores.tsx | 19 +++++++++++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/components/GlobalRanking.tsx b/src/components/GlobalRanking.tsx index c8a5244..973a4a7 100644 --- a/src/components/GlobalRanking.tsx +++ b/src/components/GlobalRanking.tsx @@ -71,6 +71,7 @@ export default function GlobalRanking({ diff --git a/src/components/player/Scores.tsx b/src/components/player/Scores.tsx index 89699e5..f2c939d 100644 --- a/src/components/player/Scores.tsx +++ b/src/components/player/Scores.tsx @@ -47,10 +47,16 @@ export default function Scores({ sortType: initalSortType, scores: initalScores ? initalScores : [], }); + const [changedPage, setChangedPage] = useState(false); const updateScoresPage = useCallback( (sortType: SortType, page: any) => { - if (page == initalPage && sortType == initalSortType && initalScores) { + if ( + page == initalPage && + sortType == initalSortType && + initalScores && + !changedPage + ) { console.log("Already loaded scores, not fetching"); return; } @@ -76,12 +82,21 @@ export default function Scores({ "", `/player/${playerId}/${sortType.value}/${page}`, ); + setChangedPage(true); console.log(`Switched page to ${page} with sort ${sortType.value}`); }, ); }, - [initalPage, initalScores, initalSortType, playerId, scores, settingsStore], + [ + changedPage, + initalPage, + initalScores, + initalSortType, + playerId, + scores, + settingsStore, + ], ); useEffect(() => {