OWASP / OWASP/Nest

Standardize filter and sort components for consistency and reusability

Open
#3,450 2 comments 0 reactions 0 assignees View on GitHub
enhancement
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 |
|--------|--------|--------|
| Image | Image | Image |

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.