Skip to content

feat: introduce leaderboard page with filtering, table, and user rank#62

Merged
0xdevcollins merged 3 commits intoboundlessfi:mainfrom
Dprof-in-tech:feat-implement-the-leaderboard-page
Jan 30, 2026
Merged

feat: introduce leaderboard page with filtering, table, and user rank#62
0xdevcollins merged 3 commits intoboundlessfi:mainfrom
Dprof-in-tech:feat-implement-the-leaderboard-page

Conversation

@Dprof-in-tech
Copy link
Contributor

@Dprof-in-tech Dprof-in-tech commented Jan 30, 2026

This pull request introduces a complete mock leaderboard feature, including backend API endpoints, frontend hooks, and supporting types and utilities. The changes enable fetching, filtering, and paginating leaderboard data, retrieving user ranks, and obtaining top contributors, all using mock data for development and testing purposes.

This pull request introduces a new, fully client-rendered leaderboard page along with a set of reusable leaderboard UI components. The changes add filtering, infinite pagination, and current user rank display. The implementation includes modular components for the leaderboard table, filters, rank/tier/streak badges, and a sidebar for the user's rank and stats. Additionally, there is a minor cleanup in the Bounty type to remove obsolete comments.

Leaderboard Page and UI Components:

  • Added a new client-side LeaderboardPage (app/leaderboard/page.tsx) that fetches leaderboard data, manages filters via URL, and displays the leaderboard table and user rank sidebar.
  • Implemented LeaderboardTable with infinite scroll, loading skeletons, and highlighting for the current user. Includes rank, contributor info, tier, score, completed, earnings, and streak columns.
  • Added LeaderboardFilters component for filtering by timeframe and tier, with a clear filters button.
  • Created modular badge components: RankBadge for rank display, TierBadge for contributor tier, and StreakIndicator for streaks with tooltip. [1] [2] [3]
  • Added UserRankSidebar to show the current user's rank, avatar, tier, and stats with loading and empty states.

Type and Code Cleanup:

  • Removed obsolete comments from the Bounty type definition, keeping requirements and scope as optional fields for backward compatibility.

closes #58

Screenshot 2026-01-30 at 01 48 28

Summary by CodeRabbit

  • New Features
    • New Leaderboard page with URL-synced filters (timeframe, tier, tags), debounced filtering, and infinite scrolling.
    • Leaderboard table with avatars, rank highlights (including “You”), responsive tag display, loading states, and keyboard-accessible rows.
    • User rank sidebar showing rank, score, earnings, completed, streak, and progress toward next tier.
    • New UI badges/components: rank, tier, and streak displays.
    • Contributor stats extended with optional fields for current points and next-tier threshold.

✏️ Tip: You can customize this high-level summary in your review settings.

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Build Leaderboard Page with Table, Filters, and User Rank Display

2 participants