Standardize filter and sort components for consistency and reusability
- Dominant language
- Python
- Stars
- 451
- Forks
- 702
- Avg merge
- 22h 59m
- Merged PRs (30d)
- 91
Description
**Is your feature request related to a problem? Please describe.**
We currently use different filter and sort UI components across multiple pages, which leads to inconsistent user experience and duplicated logic.
For example:
- On `/my/mentorship/programs/[program-key]/modules/[module-key]/issues`, filtering is implemented using a `Select`-based dropdown.
- On `/projects/dashboard/metrics`, filtering is handled via a custom `ProjectsDashboardDropDown`.
- On `/projects`, a separate `SortBy` component is used, which looks more polished and consistent.
Having multiple implementations for similar functionality makes the UI feel fragmented.
**Describe the solution you'd like**
Introduce a single reusable filter/sort component (or a small set of shared components) that can be reused across pages such as:
- Issues filtering
- Projects dashboard filtering
- Projects list sorting
The existing `SortBy` component on `/projects` could potentially serve as the base for this reusable solution.
**Are you going to work on implementing this?**
- [x] Yes
- [ ] No
**Additional context**
| Projects page | Metrics on Project Health Dashboard page | Issues on Modules page |
|--------|--------|--------|
| |
|
|
Contributor guide
Assessment
This issue has not been assessed yet.