Skip to content

feat: show private key list as full screen#28703

Open
gantunesr wants to merge 1 commit intomainfrom
gar/feat/private-key-list-full-screen
Open

feat: show private key list as full screen#28703
gantunesr wants to merge 1 commit intomainfrom
gar/feat/private-key-list-full-screen

Conversation

@gantunesr
Copy link
Copy Markdown
Member

@gantunesr gantunesr commented Apr 11, 2026

Description

The multichain private key list previously used a BottomSheet and transparent modal presentation. It now uses the same full-screen pattern as Address List: HeaderCompactStandard via useLayoutEffect / navigation.setOptions, a flex root, and slide-in card options on the parent stack screen.

Cancel uses navigation.goBack() instead of closing a sheet. BottomSheet-specific code (gesture scroll ref context, RNGH ScrollView wrapper for FlashList, panGestureHandlerProps) was removed.

Changelog

CHANGELOG entry: Updated multichain private key list to open as a full screen instead of a bottom sheet

Related issues

Fixes:

Manual testing steps

Feature: Multichain private key list full screen

  Scenario: Open private key list from account group
    Given the user is on multichain account group details with a wallet that supports exported keys

    When the user opens the private key list flow and enters the wallet password
    Then the screen is full screen with a back control in the header and the address list scrolls as expected

    When the user taps Cancel before unlocking
    Then the app navigates back to the previous screen

Screenshots/Recordings

Before

N/A

After

Screen.Recording.2026-04-10.at.9.57.29.PM.mov

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 navigation/presentation for the private key export flow, which is security-sensitive UX, and could impact back navigation/animations across platforms. No changes to key export/verification logic, so risk is mainly in routing and layout behavior.

Overview
Updates the multichain private key list flow to open as a full-screen card instead of a bottom sheet/transparent modal.

The PrivateKeyList view now configures a standard header via navigation.setOptions (including a dedicated back button testID) and uses navigation.goBack() for cancel/back behavior, removing all BottomSheet/gesture-scroll plumbing.

The parent navigator route for Routes.MULTICHAIN_ACCOUNTS.PRIVATE_KEY_LIST is updated to use an explicit slide-in card animation and non-transparent background, matching the full-screen presentation.

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

Replace BottomSheet with stack header + full-screen layout aligned with
AddressList. Remove sheet gesture scroll wiring and transparent modal
presentation.

Made-with: Cursor
@gantunesr gantunesr self-assigned this Apr 11, 2026
@metamaskbot metamaskbot added the team-accounts-framework Accounts team label Apr 11, 2026
@github-actions
Copy link
Copy Markdown
Contributor

🔍 Smart E2E Test Selection

⏭️ Smart E2E selection skipped - draft PR

All E2E tests pre-selected.

View GitHub Actions results

@gantunesr gantunesr changed the title feat(multichain-accounts): show private key list as full screen feat: show private key list as full screen Apr 11, 2026
@gantunesr gantunesr marked this pull request as ready for review April 11, 2026 01:59
@gantunesr gantunesr requested a review from a team as a code owner April 11, 2026 01:59
@github-actions
Copy link
Copy Markdown
Contributor

E2E Fixture Validation — Schema is up to date
17 value mismatches detected (expected — fixture represents an existing user).
View details

@sonarqubecloud
Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
0.0% Coverage on New Code (required ≥ 80%)

See analysis details on SonarQube Cloud

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants