-
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
[HOLD for payment 2024-09-21][$250] [Search v2.2] Keep status scroll position and update label sizes #47640
Comments
Triggered auto assignment to @mallenexpensify ( |
Unable to auto-create job on Upwork. The BZ team member should create it manually for this issue. |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @mananjadhav ( |
ProposalPlease re-state the problem that we are trying to solve in this issue.
What is the root cause of that problem?
What changes do you think we should make in order to solve the problem?
App/src/components/Search/SearchStatusBar.tsx Line 131 in d7c9087
What alternative solutions did you explore? (Optional)NA ResultScreen.Recording.2024-08-20.at.00.01.38.mov |
Updated proposal
|
If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results. If a regression has occurred and you are the assigned CM follow the instructions here. If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future. |
Edited by proposal-police: This proposal was edited at 2024-08-20 11:24:03 UTC. ProposalPlease re-state the problem that we are trying to solve in this issue.We want to fix 2 things.
What is the root cause of that problem?When we select the search type, for example Paid, the page loading which only renders the header and loading skeleton, App/src/components/Search/index.tsx Lines 195 to 206 in 6334d36
which means the SearchStatusBar is unmounted. App/src/components/Search/index.tsx Lines 314 to 329 in 6334d36
and when the loading is completed, a new SearchStatusBar instance is mounted. For the styling issue, it's just we don't apply the correct styling. What changes do you think we should make in order to solve the problem?To keep the SearchStatusBar mounted even when loading, we need to add SearchStatusBar when loading too. App/src/components/Search/index.tsx Lines 195 to 203 in 6334d36
Just like we did with an empty view too. App/src/components/Search/index.tsx Lines 220 to 233 in 6334d36
This way, the component tree for the header and status bar stays the same which prevents it from being unmounted.
For the Expenses button style issue, the button height is actually 42 instead of 40. We can update the pressable and view height here to 40. App/src/pages/Search/SearchTypeMenuNarrow.tsx Lines 67 to 76 in 6334d36
And to make the icon 16px, we need to pass App/src/pages/Search/SearchTypeMenuNarrow.tsx Lines 78 to 91 in 6334d36
Alternatively, we can replace the pressable with App/src/pages/Search/SearchTypeMenuNarrow.tsx Lines 67 to 103 in 6334d36
with
To scroll into the selected status every time we refresh or deeplink to the page, we can scroll to the button position when the component is first mounted. First, we can use
If the item isn't selected (isActive is false), then we don't scroll to that item. Also, we only want this to happen once, so we use |
Hi @nkdengineer and @bernhardoj, In this PR, we will be adding a loading skeleton to the status bar. According to this discussion, we will keep the status bar mounted while changing the status. The status bar skeleton will only be shown while loading or changing the type (e.g., expense, invoice, trip). Regarding the status scroll issue, We need to ensure that the selected status button (e.g., Paid status button) remains visible if we deeplink to a URL like https://dev.new.expensify.com:8082/search?q=type%3Aexpense%20status%3Apaid or when the page is refreshed. Could you please update your proposals based on these details? |
Updated my proposal to scroll to the selected status bar. |
same ^ |
Current assignee @rayane-djouah is eligible for the External assigner, not assigning anyone new. |
PR is ready cc: @rayane-djouah |
@luacmartins, @mallenexpensify, @bernhardoj, @rayane-djouah Uh oh! This issue is overdue by 2 days. Don't forget to update your issues! |
Payment Summary
BugZero Checklist (@mallenexpensify)
|
Payment due |
Requested in ND. |
@mallenexpensify can I get a payment summary? |
Contributor: @bernhardoj owed $250 via Upwork @bernhardoj can you please accept the job and reply here once you have? @rayane-djouah plz complete the BZ checklist. BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:
|
@mallenexpensify I've requested the payment via ND. |
$250 approved for @bernhardoj |
Checklist
Regression Test Proposal
Do we agree 👍 or 👎 |
@mallenexpensify - Applied to the Upwork job |
@rayane-djouah can you please accept the job and reply here once you have? Sorry, I thought I 'hired' you earlier, not just invited you. Test case created |
@mallenexpensify - Accepted, thank you! |
Thanks @rayane-djouah , you're paid, payment comment updated above. |
Coming from this PR, we need to address these comments:
Issue Owner
Current Issue Owner: @Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @mallenexpensifyThe text was updated successfully, but these errors were encountered: