📌 Description
src/features/maintainers/components/pull-requests/PullRequestsTab.tsx renders a single generic empty message that conflates three distinct conditions: no repositories selected, repositories selected but containing no PRs, and active filters returning no matches. Users cannot tell why the list is empty or how to recover.
💡 Why it matters: A precise empty state tells the user the next action (select a repo, clear filters), reducing confusion.
🧩 Requirements and context
- Detect and branch the three states explicitly.
- "No repos selected" prompts repository selection.
- "No PRs" reflects an empty result for selected repos.
- "No matches" appears when filters exclude all rows and offers a Clear Filters action.
- Ensure the empty state is announced (
role="status").
Non-functional requirements
- Must be secure, tested, and documented.
- Should be efficient and easy to review.
🛠️ Suggested execution
1. Fork the repo and create a branch
git checkout -b feat/pr-tab-empty-states
2. Implement changes
- Write/modify the relevant source:
src/features/maintainers/components/pull-requests/PullRequestsTab.tsx
- Write comprehensive tests:
src/features/maintainers/components/pull-requests/PullRequestsTab.test.tsx
- Add documentation: inline TSDoc on the empty-state logic
- Include TSDoc comments
- Validate security assumptions: n/a
3. Test and commit
- Cover edge cases: each of the three conditions, plus transition from filtered-empty back to results
- Include test output and security notes in the PR description.
Example commit message
feat(maintainers): differentiate PR list empty states
✅ Acceptance criteria
🔒 Security notes
None; presentation only.
📋 Guidelines
- Minimum 95% test coverage
- Clear documentation
- Timeframe: 96 hours
📌 Description
src/features/maintainers/components/pull-requests/PullRequestsTab.tsxrenders a single generic empty message that conflates three distinct conditions: no repositories selected, repositories selected but containing no PRs, and active filters returning no matches. Users cannot tell why the list is empty or how to recover.🧩 Requirements and context
role="status").Non-functional requirements
🛠️ Suggested execution
1. Fork the repo and create a branch
2. Implement changes
src/features/maintainers/components/pull-requests/PullRequestsTab.tsxsrc/features/maintainers/components/pull-requests/PullRequestsTab.test.tsx3. Test and commit
npm run testExample commit message
✅ Acceptance criteria
role="status"🔒 Security notes
None; presentation only.
📋 Guidelines