Skip to content

Conversation

@bogdandobritoiu
Copy link
Contributor

@bogdandobritoiu bogdandobritoiu commented Nov 20, 2025

Description

Ticket: CP-12309
Ticket: CP-12312

Please provide:

Wallet overview screen

  • refactored the UI
  • improved the ListScreen header + content calculations for animations
  • Created a component WalletList which is shared from both manage accounts and portfolio. There is a slight difference in the screen background color + WalletCard style for this new screen vs manage accounts
  • Updated the BalanceHeader on Portfolio to show the wallet name above the balance
  • Sort accounts by useRecentAccounts in each wallet

Screenshots/Videos

Simulator.Screen.Recording.-.26.-.2025-11-24.at.18.02.08.mov
Screen_recording_20251124_190505.webm

Testing

Dev Testing (if applicable)

iOS - 6639
Android - 6640

Single Wallet

  1. Press the balance to open up the new screen
  2. Verify the screen is working as expected (same functionality as old manage accounts)
  3. Verify add account below the wallet accounts list

Multiple wallets

  1. add a new wallet using seed phrase
  2. Verify if wallet name + icon shows up on portfolio
  3. Toggle between accounts to see them getting sorted by last accessed account
  4. Add another wallet and try adding new accounts
  5. Switch between accounts with multiple wallets

QA Testing (if applicable)

  • Provide instructions for QA to test this feature thoroughly
  • State expected behavior / acceptance criteria

Checklist

Please check all that apply (if applicable)

  • I have performed a self-review of my code
  • I have verified the code works
  • I have included screenshots / videos of android and ios
  • I have added testing steps
  • I have added/updated necessary unit tests
  • I have updated the documentation

@bogdandobritoiu bogdandobritoiu marked this pull request as ready for review November 24, 2025 17:24
])

const renderWalletIcon = useCallback((): JSX.Element => {
if (walletIcon === 'ledger') {
Copy link
Contributor

Choose a reason for hiding this comment

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

nice touch here, love this

import { selectIsPrivacyModeEnabled } from 'store/settings/securityPrivacy'

export const WalletBalance = ({
// wallet,
Copy link
Contributor

Choose a reason for hiding this comment

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

can we remove this?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We need this to display the new wallet balance implementation

balanceSx,
variant = 'spinner'
}: {
// wallet: Wallet
Copy link
Contributor

Choose a reason for hiding this comment

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

same here

Copy link
Contributor Author

Choose a reason for hiding this comment

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

it's for integrating the new wallet balance request

const isBalanceAccurate = true
const isLoadingBalance = false
const refetchBalance = useCallback(() => {
// dispatch(refetchBalanceForAccount(account.id))
Copy link
Contributor

Choose a reason for hiding this comment

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

any reason to keep this commented out? is it related to the Todo above?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yes, it's for integrating the new wallet balance request

const { formatCurrency } = useFormatCurrency()

// TODO: get wallet balance
const walletBalance = 74235
Copy link
Contributor

Choose a reason for hiding this comment

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

guess we dont want to keep these hardcoded values in?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, iit's for integrating the new wallet balance request

balanceSx={{
color: isActive ? colors.$textPrimary : colors.$textSecondary
}}
// wallet={wallet}
Copy link
Contributor

Choose a reason for hiding this comment

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

feel like we should pass the wallet in here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

it's for the wallet balance integration

@bogdandobritoiu
Copy link
Contributor Author

Also added reused useRecentAccounts to sort the accounts based off latest accessed account

Simulator.Screen.Recording.-.26.-.2025-11-24.at.23.02.42.mov

@bogdandobritoiu
Copy link
Contributor Author

Added accordion animation

Simulator.Screen.Recording.-.26.-.2025-11-25.at.19.37.32.mov

@bogdandobritoiu
Copy link
Contributor Author

new dev builds
iOS - 6644
Android - 6645

B0Y3R-AVA
B0Y3R-AVA previously approved these changes Nov 26, 2025
B0Y3R-AVA
B0Y3R-AVA previously approved these changes Nov 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants