feat: add chain filter pills with client-side filtering (All, Base, S…#28710
feat: add chain filter pills with client-side filtering (All, Base, S…#28710
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. |
b94a5f6 to
9d88f82
Compare
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #28710 +/- ##
===========================================
- Coverage 82.20% 58.73% -23.48%
===========================================
Files 5017 5028 +11
Lines 131659 131957 +298
Branches 29381 29455 +74
===========================================
- Hits 108228 77502 -30726
- Misses 16083 48123 +32040
+ Partials 7348 6332 -1016 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
| <TouchableOpacity onPress={onPress} testID={`chain-filter-${filterKey}`}> | ||
| <Box | ||
| twClassName={`px-4 py-2 rounded-xl border ${ | ||
| isSelected ? 'bg-default border-white' : 'border-muted' |
There was a problem hiding this comment.
I've tested adding more items to the list, and the component behaved badly
- no more spacing between items. I think we should enforce constant spacing between them.
- no horizontal scrolling. The items are locked in place.
It may seem like we don't need to care about this yet, but in fact we do, because even the current list ("All", "Base", "Solana", "Ethereum") could overflow on smaller devices.
…k/metamask-mobile into TSA-374-leaderboard-chain-filter
🔍 Smart E2E Test Selection
click to see 🤖 AI reasoning detailsE2E Test Selection: Key changes:
No E2E test files exist for this feature (confirmed via grep). The changes are self-contained within the Social Leaderboard section. No shared navigation, modals, confirmations, or TabBar components are affected. SmokeWalletPlatform covers the Trending tab where this feature lives. No other tags are needed: no confirmations, no account management, no network permissions, no swaps/bridges are affected. Performance Test Selection: |
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 602ab34. Configure here.
|
|
✅ E2E Fixture Validation — Schema is up to date |





Description
Changelog
CHANGELOG entry: null
Related issues
Fixes:
Manual testing steps
Screenshots/Recordings
Before
After
Pre-merge author checklist
Pre-merge reviewer checklist
Note
Medium Risk
Changes list rendering and ranking/filtering logic in
TopTradersView, which could affect ordering, empty states, and performance ifpnlPerChaindata is missing or inconsistent.Overview
Adds inline chain filter pills (All/Base/Solana/Ethereum) to
TopTradersView, replacing the previousNetworkFilterButton/bottom sheet approach and filtering the list client-side.Extends
TopTraderanduseTopTradersto includepnlPerChain, then uses it to filter and re-rank results (cap display to 50) while increasing the fetch limit (250) and switching toFlatListplusReact.memo(TraderRow)for rendering performance.Updates tests, test IDs, and English strings for the new filter UI, and adds
SOLANA_DISPLAY_NAMEto engine constants.Reviewed by Cursor Bugbot for commit 602ab34. Bugbot is set up for automated code reviews on this repo. Configure here.