Standardize Expense Report and Expense header with predictable button placement and carousel counter - #97005
Conversation
… placement and carousel counter
|
Hey, I noticed you changed If you want to automatically generate translations for other locales, an Expensify employee will have to:
Alternatively, if you are an external contributor, you can run the translation script locally with your own OpenAI API key. To learn more, try running: npx ts-node ./scripts/generateTranslations.ts --helpTypically, you'd want to translate only what you changed by running |
Codecov Report❌ Looks like you've decreased code coverage for some files. Please write tests to increase, or at least maintain, the existing level of code coverage. See our documentation here for how to interpret this table.
|
|
@Eskalifer1 @JS00001 One of you needs to 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] |
|
I think @ShridharGoel will review this PR |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 26b8dea34a
ℹ️ 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".
|
Hi @JS00001, please unassign me here, i am the second C+ here :) |
|
If my review isn't needed, please unassign me as well. Thanks. |
|
@thelullabyy Can you address the bot comments? |
|
Running a build on Android for @ShridharGoel per https://expensify.slack.com/archives/C07NMDKEFMH/p1785991789653329?thread_ts=1785759425.031899&cid=C07NMDKEFMH |
|
🚧 trjExpensify has triggered a test Expensify/App build. You can view the workflow run here. |
This comment has been minimized.
This comment has been minimized.
|
🚧 JS00001 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! 🧪🧪
|
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
Deploy Blocker #98192 was identified to be related to this PR. |
|
Deploy Blocker ##98193 was identified to be related to this PR |
|
Deploy Blocker #98196 was identified to be related to this PR |
|
Deploy Blocker #98200 was identified to be related to this PR |
|
🚀 Deployed to staging by https://github.com/JS00001 in version: 9.4.52-0 🚀
|
Help site review: no changes required 🟢I reviewed the changes in this PR against the help site articles under Why: This PR is a visual/layout standardization of the expense report and expense headers — it moves the report action buttons down next to the next-steps line, always renders the carousel counter with a consistent What I checked
Since no changes are required, I did not create a draft help site PR, apply the @thelullabyy — this is a UI-only standardization with no documented behavior to update, so there's no linked help site PR to review. If you believe a specific article should call out the new header/carousel behavior, let me know which one and I'll draft the update. |
|
🚀 Deployed to production by https://github.com/roryabraham in version: 9.4.52-11 🚀
Bundle Size Analysis (Sentry): |
Explanation of Change
Fixed Issues
$ #90366
PROPOSAL: N/A
Tests
Log in with a test account that has access to a paid workspace with multiple expense reports and expenses
Have these in your test workspace:
Offline tests
QA Steps
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
Screen.Recording.2026-05-17.at.23.29.29.mov
Bug: #96563
Android: mWeb Chrome
Screen.Recording.2026-05-17.at.23.25.25.mov
iOS: Native
iOS: mWeb Safari
Screen.Recording.2026-05-17.at.23.21.16.mov
MacOS: Chrome / Safari
Screen.Recording.2026-05-17.at.23.15.10.mov
Bug: #96545
Screen.Recording.2026-07-27.at.20.19.00.mov
Bug: #96548
Bug: #96566
Screen.Recording.2026-07-27.at.21.06.31.mov
Bug: #96575