Skip to content

feat: replace the users page trait selectors with cycling pills - #20

Merged
lorenzocorallo merged 1 commit into
mainfrom
feat/users-filter-pills
Oct 1, 2026
Merged

lorenzocorallo merged 1 commit into
mainfrom
feat/users-filter-pills

Conversation

@toto04

@toto04 toto04 commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

The trait filters on the Users page used a three-button "Any / Yes / No" group per trait, laid out in a 7-column grid. Each trait is now a single pill that cycles any → has it → does not have it on click. Shift-click goes back a step. A round badge on the left shows the state: / gray, + green, − red. When a filter is active, the whole pill is tinted. The filters take far less room and wrap on narrow screens.

  • A faint legend centred under the pills explains the badges: / any · + with · − without.
  • Clear all is now a filled button right after the pills, replacing the separate ghost button at the bottom of the card. It still clears the search and role as well.
  • The filter values written to the URL (yes / no / unset) are unchanged, so existing links keep working.

Accessibility:

  • Each pill is a native button, so Tab, Enter and Space work.
  • Screen readers hear names like "Socio: has it", which start with the visible label.
  • The pills are in a group labelled "Filter by trait", with the legend attached as its description.
  • A polite live region announces each change.
  • State is always shown by the glyph as well as the colour.
  • The tooltip gives the trait's description and what the next click does.

I checked it in the dev server in light and dark mode. The dev database wasn't reachable, so the session and user list were stubbed in the browser. vp check passes.

🤖 Generated with Claude Code

Each trait filter is now one pill that cycles any, has it, and does not
have it on click (Shift-click goes back), with a / + − badge and gray,
green, and red tints. A small legend sits under the pills, and Clear all
moves next to them. The filter values in the URL are unchanged.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: ff4b9825-e007-4e11-ad7b-ca1f8afb3fa8

📥 Commits

Reviewing files that changed from the base of the PR and between b6e07a7 and d2a1ed3.

📒 Files selected for processing (1)
  • src/routes/users/index.tsx

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.


Walkthrough

The users page replaces trait-filter radio controls with compact pills that cycle through three presence states. It adds a state legend and polite announcements. The “Clear all” control resets the query and filters while preserving the sort setting.

Changes

Trait Filter Controls

Layer / File(s) Summary
Trait state cycle
src/routes/users/index.tsx
Trait filters use pills that cycle through any, has it, and does not have it. Shift-click cycles backward. Each pill exposes its state, and a legend lists the three states.
Users page filter controls
src/routes/users/index.tsx
Trait changes update URL filters and trigger a polite announcement. “Clear all” resets the query and filters while preserving sort. The filter card’s bottom padding is reduced.

Priority: ⬇️ Low

Change: Feature

Merge Risk: ⚪ Minimal · up to d2a1e

The cycling pills retain the existing filter values and clear-all behavior. No actionable merge-blocking risk is established; merge after normal checks.

🚥 Pre-merge checks | ✅ 3 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 60.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 5 functions across 1 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main change: replacing Users-page trait selectors with cycling pills.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@lorenzocorallo
lorenzocorallo merged commit d8a3696 into main Oct 1, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants