Skip to content

[FEATURE] : Add Sorting Icons & Complete Column Sorting Support #245

@pranay911

Description

@pranay911

Summary

Enhancement: Add sorting icons & full column sorting support to project table

The project table currently supports filtering and partial sorting, but lacks sorting indicators and complete sorting behavior across all columns. Adding sorting icons and implementing full column sorting will improve usability, accessibility, and overall dashboard experience.

Problem

Users cannot visually understand which column is currently sorted because no sorting indicators (▲ ▼ ↕) are shown.
Some table columns are marked as sortable but do not actually apply sorting logic (e.g., Language, Popularity, Stage, Competition, Activity).

This creates confusion and limits the usefulness of the project listing table, especially when exploring large datasets.

Proposed Solution

  1. Add sorting icons (▲ ▼ ↕ or Heroicons chevrons) to sortable table headers

  2. Implement complete sorting logic for ALL sortable columns:

    • Project (name)
    • Issues
    • Language
    • Popularity
    • Stage
    • Competition
    • Activity
  3. Improve accessibility:

    • role="button" on sortable headers
    • tabIndex={0}
    • Keyboard sorting (Enter / Space)
    • aria-sort="ascending|descending|none"
  4. Optional UI improvements:

    • Highlight active sorted column
    • Display hover feedback on sortable headers
    • Maintain sort order when filters change

Alternatives Considered

  • Leaving sorting icons out and relying purely on column clicks, but this provides no visual feedback and hurts usability.
  • Adding sorting only to Issues and Project columns, but users need consistent sorting across all metadata fields.
  • Using external table libraries, but this increases dependency weight and is unnecessary since the current solution is close to complete.

Additional Context

The filtering system is robust, but sorting requires UI clarity and full functional coverage.

Adding sorting icons and expanding sorting logic will standardize the table UX, similar to GitHub, GitLab, and other dashboards.

Image

Happy to contribute a PR for this enhancement if approved.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions