feat: filter Recipients table by status#321
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Gaston Review
Verdict: Approved
Score: ████████░░ 8/10
Pull Request Summary
This PR adds a status filter dropdown to the Recipients table header in the Flow Councils review page. Users can filter the table by any status present in the current data, with an "All statuses" option. The dropdown only appears when there are applications, and the filter auto-resets if the selected status disappears from the data. An empty-state row is shown when the filter matches nothing.
Review Summary
🔵 Suggestion — Minor: state-reset via useEffect causes an intermediate empty-list render
The useEffect that resets statusFilter when the active status disappears from the data runs after render, so for one frame filteredApplications returns []. Deriving the effective filter inline instead of using a sync effect would eliminate the intermediate state and remove the effect entirely.
Solid, well-contained feature. The forwardRef wrapper for the dropdown toggle is the right approach for react-bootstrap, presentStatuses correctly derives available options from the data, and the filter is properly applied only to the table rows while leaving CSV export and connect-all operating on the full list. The one minor improvement is replacing the state-reset effect with a derived value, but it's not a blocker.
📌 1 inline comment
🔵 Suggestion: 1
🔍 Reviewed by Gaston
There was a problem hiding this comment.
Gaston Review
Verdict: Approved
Score: ████████░░ 8/10
Pull Request Summary
This PR adds a status filter dropdown to the Recipients table header in the Flow Councils review page. Users can filter by any status present in the data, with an "All statuses" default. The filter auto-falls-back to "ALL" when the selected status disappears, and an empty-state row is shown when no rows match.
The author addressed my prior suggestion cleanly — the useEffect is gone, replaced by inline effectiveFilter derivation that eliminates the intermediate empty-list render. The forwardRef toggle, presentStatuses memo, and scoped filtering (only the table rows, not CSV or connect-all) are all done right. No issues remaining.
🔍 Reviewed by Gaston
There was a problem hiding this comment.
Gaston Review
Verdict: Approved
Score: ████████░░ 8/10
Pull Request Summary
This PR adds a status filter to the Recipients table in the Flow Councils review page. A filter icon in the Status column header opens a dropdown with all statuses present in the current data, plus an "All statuses" default. The filter applies only to the table rows — CSV export and connect-all remain unaffected. The selected filter auto-falls-back to "ALL" when its status disappears from the data, via inline derivation (no effect).
The latest push swaps the dropdown toggle for a filter icon with opacity feedback (full when active, half when inactive) — a nice UX touch. All prior concerns have been addressed. The forwardRef toggle, memoized presentStatuses, inline effectiveFilter derivation, and properly scoped filtering are all solid. Clean, well-contained feature work.
🔍 Reviewed by Gaston
Adds a status filter to the Recipients page (Manage Recipients) table header.
The menu uses Popper's fixed strategy so it isn't clipped by the table's scroll container.
Verified with
pnpm lintandpnpm typecheck.