-
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
[Wave Collect][Xero][Advanced] Bill Payment Account Selector #41690
[Wave Collect][Xero][Advanced] Bill Payment Account Selector #41690
Conversation
|
@alitoshmatov Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
…bill-payment-account
@Expensify/design please provide design feedback. Thank you! :) |
displayName={XeroBillPaymentAccountSelectorPage.displayName} | ||
sections={[{data: xeroSelectorOptions}]} | ||
listItem={RadioListItem} | ||
shouldBeBlocked={!syncReimbursedReports} |
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.
NAB, we should also add more condition here to address the case when Xero is disconnected
const connectedIntegration = accountingIntegrations.find((integration) => !!policy?.connections?.[integration]) ?? connectionSyncProgress?.connectionName;
const policyConnectedToXero = connectedIntegration === CONST.POLICY.CONNECTIONS.NAME.XERO;
shouldBeBlocked={!syncReimbursedReports || !policyConnectedToXero}
We can do this as a follow up since we will need to update other screens as well.
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.
Agreed. This is required in all the screens.
const selectedBillPaymentAccountName = useMemo(() => { | ||
const selectedAccount = (bankAccounts ?? []).find((bank) => bank.id === reimbursementAccountID); | ||
|
||
return selectedAccount?.name ?? ''; | ||
}, [bankAccounts, reimbursementAccountID]); |
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.
NAB, both selectedBillPaymentAccountName
and selectedBankAccountName
have the same logic. Should we reuse it by creating a new function and passing reimbursementAccountID
or invoiceCollectionsAccountID
as a parameter?
I think it can be like this:
const getSelectedBankAccount = useMemo((bankAccountId) => {
const selectedAccount = (bankAccounts ?? []).find((bank) => bank.id === bankAccountId);
return selectedAccount?.name ?? '';
}, [bankAccounts]);
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.
Agreed, will update.
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.
I've created an issue for that, and will handle it once this PR gets merged.
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.
Updated to common useMemo
Hola, we need Spanish translations! English translation: DeepL spanish translation: Does this look correct to you? |
Reviewer Checklist
Screenshots/VideosAndroid: NativeScreen.Recording.2024-05-07.at.15.29.13.movAndroid: mWeb ChromeiOS: NativeScreen.Recording.2024-05-07.at.15.19.25.moviOS: mWeb SafariScreen.Recording.2024-05-07.at.15.17.33.movMacOS: Chrome / Safarichrome.movMacOS: Desktopdesk.mov |
Design-wise I think this looks pretty good! |
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.
Only one small change left. Tested well!
We did not find an internal engineer to review this PR, trying to assign a random engineer to #39751 as well as to this PR... Please reach out for help on Slack if no one gets assigned! |
@hungvu193 @lakchote @hayata-suenaga I've updated the PR and also fixed the Chart of Accounts padding. |
@pecanoro The translations have been updated. Can you take a final look? |
@mananjadhav because of merge freeze, could you please switch the PR target to |
@rushatgabhane done. |
@lakchote All yours! |
you fixed this one, right in this PR? thanks! |
Yes @hayata-suenaga |
🚀 Deployed to staging by https://github.com/lakchote in version: 1.4.74-0 🚀
|
🚀 Deployed to production by https://github.com/chiragsalian in version: 1.4.74-6 🚀
|
Details
Fixed Issues
$ #39751
$ #41754
PROPOSAL:
Tests
Precondition:
Test steps
Offline tests
Same as Test steps
QA Steps
Same as Test steps
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)myBool && <MyComponent />
.src/languages/*
files and using the translation methodSTYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)Design
label and/or tagged@Expensify/design
so the design team can review the changes.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
Android: Native
android-xero-bill-payment-account.mov
Android: mWeb Chrome
mweb-bill-payment-account-selector.mov
iOS: Native
ios-xero-bill-payment-account.mov
iOS: mWeb Safari
mweb-safari-xero-bill-payment-account.mov
MacOS: Chrome / Safari
web-advanced-bill-payment.mov
MacOS: Desktop
desktop-xero-bill-payment-account.mov