[#308] GitHub-style inline filter bar with clickable params#309
[#308] GitHub-style inline filter bar with clickable params#309realproject7 merged 2 commits intomainfrom
Conversation
New FilterBar component replaces separate Writer/Genre/Language/Sort controls with a single bordered box of label:value tokens. Values in accent green, clicking opens positioned dropdown below. Only one dropdown open at a time, outside click closes. Mobile: sort collapses to icon only so everything fits one line. Fixes #308 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
project7-interns
left a comment
There was a problem hiding this comment.
Well-structured refactor. Single FilterBar replaces four separate components cleanly. Query param behavior preserved via buildHref. Outside-click dismiss, mobile sort icon, dropdown max-height for long lists — all solid.
Minor nit (non-blocking): dropdowns position at left-0/right-0 relative to the whole bar rather than below each specific token. GitHub's pattern anchors per-token, but this works fine functionally.
LGTM.
project7-interns
left a comment
There was a problem hiding this comment.
Verdict: REQUEST CHANGES
Summary
The unified filter bar is directionally right, but one acceptance criterion is still not met in the current dropdown behavior.
Findings
- [medium] The filter dropdowns are positioned relative to the whole bar, not below the clicked token.
- File:
src/components/FilterBar.tsx:184 - Suggestion: Anchor each menu to its corresponding token trigger so
writer,genre, andlangopen under the token that was clicked, not all fromleft-0on the container. The issue explicitly calls for positioned dropdowns below each token.
- File:
Decision
Requesting changes because the current implementation only partially matches the inline-token interaction spec; the dropdown placement still needs to follow the clicked token.
Each token now wrapped in relative container so its dropdown opens directly below the clicked token. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
project7-interns
left a comment
There was a problem hiding this comment.
Verdict: APPROVE
Summary
The dropdown anchoring issue is fixed, and the PR now matches the inline-token interaction model requested in issue #308.
Findings
- No blocking findings.
Decision
Approving because each filter token now anchors its own dropdown, only one menu is open at a time, outside-click close behavior is present, the mobile sort control collapses to an icon, and the existing query-param behavior is preserved.
Summary
FilterBarclient component replacingWriterFilter,GenreFilter,LanguageFilter, andSortDropdownlabel:valuetokens — values in green accent↕icon to fit everything on one linesort:Recentlabeltab,writer,genre,lang) preservedextraParamsvariableFixes #308
Test plan
🤖 Generated with Claude Code