aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/pages
diff options
context:
space:
mode:
authorFifthWit <fifthwitbusiness@gmail.com>2025-01-30 11:27:22 -0600
committerFifthWit <fifthwitbusiness@gmail.com>2025-01-30 11:27:22 -0600
commitb8d0b9d7e8d26a614e2c461d028853071a9f5a1b (patch)
tree8d0e1b7ed101c4e6921a7f1f7439a678e1cb1deb /frontend/src/pages
parentboom, fixed missing useEffect deps (diff)
downloadlphub-b8d0b9d7e8d26a614e2c461d028853071a9f5a1b.tar.gz
lphub-b8d0b9d7e8d26a614e2c461d028853071a9f5a1b.tar.bz2
lphub-b8d0b9d7e8d26a614e2c461d028853071a9f5a1b.zip
fixed issues with useCallback
Diffstat (limited to 'frontend/src/pages')
-rw-r--r--frontend/src/pages/Rankings.tsx34
1 files changed, 21 insertions, 13 deletions
diff --git a/frontend/src/pages/Rankings.tsx b/frontend/src/pages/Rankings.tsx
index e912b73..ab82931 100644
--- a/frontend/src/pages/Rankings.tsx
+++ b/frontend/src/pages/Rankings.tsx
@@ -37,7 +37,7 @@ const Rankings: React.FC = () => {
37 React.useState<RankingCategories>(RankingCategories.rankings_singleplayer); 37 React.useState<RankingCategories>(RankingCategories.rankings_singleplayer);
38 const [load, setLoad] = React.useState<boolean>(false); 38 const [load, setLoad] = React.useState<boolean>(false);
39 39
40 const _fetch_rankings = async () => { 40 const _fetch_rankings = React.useCallback(async () => {
41 setLeaderboardLoad(false); 41 setLeaderboardLoad(false);
42 const rankings = await API.get_official_rankings(); 42 const rankings = await API.get_official_rankings();
43 setLeaderboardData(rankings); 43 setLeaderboardData(rankings);
@@ -52,7 +52,7 @@ const Rankings: React.FC = () => {
52 } 52 }
53 setLoad(true); 53 setLoad(true);
54 setLeaderboardLoad(true); 54 setLeaderboardLoad(true);
55 }; 55 }, [currentLeaderboardType]);
56 56
57 const __dev_fetch_unofficial_rankings = async () => { 57 const __dev_fetch_unofficial_rankings = async () => {
58 try { 58 try {
@@ -75,17 +75,20 @@ const Rankings: React.FC = () => {
75 } 75 }
76 }; 76 };
77 77
78 const _set_current_leaderboard = (ranking_cat: RankingCategories) => { 78 const _set_current_leaderboard = React.useCallback(
79 if (ranking_cat === RankingCategories.rankings_singleplayer) { 79 (ranking_cat: RankingCategories) => {
80 setCurrentLeaderboard(leaderboardData!.rankings_singleplayer); 80 if (ranking_cat === RankingCategories.rankings_singleplayer) {
81 } else if (ranking_cat === RankingCategories.rankings_multiplayer) { 81 setCurrentLeaderboard(leaderboardData!.rankings_singleplayer);
82 setCurrentLeaderboard(leaderboardData!.rankings_multiplayer); 82 } else if (ranking_cat === RankingCategories.rankings_multiplayer) {
83 } else { 83 setCurrentLeaderboard(leaderboardData!.rankings_multiplayer);
84 setCurrentLeaderboard(leaderboardData!.rankings_overall); 84 } else {
85 } 85 setCurrentLeaderboard(leaderboardData!.rankings_overall);
86 }
86 87
87 setCurrentLeaderboardType(ranking_cat); 88 setCurrentLeaderboardType(ranking_cat);
88 }; 89 },
90 [leaderboardData]
91 );
89 92
90 // unused func 93 // unused func
91 // const _set_leaderboard_type = (leaderboard_type: LeaderboardTypes) => { 94 // const _set_leaderboard_type = (leaderboard_type: LeaderboardTypes) => {
@@ -100,7 +103,12 @@ const Rankings: React.FC = () => {
100 if (load) { 103 if (load) {
101 _set_current_leaderboard(RankingCategories.rankings_singleplayer); 104 _set_current_leaderboard(RankingCategories.rankings_singleplayer);
102 } 105 }
103 }, [load, RankingCategories.rankings_singleplayer]); 106 }, [
107 load,
108 RankingCategories.rankings_singleplayer,
109 _fetch_rankings,
110 _set_current_leaderboard,
111 ]);
104 112
105 return ( 113 return (
106 <main> 114 <main>