Fix: Expensify Card page in empty state has two scoll bars - #57588
Conversation
|
@hoangzinh 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] |
|
Is this ready for a @Expensify/design review? |
|
Yes @shawnborton ! |
|
Okay cool - I don't have any ECards on my accounts but I will at least generate a test build for easier testing. cc @hoangzinh to start the final review since the screenshots look pretty good. |
|
🚧 @shawnborton has triggered a test app build. You can view the workflow run here. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, Desktop, and Web. Happy testing! 🧪🧪
|
| headerStyles, | ||
| headerContentStyles, | ||
| lottieWebViewStyles, | ||
| showsVerticalScrollIndicator, |
There was a problem hiding this comment.
We should also remove type here
| > | ||
| {content.children} | ||
| </EmptyStateComponent> | ||
| <ScrollView> |
There was a problem hiding this comment.
| <ScrollView> | |
| <ScrollView showsVerticalScrollIndicator={false}> |
we should pass showsVerticalScrollIndicator={false} here. Can you double check other places?
There was a problem hiding this comment.
The default value of is true, so we only need to update it at this place, all other places pass it as true by default:
https://reactnative.dev/docs/scrollview#showsverticalscrollindicator
|
I was OoO most of last week, working on it today! |
|
resolving conflicts |
| addBottomSafeAreaPadding={addBottomSafeAreaPadding} | ||
| addOfflineIndicatorBottomSafeAreaPadding={addOfflineIndicatorBottomSafeAreaPadding} |
There was a problem hiding this comment.
@hoangzinh we don't need to add these values to individual scrollViews as the default value for these are false in scrollview:
App/src/components/ScrollView.tsx
Lines 16 to 22 in 4750e38
Also don't pass them as true in any usage of EmptyStateComponent, so we are good with this change
Reviewer Checklist
Screenshots/VideosAndroid: NativeScreen.Recording.2025-03-24.at.22.45.06.movAndroid: mWeb ChromeScreen.Recording.2025-03-24.at.22.03.45.android.chrome.moviOS: NativeScreen.Recording.2025-03-24.at.22.19.20.ios.moviOS: mWeb SafariScreen.Recording.2025-03-24.at.22.06.28.ios.safari.movMacOS: Chrome / SafariScreen.Recording.2025-03-24.at.21.59.18.web.movMacOS: DesktopScreen.Recording.2025-03-24.at.22.01.32.desktop.mov |
|
@twilight2294 can you put "Verify that There will be one scroll bar in Expensify Card page in empty state." as 2nd step? |
|
Done ! |
|
thanks! |
|
✋ 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/robertjchen in version: 9.1.19-0 🚀
|
|
🚀 Deployed to production by https://github.com/cristipaval in version: 9.1.19-5 🚀
|
| > | ||
| {content.children} | ||
| </EmptyStateComponent> | ||
| <ScrollView showsVerticalScrollIndicator={false}> |
There was a problem hiding this comment.
We should also migrate the style from the previous EmptyStateComponent, otherwise it will cause an UI issue here
Explanation of Change
Fixed Issues
$ #56690
PROPOSAL: #56690 (comment)
Tests
Same as QA
Offline tests
Same as QA
QA Steps
Precondition:
Test:
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)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
Screen_recording_20250309_133638.mp4
Android: mWeb Chrome
Screen_recording_20250309_133758.mp4
iOS: Native
Simulator.Screen.Recording.-.Expensify.testing.-.2025-03-09.at.13.33.15.mp4
iOS: mWeb Safari
Simulator.Screen.Recording.-.Expensify.testing.-.2025-03-09.at.13.29.24.mp4
MacOS: Chrome / Safari
Screen.Recording.2025-03-09.at.11.33.27.AM.mov
MacOS: Desktop
Screen.Recording.2025-03-09.at.1.31.45.PM.mov