[Wave Collect] [Xero] More features text#42662
[Wave Collect] [Xero] More features text#42662lakchote merged 18 commits intoExpensify:xero-merge-freezefrom
Conversation
web-connection-modal.mov |
|
This is looking so good so far, but I'll await final review for when the PR is ready 😄 |
| if (hasAccountingConnection) { | ||
| setConnectionWarningModalState({ | ||
| isOpen: true, | ||
| itemType: 'organize', | ||
| }); | ||
| return; | ||
| } |
There was a problem hiding this comment.
We repeated this piece of code few times, I think we should reuse it with an useCallback?
There was a problem hiding this comment.
I am not sure if it is necessary, we're not relying on the previous state that we really need to put it inside useCallback. The hasAccountingConnection is also dependent on the prop.
And about repetition, it's a setState call. I could wrap it inside the method but looks like an overkill.
There was a problem hiding this comment.
I think we should, including Policy.enablePolicyCategories(policy?.id ?? '', isEnabled); line below.
Also can you complete the checklist please 😄 ?
There was a problem hiding this comment.
Working through the checklist.
There was a problem hiding this comment.
With enablePolicyCategories it might make sense. Let me check.
There was a problem hiding this comment.
@lakchote Do you think it makes sense to move this code inside a useCallback?
There was a problem hiding this comment.
I do agree with @mananjadhav, I don't think there's a benefit here to use useCallback(). It's not a computational intensive operation, we're just setting state. It can be tempting to use it to avoid repetition, but using these memorized functions come at a cost on intial render. Given the fact it's just setting state, I'd say it's a premature optimization scenario and we can keep it that way.
Happy to be proven wrong though, if you can give me arguments proving me otherwise @hungvu193 😄
There was a problem hiding this comment.
I think that's fine though. We can keep it this way :)
|
@rojiphil Please ignore this PR. @hungvu193 is already reviewing it. |
|
@mananjadhav There will be an edge case where the modal is showing but we disconnect our Xero (or QBO) from other devices. Do you think it's worth fixing? |
I don't think so. This behavior exists in all pages. Take Delete workspace for example. |
|
Looking good to me! |
Reviewer Checklist
Screenshots/VideosAndroid: Nativeandroid.movAndroid: mWeb ChromemChrome.moviOS: Nativeios.moviOS: mWeb SafarimSafari.movMacOS: Chrome / Safarichrome.movMacOS: Desktopdesktop.mov |
|
Are we running with that copy? I thought we landed on this in the end:
|
|
Ohh I wasn't aware. I am afk right now. But I can update the copy. I relied on the GH comment here. So the ones attached are the final ones? |
|
Can you drop these in and then I'm tagging @Gonals @pecanoro for a second opinion! Not so fast... No tan rápido... Not so fast... No tan rápido... |
|
I've updated the videos with the new copy. For Spanish I've only posted for Web and mWeb Safari. |
|
I believe our standard is to not treat the user as "usted", so a slight change: Not so fast... No tan rápido... Not so fast... No tan rápido... Plus, is the second English one wrong? It seems like a duplicate of the first one 😕 |
|
Thanks for the copy @Gonals. Can you and @trjExpensify check, I've updated. And yes the second copy in English is duplicated. It is actually
|
|
Ah, let's capitalize |
|
@Gonals Done.
|
|
🚀 Deployed to staging by https://github.com/lakchote in version: 1.4.77-11 🚀
|
|
🚀 Deployed to staging by https://github.com/lakchote in version: 1.4.77-11 🚀
|
|
🚀 Deployed to production by https://github.com/mountiny in version: 1.4.78-5 🚀
|




Details
Fixed Issues
$ #42644
PROPOSAL:
Tests
Tests
Connected Integration
Xeroor QBO..More Features.Organizesection and try clicking on any of the switches.Manage settingstakes you to the Accounting page.Integratesection and the following modal shows up.Not Connected Integration
More Features.Offline tests
N/A
QA Steps
Same as QA Steps.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)myBool && <MyComponent />.src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
With new copy
android-connection-modal.mov
Old Video
android-connection-modal.mov
Android: mWeb Chrome
With new copy
mweb-chrome-connection-modal.mov
Old Video
mweb-chrome-connection-modal.mov
iOS: Native
With new copy
ios-connection-modal.mov
Old Video
ios-connection-modal.mov
iOS: mWeb Safari
With new copy
mweb-safari-connection-modal.mov
Spanish Translations
Old Video
mweb-safari-connection-modal.mov
MacOS: Chrome / Safari
With new copy
web-connection-modal.mov
New Spanish Translations
Modal with off switch state
off-state-modal.mov
Old Video
https://github.com/Expensify/App/assets/3069065/29b5a8b1-7851-4ed7-8a18-d5cec097d366
web-connection-modal-2.mov
MacOS: Desktop
With new copy
desktop-connection-modal.mov
Old Video
desktop-connection-modal.mov