diff --git a/src/app/api/airdrop/leaderboard/route.ts b/src/app/api/airdrop/leaderboard/route.ts index 626f5de..298493a 100644 --- a/src/app/api/airdrop/leaderboard/route.ts +++ b/src/app/api/airdrop/leaderboard/route.ts @@ -20,7 +20,7 @@ export async function GET(req: NextRequest) { .select("address, points"); if (!allPoints || allPoints.length === 0) { - return NextResponse.json({ entries: [], userRank: null }); + return NextResponse.json({ entries: [], userRank: null, totalParticipants: 0 }); } // Sum points by address @@ -63,7 +63,7 @@ export async function GET(req: NextRequest) { userRank = idx >= 0 ? idx + 1 : null; } - return NextResponse.json({ entries, userRank }, { + return NextResponse.json({ entries, userRank, totalParticipants: pointsByAddress.size }, { headers: { "Cache-Control": "public, s-maxage=30, stale-while-revalidate=15" }, }); } diff --git a/src/components/airdrop/Leaderboard.tsx b/src/components/airdrop/Leaderboard.tsx index ff084c8..902e5b7 100644 --- a/src/components/airdrop/Leaderboard.tsx +++ b/src/components/airdrop/Leaderboard.tsx @@ -14,6 +14,7 @@ interface LeaderboardEntry { interface LeaderboardData { entries: LeaderboardEntry[]; userRank: number | null; + totalParticipants: number; } function truncateAddress(addr: string) { @@ -59,7 +60,7 @@ export function Leaderboard() {

Leaderboard

- {data.entries.length} {data.entries.length === 1 ? "participant" : "participants"} + {data.totalParticipants} {data.totalParticipants === 1 ? "participant" : "participants"}