refactor: updated select buttons in explore to use mmds#30781
Conversation
|
CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #30781 +/- ##
==========================================
- Coverage 82.70% 82.70% -0.01%
==========================================
Files 5545 5545
Lines 142217 142212 -5
Branches 32834 32831 -3
==========================================
- Hits 117624 117614 -10
- Misses 16746 16751 +5
Partials 7847 7847 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
…to refactor/select-explore
…/metamask-mobile into refactor/select-explore
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit d994846. Configure here.
| numberOfLines={1} | ||
| ellipsizeMode="tail" | ||
| /> | ||
| {extraFilters} |
There was a problem hiding this comment.
Filter row lost shrink layout
Medium Severity
FilterBar now lays out all filter controls in one flex-row without the previous min-w-0 shrink wrapper around the network and extra filters. On narrow widths, long labels (e.g. localized copy or a specific network name) can overflow the row instead of truncating, because numberOfLines/ellipsizeMode on the buttons no longer get a bounded width to ellipsize against.
Reviewed by Cursor Bugbot for commit d994846. Configure here.
🔍 Smart E2E Test Selection
click to see 🤖 AI reasoning detailsE2E Test Selection:
All changes are confined to the Trending feature's filter UI components. The Trending feature is tested under No other tags are needed:
Performance Test Selection: |


Description
Migrates the Trending token list filter controls to the MetaMask Design System
SelectButton(primaryvariant) and left-aligns all filters in a single row.Why: The Trending screen used custom
TouchableOpacity+ component-library styling for filter pills. That diverged from MMDS and produced a spread layout (justify-between) that didn’t match design.What changed:
FilterButtonnow wraps MMDSSelectButtonwithSelectButtonVariant.Primaryinstead of a custom pill.FilterBarlays out price change, network, and extra filters (e.g. time) in one left-aligned row withgap-2instead of splitting them across the screen.TrendingTokensFullViewuses the sharedFilterButtonfor consistent styling and behavior.IconNameso they work withSelectButton’sstartIconName.Scope: Shared
FilterBar/FilterButton(also used by RWA selector and Bridge trending section viaFilterButtonexport). Visual alignment on Bridge trending may differ if those screens relied onflex-1stretching.Changelog
CHANGELOG entry: Updated Trending filter buttons to use the design system and aligned them to the left.
Related issues
Fixes: https://consensyssoftware.atlassian.net/browse/DSYS-765
Manual testing steps
Screenshots/Recordings
Before
Simulator.Screen.Recording.-.iPhone.15.Pro.Max.-.2026-05-28.at.23.08.07.mov
After
Simulator.Screen.Recording.-.iPhone.15.Pro.Max.-.2026-05-28.at.22.51.55.mov
Pre-merge author checklist
FilterBar.test.tsx(14 tests passing)Performance checks (if applicable)
Note
Low Risk
UI and design-system alignment only; filter behavior and bottom sheets are unchanged, with minor layout differences on other consumers of FilterBar.
Overview
Trending explore filter controls now use MMDS
SelectButton(primary) instead of customTouchableOpacitypills with component-library text/icons.FilterButtonis a thin wrapper aroundSelectButton, including optionalstartIconNamefor sort direction.FilterBarlays out price change, network, and any extra filters (e.g. 24h) in one left-aligned row withgap-2, replacing the previousjustify-betweensplit layout.TrendingTokensFullViewuses the sharedFilterButtonfor the time filter instead of an inline control. Sort icons inuseTokenListFiltersimportIconNamefrom the design system so they matchSelectButton.Shared
FilterBar/FilterButtonalso affect other token-list surfaces (e.g. RWA, Bridge trending); alignment may differ where layouts relied on the old stretching behavior.Reviewed by Cursor Bugbot for commit d994846. Bugbot is set up for automated code reviews on this repo. Configure here.