This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

test leaderboard with new endpoints

+15 -39
+1
src/App.jsx
··· 36 36 <Route path="/terms" element={<Terms />} /> 37 37 <Route path="/newsletter" element={<Newsletter />} /> 38 38 <Route path="/supporter" element={<Supporter />} /> 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
··· 51 51 try { 52 52 setLoading(true); 53 53 54 - // Fetch top 100 users 55 - const { data: topUsers, error: topError } = await supabase 56 - .from('user_scores') 57 - .select(` 58 - handle, 59 - combined_score, 60 - bluesky_score, 61 - atproto_score, 62 - activity_status, 63 - age_in_days, 64 - total_bsky_records, 65 - total_non_bsky_records 66 - `) 67 - .order(scoreType, { ascending: false }) 68 - .limit(100); 69 - 70 - if (topError) throw topError; 71 - 72 - // Fetch next 10 users 73 - const { data: nextUsers, error: nextError } = await supabase 74 - .from('user_scores') 75 - .select(` 76 - handle, 77 - combined_score, 78 - bluesky_score, 79 - atproto_score, 80 - activity_status, 81 - age_in_days, 82 - total_bsky_records, 83 - total_non_bsky_records 84 - `) 85 - .order(scoreType, { ascending: false }) 86 - .range(100, 109); // Get positions 101-110 87 - 88 - if (nextError) throw nextError; 89 - 90 - setUsers(topUsers || []); 91 - setRunnerUps(nextUsers || []); 92 - 54 + // Call the backend endpoint instead of directly querying Supabase 55 + const response = await fetch(`/api/leaderboard?scoreType=${scoreType}&limit=100`); 56 + 57 + if (!response.ok) { 58 + const errorData = await response.json(); 59 + throw new Error(errorData.error || 'Failed to fetch leaderboard data'); 60 + } 61 + 62 + const data = await response.json(); 63 + 64 + setUsers(data.topUsers || []); 65 + setRunnerUps(data.runnerUps || []); 66 + 93 67 } catch (err) { 94 68 console.error('Error fetching leaderboard:', err); 95 69 setError(err.message);
+1
src/components/Navbar/Navbar.js
··· 25 25 <ul> 26 26 <li><Link to="/">score</Link></li> 27 27 <li><Link to="/compare">compare</Link></li> 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>