Add collapsible Spend sidebar#91974
Conversation
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
d814ac4 to
da13d13
Compare
|
@eVoloshchak 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] |
|
🚧 @dubielzyk-expensify has triggered a test Expensify/App build. You can view the workflow run here. |
This comment has been minimized.
This comment has been minimized.
|
This is a wonderful start and work quite well. Great job on this so far. There's a jump in the table that happens when we collapse. Can you help get rid of this? CleanShot.2026-05-29.at.12.12.57.mp4 |
|
There's also a question if we should store some sort of NVP to keep your choice of collapsing persistent across sessions. I think it'd be nice, but not sure if it's crucial. Curious if @trjExpensify or @Expensify/design has any opinions here |
|
I think that would be nice, as it doesn't survive a page refresh which is a bit annoying. |
|
When I try to interact with the button to expand/collapse, I feel like I'm chasing it because on hover the side pane moves. I wonder if we should have that hover area over the icon remain static? Might be a terrible idea... but here's me on the chase: 2026-05-29_03-27-44.mp4 |
|
I get this feeling. I had it during prototype. It's the nature of the peeking functionality. Do you mean that we shouldn't collapse it until you hover out of the sidebar? Or do you mean that there's an invisible button that allows you to click the same spot to expand it? I think the reality is that people aren't gonna turn it off and on all the time, but I still feel you on this feedback cause it does feel a bit off. Another solution could be that when it's in the collapsed state and you peek, then it only collapses again on a tiny bit of a delay. That way if you hover over the edge and back again it doesn't instantly go away. |
|
Re: the chasing feeling, I think I agree, and one idea could be to move the icon to the left of the word Spend? This way the icon never actually moves. That might not look as good though, but it would solve the problem. |
|
@KJ21-ENG, this doesn't look right, the list doesn't fit the entire screen. Screen.Recording.2026-06-04.at.09.45.20.mov |
|
Looking into it ASAP 👀 |
|
We hide the sidebar icon if the corresponding section is collapsed, which means it looks like this when all of the sections are collapsed
Screen.Recording.2026-06-04.at.09.45.20.mov@shawnborton, @dubielzyk-expensify, does this look like expected? |
Yup, I actually do think that's expected. |
@eVoloshchak fixed the list width regression and pushed the update. We already had this resize behavior working earlier by keeping the To fix it, I restored the cell-level Screen.Recording.2026-06-04.at.2.41.46.PM.mov |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppN/A, sidebar is not visible on narrow layout Android: mWeb ChromeN/A, sidebar is not visible on narrow layout iOS: HybridAppN/A, sidebar is not visible on narrow layout iOS: mWeb SafariN/A, sidebar is not visible on narrow layout MacOS: Chrome / SafariScreen.Recording.2026-06-05.at.01.17.41.mov |
eVoloshchak
left a comment
There was a problem hiding this comment.
LGTM!
Besides a tiny correction at #91974 (comment)
|
@codex review please |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5e9b796a1b
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
ezyZip.8.mp4 |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚧 @blimpich has triggered a test Expensify/App build. You can view the workflow run here. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
|
🚀 Deployed to staging by https://github.com/blimpich in version: 9.4.0-0 🚀
Bundle Size Analysis (Sentry): |
Help site review — no docs changes requiredI reviewed this PR against the help articles under Why: This is a desktop-only, layout-only enhancement. It lets the Spend sidebar collapse to a 76px icon rail (with hover-to-peek) and expand again. It does not add, remove, or change any user-facing workflow, setting, or capability that the help site documents — the same sections, searches, and actions remain reachable whether the sidebar is expanded or collapsed. Collapsible panels of this kind are self-explanatory UI affordances that our help articles intentionally don't document. What I checked
If you'd still like an article (or a short FAQ entry) added to call out the collapsible Spend sidebar, reply with @KJ21-ENG, I did not create a help site PR because no documentation changes are required for this layout-only change. Please confirm you agree with this assessment, or let me know if you'd like a docs article drafted anyway. |
|
Deploy Blocker #92816 was identified to be related to this PR. |
|
Deploy Blocker ##92819 was identified to be related to this PR |
|
🚀 Deployed to production by https://github.com/Julesssss in version: 9.4.0-7 🚀
|






Explanation of Change
Adds the desktop Spend sidebar collapse/expand behavior behind the Spend search page. The sidebar now starts expanded, can be collapsed to a 76px icon rail, temporarily peeks open on hover over the collapsed rail, keeps section accordions available when expanded, and shifts the main Spend content only for the persisted expanded/collapsed state.
Fixed Issues
$ #91553
PROPOSAL: #91553 (comment)
Tests
Offline tests
N/A. This is a desktop layout-only change for the Spend sidebar and does not add or change network-dependent behavior.
QA Steps
Same as Tests.
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))npm run compress-svg)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
N/A - desktop-only Spend sidebar behavior.
Android: mWeb Chrome
N/A - desktop-only Spend sidebar behavior.
iOS: Native
N/A - desktop-only Spend sidebar behavior.
iOS: mWeb Safari
N/A - desktop-only Spend sidebar behavior.
MacOS: Chrome / Safari
Screen.Recording.2026-05-29.at.3.08.50.AM.mov