-
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
fix loading indicator when the app is loading #56314
Conversation
@hungvu193 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] |
@shawnborton Here is the result
![]()
![]() |
Here is the reason I added the |
I guess that makes sense, but I don't understand why the loading bar isn't using absolute positioning. Either way, @hungvu193 can you please move forward with the review here? |
I think @getusha is the correct reviewer here, I can do review if @getusha can't do it. |
Ah okay either way works for me, let's just try to get this one reviewed soon if we can. Thanks! |
will review this. Having trouble building for native. |
Reviewer Checklist
Screenshots/VideosAndroid: NativeScreen.Recording.2025-02-09.at.12.38.59.in.the.afternoon.movAndroid: mWeb ChromeScreen.Recording.2025-02-09.at.12.33.01.in.the.afternoon.moviOS: NativeScreen.Recording.2025-02-09.at.12.40.38.in.the.afternoon.moviOS: mWeb SafariScreen.Recording.2025-02-09.at.12.30.58.in.the.afternoon.movMacOS: Chrome / SafariScreen.Recording.2025-02-09.at.12.29.59.in.the.afternoon.movMacOS: DesktopScreen.Recording.2025-02-09.at.12.35.18.in.the.afternoon.mov |
Oh good spotting. We generally have a 12px padding on all content but this seems like an exception. I feel like adding 12px padding between the button and loading bar would make it too big. Part of me wonder if it should be under the Keen to hear if the designers have any ideas |
@getusha Added paddingTop 12px for the search bar in the small screen, Screen.Recording.2025-02-11.at.00.54.37.mov |
Hmm I guess the gap between the tabs and the expense rows is quite small. I think I would lean on just adding the 12px gap above the "Expenses" dropdown button for consistency with other pages? Then we should really revisit our header heights like we talked about previously. Even just making everything consistent at 72px tall would be a good place to start (and then this way we don't have the difference between 72 and 80 like we do now) |
Yeah I agree—let's go ahead and add the 12px like in the video. And then separately, we should make everything consistent at 72px. |
Great plan. Agree with that 👍 |
@shawnborton I fixed this bug. cc @getusha |
ca88da9
to
32e5e85
Compare
@SzymczakJ I see that this component has ![]() |
Setting |
Thanks, let me check it. |
@shawnborton All good now. ![]()
@SzymczakJ It also works well. @getusha Friendly bump. |
Nice, yeah let's get this into final review then. |
🚧 @shawnborton has triggered a test 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! 🧪🧪 |
It looks good for me on iOS and web. Video with scrolling: ScreenRecording_02-21-2025.14-31-43_1.mov |
Amazing, let's get this thing into final review then cc @getusha. Thanks for your patience with our back and forth @nkdengineer |
On it, will test and approve today |
@@ -3753,7 +3753,7 @@ const styles = (theme: ThemeColors) => | |||
}, | |||
|
|||
narrowSearchHeaderStyle: { | |||
paddingTop: 1, | |||
paddingTop: 12, |
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.
Not sure why we adjusted this but it's causing this:
Screen.Recording.2025-02-21.at.10.59.16.at.night.mov
Component appears to be cut off.
This is before:
cc @shawnborton if this is something we'd want to fix.
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.
@getusha What is the bug here, the empty state component is scrollable, and when the height is not enough, it will appear like this. Without this padding, you can also see the cut off in the device with small height.
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.
Good catches on all of that, we want to fix these things for sure.
For the new search input on desktop, maybe we can put the loading bar underneath it in the gap between the search input and the tabs?
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.
Or actually I'd be curious to see it at the very very top of the view even, on the top edge of the screen. Let's see what @Expensify/design thinks about that one since we don't have a standard page header on this particular page.
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'd definitely be down to see it at the very top.
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 could have sworn we were showing it there for Reports/Search previously though? Otherwise yeah, we only show it in the MCP (lol) on mobile when a chat is loading I think...
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 feel like we've gone around a few places here, but I like the video above where it shows only in LHN area 👍
I see what you wanted with the top there Shawn, but I feel like I'd rather then explore one of the first explorations I did where it was always at the top. But then again, I think that's just a completely different thing. Would prefer it to stay in a consistent place as much as possible
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.
Totally agree, I think keeping the loading bar in the LHN for reports makes sense and I love that it translates well to mobile placement too.
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 love that it translates well to mobile placement too.
@shawnborton It's worked well, see this comment #56314 (comment).
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.
Agree! Let's start final reviewing this one cc @getusha
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.
Looks 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.
The code looks good to me, thank you for the explanation of all the changes @nkdengineer, it was very helpful while reviewing. Going to merge 🚀
✋ 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/srikarparsi in version: 9.1.10-0 🚀
|
🚀 Deployed to production by https://github.com/mountiny in version: 9.1.10-6 🚀
|
Did this PR cause this bug? #58284 cc @nkdengineer |
Explanation of Change
fix loading indicator when the app is loading
Fixed Issues
$ #55842
PROPOSAL:
Tests
Offline tests
Same
QA Steps
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)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
Screen.Recording.2025-02-04.at.17.16.02.mov
Android: mWeb Chrome
Screen.Recording.2025-02-04.at.17.11.02.mov
iOS: Native
Screen.Recording.2025-02-04.at.17.14.03.mov
iOS: mWeb Safari
Screen.Recording.2025-02-04.at.17.12.03.mov
MacOS: Chrome / Safari
Screen.Recording.2025-02-04.at.17.09.03.mov
MacOS: Desktop
Screen.Recording.2025-02-04.at.17.19.11.mov