This repository has no description
0

Configure Feed

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

fix leaderboard

+24 -3
+24 -3
src/components/Leaderboard/Leaderboard.js
··· 51 51 try { 52 52 setLoading(true); 53 53 54 + console.log(`Fetching leaderboard data for scoreType: ${scoreType}`); 55 + 54 56 // Call the backend endpoint instead of directly querying Supabase 55 57 const response = await fetch(`/api/leaderboard?scoreType=${scoreType}&limit=100`); 56 58 59 + // Check for non-200 responses 57 60 if (!response.ok) { 58 - const errorData = await response.json(); 59 - throw new Error(errorData.error || 'Failed to fetch leaderboard data'); 61 + let errorMessage; 62 + try { 63 + // Try to parse error JSON 64 + const errorData = await response.json(); 65 + errorMessage = errorData.error || `Server error: ${response.status} ${response.statusText}`; 66 + } catch (parseError) { 67 + // If JSON parsing fails, use status text 68 + errorMessage = `Server error: ${response.status} ${response.statusText}`; 69 + } 70 + throw new Error(errorMessage); 71 + } 72 + 73 + // Parse successful response 74 + let data; 75 + try { 76 + data = await response.json(); 77 + } catch (parseError) { 78 + console.error('Error parsing JSON response:', parseError); 79 + throw new Error('Invalid response format from server'); 60 80 } 61 81 62 - const data = await response.json(); 82 + // Debug logging 83 + console.log(`Received ${data.topUsers?.length || 0} top users and ${data.runnerUps?.length || 0} runner ups`); 63 84 64 85 setUsers(data.topUsers || []); 65 86 setRunnerUps(data.runnerUps || []);