-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(Wallet): add empty state and redesign wallet page #26406
feat(Wallet): add empty state and redesign wallet page #26406
Conversation
CLA Assistant Lite bot All contributors have signed the CLA ✍️ ✅ |
I have read the CLA Document and I hereby sign the CLA |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Left comments
b4562a5
to
5e42bb2
Compare
cc @grgia |
087829e
to
92e470f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good so far! Let's reuse patterns from WorkspaceListPage
@narefyev91 fix was applied successfully! |
0e47428
to
5a4a230
Compare
# Conflicts: # src/components/LottieAnimations.js # src/pages/settings/Wallet/WalletPage/BaseWalletPage.js fix(wallet): item styles not matching designs fix(wallet): PropTypes console errors fix(wallet): popover menu positioning issues fix(wallet): flags used to determine if the empty state should be shown refactor(wallet): code style # Conflicts: # src/pages/settings/Wallet/PaymentMethodList.js fix(wallet): accessing wrong onyx key to look for assigned cards fix(wallet): spanish translations refactor(wallet): apply code style guidelines refactor(wallet): differentiate old wallet from new version using URL # Conflicts: # src/ROUTES.ts # src/libs/Navigation/AppNavigator/ModalStackNavigators.js # src/libs/Navigation/linkingConfig.js add padding top prop to IlustratedHeaderPageLayout # Conflicts: # src/components/IllustratedHeaderPageLayout.js remove header top padding replace hardcoded values with references to SCREENS # Conflicts: # src/SCREENS.ts add scroll to WalletPage, disable scroll in PaymentMethodList lint code # Conflicts: # src/pages/settings/Wallet/PaymentMethodList.js chore: reduce FastMoney animation filesize chore: add wallet backgriound color to light theme refactor: wallet route refactor: remove unused prop refactor(wallet): remove unnecessary wrapper component fix(wallet): linter issue refactor(wallet): remove underscore dependency chore(wallet): use old wallet instead of new one # Conflicts: # src/libs/Navigation/AppNavigator/ModalStackNavigators.js chore: apply prettier # Conflicts: # src/SCREENS.ts chore(wallet): remove card item left padding fix(section): missing subtitle refactor(wallet): use constant screen name for wallet domain cards # Conflicts: # src/libs/Navigation/linkingConfig.js refactor(wallet): use constant screen name for wallet fix(wallet): screen wrapper adding unnecessary vertical padding # Conflicts: # src/pages/settings/Wallet/WalletPage/WalletPage.js fix(wallet): wrong display name type fix(wallet): missing testID for screen wrapper and unnecessary fragment fix(wallet): unused import fix(wallet): status bar background color fix(wallet): revert scrollview removal fix(wallet): wrong section border radius fix(wallet): wrong payment item height fix(wallet): console error with nested Flatlist inside a ScrollView # Conflicts: # src/pages/settings/Wallet/PaymentMethodList.js fix(wallet): section card item styles refactor(wallet): replace direct import from colors with themeColors fix(wallet): popover menu positioning fix(wallet): transfer balance button styles refactor(wallet): remove paypal references fix(wallet): adjust spacings inside wallet section fix(wallet): bank accounts section spacing chore(wallet): fix linter issues refactor: remove unused paypal route # Conflicts: # src/ROUTES.ts chore(wallet): remove old wallet page # Conflicts: # src/pages/settings/Wallet/WalletPage/BaseWalletPage.js chore: rebase with main branch fix(wallet): wrong lineHeight type
5a4a230
to
83fd154
Compare
@pac-guerreiro Hey - maybe something is mixed up - but on your latest branch i see this |
@narefyev91 let me check! |
@narefyev91 can you retest it again? |
@pac-guerreiro i still see the same issue |
6e68af9
to
7b09007
Compare
@narefyev91 thank you! I just applied your suggestion and confirmed that it works! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All outstanding items were fixed.
LGTM!
🎀 👀 🎀 C+ reviewed
🎯 @narefyev91, thanks for reviewing and testing this PR! 🎉 An E/App issue has been created to issue payment here: #29532. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for all your hard work on this one!
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
🚀 Deployed to staging by https://github.com/grgia in version: 1.3.84-0 🚀
|
@@ -3077,13 +3077,26 @@ const styles = (theme) => ({ | |||
}, | |||
|
|||
cardMenuItem: { | |||
paddingLeft: 8, | |||
paddingLeft: 0, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@pac-guerreiro any idea why we chnaged this to 0? it is causing design issues in other files
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Discussed 1:1, this should have stayed 8px, fixed
🚀 Deployed to production by https://github.com/francoisl in version: 1.3.84-10 🚀
|
🚀 Deployed to production by https://github.com/francoisl in version: 1.3.84-10 🚀
|
🚀 Deployed to staging by https://github.com/grgia in version: 1.3.85-0 🚀
|
🚀 Deployed to production by https://github.com/francoisl in version: 1.3.85-4 🚀
|
Details
This PR adds a new empty state to the wallet, when user has no bank account, assigned card or wallet, and redesigns the wallet page.
Docs: https://docs.google.com/document/d/1rFxJ78vz5On6zSWzYa51B9v-tyLdC5pUsBeLOLig0t4/edit#bookmark=id.659z4lc0lx22
Related issue: #22871
Tests
getComponent
forSCREENS.SETTINGS.WALLET
, inSettingsModalStackNavigator
to import the component from../../../pages/settings/Wallet/WalletPage/WalletPage
Offline tests
QA Steps
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)myBool && <MyComponent />
.src/languages/*
files and using the translation methodWaiting for Copy
label for a copy review on the original GH to get the correct copy.STYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)/** comment above it */
this
properly so there are no scoping issues (i.e. foronClick={this.submit}
the methodthis.submit
should be bound tothis
in the constructor)this
are necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);
ifthis.submit
is never passed to a component event handler likeonClick
)StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)ScrollView
component to make it scrollable when more elements are added to the page.main
branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTest
steps.Screenshots/Videos
Web
https://github.com/Expensify/App/assets/48553277/f401da4a-2ae8-4e6d-812c-bf043cba2a19
Mobile Web - Chrome
Wallet Page - Empty State
Wallet Page, with bank accounts and expensify wallet section
Wallet Page, with bank accounts section (user has no expensify wallet)
Mobile Web - Safari
Wallet Page - Empty State
Wallet Page, with bank accounts and expensify wallet section
Wallet Page, with bank accounts section (user has no expensify wallet)
Desktop
Wallet Page - Screen Recording
8mb.video-Ahi-I6bvGCa8.mp4
Wallet Page - Empty State
### Wallet Page, with bank accounts and expensify wallet section ### Wallet Page, with bank accounts section (user has no expensify wallet)iOS
Android
Wallet Page - Screen Recording
8mb.video-whm-7nEq5Zcc.mp4
Wallet Page - Empty State
Wallet Page, with bank accounts and expensify wallet section
Wallet Page, with bank accounts section (user has no expensify wallet)