Skip to content

Conversation

@wachunei
Copy link
Member

@wachunei wachunei commented Nov 6, 2025

Description

This pull request introduces a new "Settings" modal for the buy flow in the Ramp Aggregator, updates the configuration button icon, and improves component flexibility and test coverage. The most significant changes are the addition of the buy settings modal and its integration into the navigation flow.

Buy Flow Settings Modal

  • Added a new SettingsModal component that appears as a bottom sheet, allowing users to view order history or switch to the new buy experience. This includes navigation logic and UI elements. [1] [2] [3]
  • Integrated the SettingsModal into the Ramp Aggregator's modal navigation stack, making it accessible from the buy flow. [1] [2]
  • Provided a utility for generating navigation details for the new modal (createBuySettingsModalNavigationDetails). [1] [2]

UI/UX Improvements

  • Changed the configuration button icon in the deposit navbar and associated snapshots from "MoreHorizontal" to "Setting" for clarity and consistency. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14]
  • Updated the buy flow to show the configuration/settings button only when appropriate, and wired up the new modal. [1] [2]

Testing

  • Added comprehensive tests for the new SettingsModal, verifying rendering, navigation, and user interactions.

Figma Link

Changelog

CHANGELOG entry: Add settings modal for Buy and a switcher between Buy and Deposit

Related issues

Fixes: https://consensyssoftware.atlassian.net/browse/TRAM-2825

Manual testing steps

Feature: Buy and Deposit

  Scenario: user switches to Deposit
    Given user is in Buy (Aggregator) flow

    When user opens the settings
    And taps on the "Use new buy experience" item
    Then navigates to Deposit

  Scenario: user switches to Buy (Aggregator)
    Given user is in Deposit flow

    When user opens the settings
    And taps on the "More ways to buy" item
    Then navigates to Buy (Aggregator)

Screenshots/Recordings

Before

After

Buy

Before After

Buy Settings

Before After
N/A

Deposit

Before After

Deposit Settings

Before After

Switcher

switcher.mp4

Pre-merge author checklist

Pre-merge reviewer checklist

  • I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

Note

Introduces a new buy Settings bottom sheet and navigation, adds a reusable MenuItem component, updates deposit config UI (incl. new Setting icon) and strings, and wires a switcher between Buy (Aggregator) and Deposit.

  • Ramp Aggregator (Buy):
    • New settings modal: Adds SettingsModal bottom sheet (Routes.RAMP.MODALS.SETTINGS), opened from BuildQuote when buying; options to view order history and switch to Deposit.
    • Navigation: Registers modal in routes/index.tsx and provides createBuySettingsModalNavigationDetails.
  • Deposit:
    • Config modal refresh: Uses header, shared MenuItem, adds "More ways to buy" to navigate to Aggregator; keeps order history/support/logout; removes old styles file.
    • Navbar icon: Changes configuration button icon to IconName.Setting.
  • Shared Components:
    • MenuItem: New reusable list item (app/components/UI/Ramp/components/MenuItem) with icon/title/optional description.
  • Localization & Routes:
    • Adds/updates strings for settings, logout label, and new menu items; adds RampSettingsModal route key.
  • Tests/Snapshots:
    • Adds tests for SettingsModal and MenuItem; updates snapshots for icon/name and new UI.

Written by Cursor Bugbot for commit 9c02608. This will update automatically on new commits. Configure here.

@github-actions
Copy link
Contributor

github-actions bot commented Nov 6, 2025

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.

@metamaskbot metamaskbot added the team-ramp issues related to Ramp features label Nov 6, 2025
@github-actions github-actions bot added the size-L label Nov 6, 2025
@wachunei
Copy link
Member Author

wachunei commented Nov 6, 2025

cursor review

@Rorrote
Copy link

Rorrote commented Nov 6, 2025 via email

@wachunei wachunei marked this pull request as ready for review November 7, 2025 12:50
@wachunei wachunei requested a review from a team as a code owner November 7, 2025 12:50
@wachunei
Copy link
Member Author

wachunei commented Nov 7, 2025

bugbot run

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Bugbot reviewed your changes and found no bugs!


@sonarqubecloud
Copy link

});
});

describe('menu item icons', () => {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

these tests feel a bit redundant, wdyt? I think a single snapshot would cover the case for all of these text assertions

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, there's already a snapshot. cursor generated these and made sense to me anyway.

@wachunei wachunei added this pull request to the merge queue Nov 10, 2025
Merged via the queue into main with commit f8f3356 Nov 10, 2025
84 checks passed
@wachunei wachunei deleted the feat/ramp-switcher branch November 10, 2025 19:45
@github-actions github-actions bot locked and limited conversation to collaborators Nov 10, 2025
@metamaskbot metamaskbot added the release-7.60.0 Issue or pull request that will be included in release 7.60.0 label Nov 10, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

release-7.60.0 Issue or pull request that will be included in release 7.60.0 size-L team-ramp issues related to Ramp features

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants