alpha
Login
or
Join now
atpota.to
/
cred.blue
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
This repository has no description
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
Pipelines
test leaderboard with new endpoints
author
damedotblog
date
1 year ago
(Feb 24, 2025, 11:24 AM -0500)
commit
48ef705b
48ef705b911151bfb4bcfd28420135f4c9720397
parent
2053fa34
2053fa34c587b3e147349f6c5efae32040bc57ab
+15
-39
3 changed files
Expand all
Collapse all
Unified
Split
src
App.jsx
components
Leaderboard
Leaderboard.js
Navbar
Navbar.js
+1
src/App.jsx
Reviewed
···
36
36
<Route path="/terms" element={<Terms />} />
37
37
<Route path="/newsletter" element={<Newsletter />} />
38
38
<Route path="/supporter" element={<Supporter />} />
39
39
+
<Route path="/leaderboard" element={<Leaderboard />} />
39
40
<Route path="/shortcut" element={<Shortcut />} />
40
41
<Route path="/zen" element={<ZenPage />} />
41
42
<Route path="/methodology" element={<ScoringMethodology />} />
+13
-39
src/components/Leaderboard/Leaderboard.js
Reviewed
···
51
51
try {
52
52
setLoading(true);
53
53
54
54
-
// Fetch top 100 users
55
55
-
const { data: topUsers, error: topError } = await supabase
56
56
-
.from('user_scores')
57
57
-
.select(`
58
58
-
handle,
59
59
-
combined_score,
60
60
-
bluesky_score,
61
61
-
atproto_score,
62
62
-
activity_status,
63
63
-
age_in_days,
64
64
-
total_bsky_records,
65
65
-
total_non_bsky_records
66
66
-
`)
67
67
-
.order(scoreType, { ascending: false })
68
68
-
.limit(100);
69
69
-
70
70
-
if (topError) throw topError;
71
71
-
72
72
-
// Fetch next 10 users
73
73
-
const { data: nextUsers, error: nextError } = await supabase
74
74
-
.from('user_scores')
75
75
-
.select(`
76
76
-
handle,
77
77
-
combined_score,
78
78
-
bluesky_score,
79
79
-
atproto_score,
80
80
-
activity_status,
81
81
-
age_in_days,
82
82
-
total_bsky_records,
83
83
-
total_non_bsky_records
84
84
-
`)
85
85
-
.order(scoreType, { ascending: false })
86
86
-
.range(100, 109); // Get positions 101-110
87
87
-
88
88
-
if (nextError) throw nextError;
89
89
-
90
90
-
setUsers(topUsers || []);
91
91
-
setRunnerUps(nextUsers || []);
92
92
-
54
54
+
// Call the backend endpoint instead of directly querying Supabase
55
55
+
const response = await fetch(`/api/leaderboard?scoreType=${scoreType}&limit=100`);
56
56
+
57
57
+
if (!response.ok) {
58
58
+
const errorData = await response.json();
59
59
+
throw new Error(errorData.error || 'Failed to fetch leaderboard data');
60
60
+
}
61
61
+
62
62
+
const data = await response.json();
63
63
+
64
64
+
setUsers(data.topUsers || []);
65
65
+
setRunnerUps(data.runnerUps || []);
66
66
+
93
67
} catch (err) {
94
68
console.error('Error fetching leaderboard:', err);
95
69
setError(err.message);
+1
src/components/Navbar/Navbar.js
Reviewed
···
25
25
<ul>
26
26
<li><Link to="/">score</Link></li>
27
27
<li><Link to="/compare">compare</Link></li>
28
28
+
<li><Link to="/leaderboard">leaderboard</Link></li>
28
29
<li><Link to="/alt-text">alt text</Link></li>
29
30
<li><Link to="/about">about</Link></li>
30
31
</ul>