feat: add Merged/Open/Closed status filter controls to PR Analytics chart (#1488) - #2789
Conversation
GSSoC Label Checklist 🏷️@Priyanshu-byte-coder — please apply the appropriate labels before merging: Difficulty (pick one):
Quality (optional):
Validation (required to score):
|
|
Thanks for contributing! We are currently in a code cleanup sprint and not accepting new features. Please see: #2651 This PR will be revisited once the sprint ends. In the meantime, tests, refactors, bug fixes, and documentation are welcome. |
|
New UI/feature PRs are on hold during the code quality sprint — see discussion #2651. PRs for tests, refactoring, bug fixes, docs, and performance are welcome. |
|
New feature/UI PRs are on hold during the code-quality sprint — see discussion #2651. We'll revisit after the sprint; tests, refactors, and bug-fix PRs are the priority right now. |
|
Filtering the donut by zeroing all other slices leaves a single 100% slice — the chart stops conveying anything once a filter is active. Consider dimming/highlighting the selected slice while keeping the others visible instead. Indentation in the new blocks also needs fixing. |
|
Reviewed and approved the substance — the |
|
Closing as stale. The last commit on this branch was 2026-06-25, over a month ago, and there's been no activity since. It also has merge conflicts against current This isn't a rejection of the idea — DevTrack's PR queue grew past 110 open PRs, so I'm clearing branches that have gone quiet so the review tab reflects what's actually in progress. If you still want to land this: rebase on current |
Summary
Closes #1488
Problem
The PR Analytics section showed static consolidated charts with no way
to filter by PR status. Users could not focus on purely Open, Merged,
or Closed streams to review pending engineering workloads.
Solution
Added interactive pill/segmented filter buttons above the PR charts
allowing filtering across all four PR states.
Changes
src/components/PRMetrics.tsxprFilterstate type to include"closed"in additionto
"all","merged","open""closed"pill button with distinct orange coloraria-pressedto each pill for accessibilityPRBreakdownChartbelowPRStatusDonutChartpassingthe active
prFilterso both charts respond to the same filtersrc/components/PRBreakdownChart.tsxPRBreakdownChartPropsinterface with optionalfilterpropdonut chart visually reflects the selected status
"all"when no filter prop is passed (backward compatible)How It Works
prFilterstate updates instantly — no API callPRStatusDonutChartandPRBreakdownChartre-rendershowing only the selected status data
Files Changed
src/components/PRMetrics.tsxsrc/components/PRBreakdownChart.tsxChecklist