-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
feat(ramps): adds a token selection ui for unified buy #22184
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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. |
…2815-ramp-token-selection-page-ui
|
If the flag is true you should see only the new Buy button 🤔 do you still see the two buttons when setting the unified flag v1 to true? |
…2815-ramp-token-selection-page-ui
|
This is great work @georgeweiler ! ❤️ Search is looking good as well. |
|
Hi @amitabh94, good catch. I've added a new network picker for this component that matches the designs |
…MetaMask/metamask-mobile into TRAM-2815-ramp-token-selection-page-ui
|
| export function createBuyNavigationDetails(intent?: RampIntent) { | ||
| // TODO: Use goToRamps hook for managing ramps navigation |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think we need this comment here.
That logic will happen inside the useRampNavigation hook
app/components/UI/Ramp/components/TokenNetworkFilterBar/TokenNetworkFilterBar.tsx
Show resolved
Hide resolved
| // const isRampsUnifiedV1Enabled = useRampsUnifiedV1Enabled(); | ||
| // // TODO: Use goToRamps hook for managing ramps navigation to the token selection screen | ||
| // // https://consensyssoftware.atlassian.net/browse/TRAM-2813 | ||
| // if (isRampsUnifiedV1Enabled) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same here, I don't think we need this comment



Description
Creates a unified token selection screen that serves as a single entry point for both Buy (Aggregator) and Deposit ramps experiences. Previously, each experience had its own token list, token buttons, and token state. This PR introduces a shared
TokenSelectioncomponent that users will see before landing on their respective build quote pages.This PR introduces the UI only. Tokens are hardcoded and click handlers are incomplete. TODO comments with the appropriate tickets have been registered in place.
What is the reason for the change?
What is the improvement/solution?
TokenSelectioncomponent atapp/components/UI/Ramp/components/TokenSelection/Changelog
CHANGELOG entry: Added unified token selection screen for Buy and Deposit ramps
Related issues
Fixes:
Manual testing steps
Screenshots/Recordings
Before
After
ScreenRecording_11-05-2025.06-37-33_1.MP4
Pre-merge author checklist
Pre-merge reviewer checklist
Note
Introduces a shared Ramp TokenSelection screen with network filtering and search, wires it into navigation, and refactors deposit token UI to reuse shared components.
TokenSelectionscreen (app/components/UI/Ramp/components/TokenSelection/): token search, selectable list (usingTokenListItem), and network filtering viaTokenNetworkFilterBar; header close action; usesMOCK_CRYPTOCURRENCIES.TokenNetworkFilterBarwith tests and snapshots; supports “All” state and per-network toggles.TokenListItemcomponent for token rows (symbol, network badge), used by bothTokenSelectionand deposit flows.useTokenNetworkInfohook centralizes network name/image sourcing.Routes.RAMP.TOKEN_SELECTIONand registers screen inMainNavigator(snapshot updated).TokenSelectorModalrefactored to useTokenListItemand related hooks; network filters updated to useuseTokenNetworkInfo.constants/mockCryptoCurrenciesand re-exports; updates tests.unified_ramp.networks_filter_bar.all_networksstring ("All").Written by Cursor Bugbot for commit fb3a5a9. This will update automatically on new commits. Configure here.