Skip to content

feature: Add column sorting to the Country Leaderboard Table #225

Closed

Description

@O2sa

Currently, the leaderboard table is sorted solely by default Impact Rank. Users should be able to click on column headers (Impact Rank, Final Score, Repo Score, PR Score, Contribution Score) to sort ascending or descending.

Motivation

Allows users to easily see who the top repository builders are (highest Repo Score) versus who the most active open-source contributors are (highest PR Score), making the leaderboard much more interactive and analytical.

Tasks

  • Add sorting state (sortField and sortDirection) to LeaderboardTable.
  • Add click handlers and sort indicator icons (ArrowUpDown, ArrowUp, ArrowDown from lucide-react) to table headers.
  • Implement numerical and alphabetical sorting over the filtered dataset.
  • Maintain accessibility by adding aria-sort attributes to table header cells.
  • Add a unit test verifying that sorting orders entries correctly.

Files to Check

  • src/features/leaderboard/components/leaderboard-table.tsx
  • src/features/leaderboard/tests/

Tip

🚀 Want to contribute?
Comment assign me to be automatically assigned to this issue via our GitHub Actions bot. Happy coding! ✨

Activity

  1. 1-DARK commented on Oct 7, 2026

    @1-DARK
    Contributor

    assign me

  2. github-actions commented on Oct 7, 2026

    @github-actions

    🎉 Issue assigned to @1-DARK! Happy coding!

  3. O2sa commented on Oct 7, 2026

    @O2sa
    OwnerAuthor

    @1-DARK
    One small note regarding our good first issue labels: these issues are intended specifically for contributors making their first contribution to the project.

    Once a contributor has successfully completed and merged their first contribution, please avoid taking issues labeled good first issue. This helps keep these issues available for new contributors who are looking for an accessible way to get started with the project.

    For future contributions, please consider picking issues without the good first issue label. Thanks for understanding and helping us keep the project welcoming to new contributors.

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

Metadata

Metadata

Assignees

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions