-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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] More features text #42662
[Wave Collect] [Xero] More features text #42662
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We repeated this piece of code few times, I think we should reuse it with an useCallback
?
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 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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Working through the checklist.
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.
With enablePolicyCategories it might make sense. Let me check.
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.
@lakchote Do you think it makes sense to move this code inside a useCallback?
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 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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. |
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.
LGTM 🚀
All yours @lakchote
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
Xero
or QBO..More Features
.Organize
section and try clicking on any of the switches.Manage settings
takes you to the Accounting page.Integrate
section 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 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
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