Skip to content

feat: introduce Accounts Menu screen#25611

Merged
vinnyhoward merged 34 commits intomainfrom
feat-tmcu-397-account-menu
Feb 11, 2026
Merged

feat: introduce Accounts Menu screen#25611
vinnyhoward merged 34 commits intomainfrom
feat-tmcu-397-account-menu

Conversation

@vinnyhoward
Copy link
Copy Markdown
Contributor

@vinnyhoward vinnyhoward commented Feb 3, 2026

Description

Implements a new Accounts Menu screen as an intermediary page between the hamburger menu and settings, improving navigation organization for users. This is the first iteration and will eventually look like this

image

What is the reason for the change?
The settings section is difficult to navigate. This new page organizes settings into logical sections (Settings, Manage, Resources) to improve UX while we plan a full redesign.

What is the improvement/solution?
Created a new AccountsMenu screen with:

  • Settings navigation
  • Resources section (About MetaMask, Request Feature, Support)
  • Log out functionality
  • Analytics tracking for all interactions
  • Performance optimizations (memoized components, Tailwind styling)
  • Comprehensive test coverage (24 tests)

NOTE: There will be a follow up PR to address regression related E2E tests. I am working on them at this moment

Changelog

CHANGELOG entry: Added new Accounts Menu screen to organize settings navigation with Settings, Manage, and Resources sections

Related issues

Fixes: https://consensyssoftware.atlassian.net/browse/TMCU-397

Manual testing steps

Feature: Accounts Menu Navigation

  Scenario: user navigates from hamburger menu to settings
    Given user is on the main app screen
    When user taps the hamburger menu
    And user sees the new Accounts Menu screen
    Then user should see Settings, Manage, Resources sections
    
  Scenario: user accesses settings from Accounts Menu
    Given user is on the Accounts Menu screen
    When user taps "Settings"
    Then user should navigate to the Settings screen
    And analytics should track SETTINGS_VIEWED event
    
  Scenario: user logs out with confirmation
    Given user is on the Accounts Menu screen
    When user taps "Log Out"
    Then user should see a confirmation alert
    When user confirms logout
    Then app should lock
    And analytics should track NAVIGATION_TAPS_LOGOUT event
    
  Scenario: user cancels logout
    Given user is on the Accounts Menu screen
    When user taps "Log Out"
    And user taps "Cancel" on confirmation alert
    Then alert should dismiss
    And analytics should NOT track logout event

Screenshots/Recordings

First Iteration

image

Light

light.mov

Dark

dark.mov

Before

~

After

~

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

Medium Risk
Changes the app’s primary navigation path into settings and relocates logout/support links, which could cause regressions in deep links/back navigation and E2E flows despite added unit/snapshot coverage.

Overview
Introduces a new AccountsMenu screen that sits between the hamburger/menu entry and the existing settings pages, providing Manage and Resources sections (Settings, Contacts, optional MetaMask Card, optional Permissions, About, Request Feature, Support, and Log out) with associated analytics events and a logout confirmation flow.

Updates navigation so the Settings tab and SettingsFlow now land on Routes.ACCOUNTS_MENU_VIEW first, adds the new route constants, and removes the SDK connections section from SecuritySettings plus several resource/contact/logout rows from the Settings screen; tests, snapshots, and Detox page objects/smoke tests are updated accordingly.

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

Create new Accounts Menu as entry point from settings tab. Settings is now
a sub-screen accessible from the menu. Includes basic layout structure with
placeholder sections for Quick Actions, Manage, and Resources.
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 3, 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.

@metamaskbot metamaskbot added the team-mobile-ux Mobile UX team label Feb 3, 2026
@github-actions github-actions bot added the size-M label Feb 3, 2026
@github-actions github-actions bot added size-L and removed size-M labels Feb 4, 2026
@vinnyhoward vinnyhoward marked this pull request as ready for review February 5, 2026 22:21
@vinnyhoward vinnyhoward requested review from a team as code owners February 5, 2026 22:21
vinnyhoward and others added 3 commits February 6, 2026 09:05
Co-authored-by: Amanda Yeoh <147617420+amandaye0h@users.noreply.github.com>
Co-authored-by: Amanda Yeoh <147617420+amandaye0h@users.noreply.github.com>
Co-authored-by: Amanda Yeoh <147617420+amandaye0h@users.noreply.github.com>
@vinnyhoward vinnyhoward dismissed stale reviews from cortisiko, cryptodev-2s, and Cal-L via 63bc579 February 11, 2026 16:31
cryptodev-2s
cryptodev-2s previously approved these changes Feb 11, 2026
wachunei
wachunei previously approved these changes Feb 11, 2026
@vinnyhoward vinnyhoward dismissed stale reviews from wachunei and cryptodev-2s via cc6905d February 11, 2026 18:50
@github-actions
Copy link
Copy Markdown
Contributor

🔍 Smart E2E Test Selection

  • Selected E2E tags: SmokeAccounts, SmokeConfirmations, SmokeIdentity, SmokeNetworkAbstractions, SmokeNetworkExpansion, SmokeTrade, SmokeWalletPlatform, SmokeCard, SmokePerps, SmokeRamps, SmokeMultiChainAPI, SmokePredictions, FlaskBuildTests
  • Selected Performance tags: @PerformanceAccountList, @PerformanceOnboarding, @PerformanceLogin, @PerformanceSwaps, @PerformanceLaunch, @PerformanceAssetLoading, @PerformancePredict, @PerformancePreps
  • Risk Level: high
  • AI Confidence: %
click to see 🤖 AI reasoning details

E2E Test Selection:
Fallback: AI analysis did not complete successfully. Running all tests.

Performance Test Selection:
Fallback: AI analysis did not complete successfully. Running all performance tests.

View GitHub Actions results

@vinnyhoward vinnyhoward added the skip-sonar-cloud Only used for bypassing sonar cloud when failures are not relevant to the changes. label Feb 11, 2026
Copy link
Copy Markdown

@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.

Cursor Bugbot has reviewed your changes and found 3 potential issues.

@sonarqubecloud
Copy link
Copy Markdown

Copy link
Copy Markdown
Contributor

@Cal-L Cal-L left a comment

Choose a reason for hiding this comment

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

LGTM

@vinnyhoward vinnyhoward added this pull request to the merge queue Feb 11, 2026
Merged via the queue into main with commit 462fce8 Feb 11, 2026
197 of 200 checks passed
@vinnyhoward vinnyhoward deleted the feat-tmcu-397-account-menu branch February 11, 2026 20:27
@github-actions github-actions bot locked and limited conversation to collaborators Feb 11, 2026
@metamaskbot metamaskbot added the release-7.66.0 Issue or pull request that will be included in release 7.66.0 label Feb 11, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

release-7.66.0 Issue or pull request that will be included in release 7.66.0 size-XL skip-sonar-cloud Only used for bypassing sonar cloud when failures are not relevant to the changes. team-mobile-ux Mobile UX team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants