Skip to content

refactor(bridge): use MMDS HeaderStandard#29700

Merged
brianacnguyen merged 12 commits into
mainfrom
refactor/headerstandard-titles-bridge
May 14, 2026
Merged

refactor(bridge): use MMDS HeaderStandard#29700
brianacnguyen merged 12 commits into
mainfrom
refactor/headerstandard-titles-bridge

Conversation

@brianacnguyen
Copy link
Copy Markdown
Contributor

@brianacnguyen brianacnguyen commented May 5, 2026

Description

Bridge Default and Custom slippage bottom sheets still used HeaderCompactStandard from component-library. This migrates both to HeaderStandard from @metamask/design-system-react-native so slippage UI follows the same header pattern as the rest of the app and reduces reliance on the temporary header component.


Changelog

CHANGELOG entry: null


Related issues

Fixes: https://consensyssoftware.atlassian.net/browse/DSYS-697


Manual testing steps

Feature: Bridge slippage modal header

  Scenario: Default slippage sheet shows expected header and closes
    Given the user is on the Bridge flow with slippage configurable

    When the user opens the default slippage modal
    Then the sheet title shows the slippage string (same as before)
    And the user can dismiss the sheet with the close control

  Scenario: Custom slippage sheet shows expected header and closes
    Given the user is on the Bridge flow with custom slippage available

    When the user opens the custom slippage modal
    Then the sheet title shows the slippage string (same as before)
    And the user can dismiss the sheet with the close control

Screenshots/Recordings

Before

After


Pre-merge author checklist

Performance checks (if applicable)

  • I've tested on Android
    • Ideally on a mid-range device; emulator is acceptable
  • I've tested with a power user scenario
    • Use these power-user SRPs to import wallets with many accounts and tokens
  • I've instrumented key operations with Sentry traces for production performance metrics

For performance guidelines and tooling, see the Performance Guide.

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

Low Risk
Low risk UI refactor limited to swapping header components and updating accessibility labels/translations; behavior changes should be confined to close button props and related tests.

Overview
Bridge slippage bottom sheets (default and custom) now use MMDS HeaderStandard instead of the temporary HeaderCompactStandard, wiring onClose through the new header API.

Adds a localized bridge.close string and updates modal tests to assert the header close button via accessibilityLabel from i18n rather than a hardcoded "Close" mock.

Reviewed by Cursor Bugbot for commit 566ed03. Bugbot is set up for automated code reviews on this repo. Configure here.

Co-authored-by: Cursor <cursoragent@cursor.com>
@brianacnguyen brianacnguyen self-assigned this May 5, 2026
@brianacnguyen brianacnguyen requested a review from a team as a code owner May 5, 2026 05:16
@brianacnguyen brianacnguyen added No QA Needed Apply this label when your PR does not need any QA effort. team-design-system All issues relating to design system in Mobile no changelog required No changelog entry is required for this change labels May 5, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 5, 2026

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.

@github-actions github-actions Bot added the size-S label May 5, 2026
Comment thread app/components/UI/Bridge/components/SlippageModal/CustomSlippageModal.tsx Outdated
@brianacnguyen brianacnguyen enabled auto-merge May 8, 2026 03:52
@github-actions
Copy link
Copy Markdown
Contributor

🔍 Smart E2E Test Selection

  • Selected E2E tags: SmokeSwap, SmokeConfirmations
  • Selected Performance tags: None (no tests recommended)
  • Risk Level: low
  • AI Confidence: 90%
click to see 🤖 AI reasoning details

E2E Test Selection:
The changes are narrowly scoped to the Bridge slippage modal UI components (CustomSlippageModal and DefaultSlippageModal). Both modals replace the temporary HeaderCompactStandard component with the stable HeaderStandard from @metamask/design-system-react-native, and add a closeButtonProps with an accessibility label using a new localization string bridge.close. The en.json change adds only this one new string under the bridge namespace. The test files are updated to remove the now-unnecessary mock for HeaderCompactStandard and use the new localization key for accessibility label lookups. These changes affect the Bridge/Swap slippage modal flow, which is part of the swap/bridge trading flows covered by SmokeSwap. Per the SmokeSwap tag description, SmokeConfirmations must also be selected since transaction confirmations are part of the swap flow. No other areas are impacted — no controller changes, no navigation changes, no shared component changes that would affect other flows.

Performance Test Selection:
The changes are purely UI component replacements in the slippage modal (HeaderCompactStandard → HeaderStandard). There are no changes to list rendering, data loading, state management, app initialization, or any other performance-sensitive areas. No performance tests are warranted.

View GitHub Actions results

@codecov-commenter
Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 81.86%. Comparing base (3751d9a) to head (566ed03).
⚠️ Report is 211 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #29700      +/-   ##
==========================================
+ Coverage   81.54%   81.86%   +0.32%     
==========================================
  Files        5343     5434      +91     
  Lines      142128   144898    +2770     
  Branches    32411    33093     +682     
==========================================
+ Hits       115899   118623    +2724     
+ Misses      18299    18166     -133     
- Partials     7930     8109     +179     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@sonarqubecloud
Copy link
Copy Markdown

@brianacnguyen brianacnguyen added this pull request to the merge queue May 14, 2026
Merged via the queue into main with commit 39264fa May 14, 2026
98 of 100 checks passed
@brianacnguyen brianacnguyen deleted the refactor/headerstandard-titles-bridge branch May 14, 2026 22:36
@github-actions github-actions Bot locked and limited conversation to collaborators May 14, 2026
@metamaskbotv2 metamaskbotv2 Bot added the release-7.79.0 Issue or pull request that will be included in release 7.79.0 label May 14, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

no changelog required No changelog entry is required for this change No QA Needed Apply this label when your PR does not need any QA effort. release-7.79.0 Issue or pull request that will be included in release 7.79.0 size-S team-design-system All issues relating to design system in Mobile

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants