Skip to content

Conversation

@brianacnguyen
Copy link
Contributor

@brianacnguyen brianacnguyen commented Oct 24, 2025

Description

This PR implements a full-screen Tokens view accessible from the wallet's Tokens tab, providing users with an expanded view of their token portfolio. The feature includes a "View all tokens" button that appears when the token list is truncated, allowing users to navigate to a dedicated full-screen tokens page with enhanced navigation and layout.

Key improvements:

  • Enhanced User Experience: Users can now access a full-screen tokens view for better visibility and interaction
  • Improved Navigation: Seamless navigation between the tab view and full-screen view
  • Better Layout: Full-screen view utilizes the entire screen real estate for token management
  • Consistent UI: Maintains existing functionality while providing expanded access

Changelog

CHANGELOG entry: Added full-screen Tokens view accessible via "View all tokens" button in wallet

Related issues

Fixes: https://consensyssoftware.atlassian.net/jira/software/c/projects/DSYS/boards/1888?selectedIssue=DSYS-245

Manual testing steps

Feature: Tokens Full Page

  Scenario: User can access full-screen tokens view
    Given the user is on the Wallet page
    And the Tokens tab is selected
    And there are more tokens than the display limit

    When the user clicks on "View all tokens" button
    Then they should be navigated to the Tokens Full View page
    And the page should display all tokens in a full-screen layout
    And the back button should return them to the wallet

  Scenario: User can navigate back from full-screen view
    Given the user is on the Tokens Full View page

    When the user clicks the back button
    Then they should return to the Wallet page
    And the Tokens tab should remain selected

  Scenario: Full-screen view maintains existing functionality
    Given the user is on the Tokens Full View page

    When the user interacts with tokens (refresh, filter, sort)
    Then all existing token functionality should work as expected
    And the UI should be consistent with the tab view

Screenshots/Recordings

Before

After

Tokens Full View

Simulator.Screen.Recording.-.iPhone.15.Pro.Max.-.2025-10-24.at.09.18.25.mp4

Tokens Tab still functional

Simulator.Screen.Recording.-.iPhone.15.Pro.Max.-.2025-10-24.at.09.19.46.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

Adds a full-screen Tokens view accessible via a new "View all tokens" button and route, with layout/refactors to token list, control bar, and Add Asset header plus tests and i18n.

  • Wallet UI:
    • Full-screen Tokens view: New Views/TokensFullView with header/back; wired into MainNavigator and Routes.WALLET.TOKENS_FULL_VIEW.
    • Token list UX: TokenList gains maxItems, optional flashListProps, and a "wallet.view_all_tokens" button that navigates to TokensFullView.
    • Tokens layout: UI/Tokens supports isFullView (padding/safe area), passes flashListProps, and uses design-system Box/Tailwind; progressive loading unchanged.
  • Controls/Styling:
    • TokenListControlBar and shared BaseControlBar accept optional style prop for outer wrapper spacing.
    • Minor bottom sheet wrapper cleanup in token filter/sort sheets.
  • Add Asset:
    • Replaces navbar options with BottomSheetHeader (back button/title) in Views/AddAsset.
  • Navigation:
    • Registers TokensFullView and moves AddAsset stack entry; updates snapshots.
  • Tests/I18n:
    • New TokensFullView.test.tsx; updates to Tokens and AddAsset tests/snapshots.
    • Adds wallet.view_all_tokens string in en.json.

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

@brianacnguyen brianacnguyen requested a review from a team as a code owner October 24, 2025 16:41
@github-actions
Copy link
Contributor

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-design-system All issues relating to design system in Mobile label Oct 24, 2025
cursor[bot]

This comment was marked as outdated.

@brianacnguyen brianacnguyen self-assigned this Oct 24, 2025
@brianacnguyen brianacnguyen added the no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed label Oct 24, 2025
cursor[bot]

This comment was marked as outdated.

@github-actions github-actions bot added size-M and removed size-L labels Oct 24, 2025
cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

@github-actions github-actions bot added size-L and removed size-M labels Oct 27, 2025
cursor[bot]

This comment was marked as outdated.

@sonarqubecloud
Copy link

Comment on lines +79 to +82
const backButton = getByTestId('header').find(
(element) => element.type?.toString() === 'TouchableOpacity',
);
backButton?.props.onPress();
Copy link
Contributor

Choose a reason for hiding this comment

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

Could we give the back button a test-id, would make it easier to test here.

await useEvent.press(getByTestId('back-button'))
expect(mockGoBack).toHaveBeenCalled()

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Will address these in a follow up PR

@brianacnguyen brianacnguyen added the No QA Needed Apply this label when your PR does not need any QA effort. label Oct 28, 2025
@brianacnguyen brianacnguyen added this pull request to the merge queue Oct 28, 2025
auto-merge was automatically disabled October 28, 2025 14:50

Pull Request is not mergeable

Merged via the queue into main with commit 8a1991b Oct 28, 2025
87 checks passed
@brianacnguyen brianacnguyen deleted the feat/tokens-full-page branch October 28, 2025 15:01
@github-actions github-actions bot locked and limited conversation to collaborators Oct 28, 2025
@metamaskbot metamaskbot added the release-7.59.0 Issue or pull request that will be included in release 7.59.0 label Oct 28, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

No QA Needed Apply this label when your PR does not need any QA effort. no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed release-7.59.0 Issue or pull request that will be included in release 7.59.0 size-L team-design-system All issues relating to design system in Mobile

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants