Conversation
Co-authored-by: Situ Chandra Shil <situchan@users.noreply.github.com>
This comment has been minimized.
This comment has been minimized.
| newFeature: 'New feature', | ||
| search: 'Search', | ||
| reports: 'Reports', | ||
| reports: 'Spend', |
There was a problem hiding this comment.
@MelvinBot this translation key is used in many places. Create new key: spend: 'Spend'
There was a problem hiding this comment.
Done! Reverted common.reports back to its original value ('Reports') and created a new common.spend: 'Spend' key. Updated SearchTabButton to use translate('common.spend') for the tab label. Translations added to all locale files.
…al value common.reports is used in many places, so instead of changing its value, create a new common.spend key and use it in SearchTabButton for the tab label. Co-authored-by: Situ Chandra Shil <situchan@users.noreply.github.com>
🦜 Polyglot Parrot! 🦜Squawk! Looks like you added some shiny new English strings. Allow me to parrot them back to you in other tongues: View the translation diffdiff --git a/src/languages/fr.ts b/src/languages/fr.ts
index 4c21d14c..4ac86802 100644
--- a/src/languages/fr.ts
+++ b/src/languages/fr.ts
@@ -110,7 +110,7 @@ const translations: TranslationDeepObject<typeof en> = {
newFeature: 'Nouvelle fonctionnalité',
search: 'Rechercher',
reports: 'Notes de frais',
- spend: 'Dépenses',
+ spend: 'Dépense',
find: 'Rechercher',
searchWithThreeDots: 'Rechercher...',
next: 'Suivant',
diff --git a/src/languages/it.ts b/src/languages/it.ts
index 374ad75e..e95d8df0 100644
--- a/src/languages/it.ts
+++ b/src/languages/it.ts
@@ -110,7 +110,7 @@ const translations: TranslationDeepObject<typeof en> = {
newFeature: 'Nuova funzionalità',
search: 'Cerca',
reports: 'Report',
- spend: 'Spese',
+ spend: 'Spesa',
find: 'Trova',
searchWithThreeDots: 'Cerca...',
next: 'Avanti',
diff --git a/src/languages/pt-BR.ts b/src/languages/pt-BR.ts
index 45c78b4e..bd290a73 100644
--- a/src/languages/pt-BR.ts
+++ b/src/languages/pt-BR.ts
@@ -110,7 +110,7 @@ const translations: TranslationDeepObject<typeof en> = {
newFeature: 'Novo recurso',
search: 'Buscar',
reports: 'Relatórios',
- spend: 'Gastos',
+ spend: 'Gastar',
find: 'Localizar',
searchWithThreeDots: 'Buscar...',
next: 'Próximo',
Note You can apply these changes to your branch by copying the patch to your clipboard, then running |
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
|
@MelvinBot there are more places to update copy: |
Co-authored-by: Situ Chandra Shil <situchan@users.noreply.github.com>
|
Updated all four locations to use
The only remaining |
|
@MelvinBot complete author checklist and mark as ready for review |
|
Completed the author checklist and marked the PR as ready for review. Non-applicable items (no new files, no new CSS, no new assets, no message editing, no generic component changes, no storybook, no deeplinks, no UI layout changes, no new pages, no unit tests needed for string/icon-only change) were marked as N/A. |
|
@MelvinBot check off all items in author checklist even if unrelated. Not |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppandroid.movAndroid: mWeb Chromemchrome.moviOS: HybridAppios.moviOS: mWeb Safarimsafari.movMacOS: Chrome / Safariweb.mov |
|
@MelvinBot replace this image:
/assets/images/home-testdrive-image.png Use this file: NewTestDriveImage.zip |
|
Going to kick off an adhoc! Also let's not merge this PR until we get the green light from @stephanieelliott |
|
🚧 @JmillsExpensify has triggered a test Expensify/App build. You can view the workflow run here. |
Co-authored-by: Situ Chandra Shil <situchan@users.noreply.github.com>
|
Replaced |
|
@arosiclair 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] |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
|
@shawnborton here's new look:
|
situchan
left a comment
There was a problem hiding this comment.
Looks good.
Hold merge as per #87974 (comment)
|
Looks good to me 👍 |
lakchote
left a comment
There was a problem hiding this comment.
Code looks good. Waiting for @stephanieelliott's approval
|
Looks super good. We will send the signal when we're ready to merge. Waiting on internal announcements and documentation. |
|
Love it! |
|
@MelvinBot pull main and fix conflict |
The conflict arose because main refactored SearchPageHeaderNarrow to handle breadcrumbLabel internally, while our branch changed the breadcrumbLabel prop at the call site. Resolved by taking main's version (isMobileSelectionModeEnabled prop) since the common.spend label change is already applied inside the component on main. Co-authored-by: Situ Chandra Shil <situchan@users.noreply.github.com>
|
Merged The conflict was because |
|
This PR is cleared to be merged to staging. We'll make the help/AZ updates today, and those goes straight production. |
|
I'll have the documentation updates all done today - I'll link the PR here so we can time that to merge the same time this PR hits prod. |
|
Help changes are ready in this PR: #88010 |
|
@lakchote Go ahead and merge this one if you're comfortable with the changes. |



Explanation of Change
Renames the left navigation tab and page header from "Reports" to "Spend" and updates the tab icon from
MoneySearchtoReceiptMultiple, as described in the linked issue. Only the user-facing page label is changed — workspace settings keys, internal identifiers (Sentry labels, telemetry spans, Onyx keys), and route URLs are intentionally left unchanged per the issue scope.Changes:
src/languages/en.ts: added newcommon.spendkey with value'Spend'src/languages/es.ts: added newcommon.spendkey with value'Gastos'generateTranslations.tssrc/components/Navigation/NavigationTabBar/SearchTabButton.tsx: icon changed fromMoneySearchtoReceiptMultiple, label changed fromcommon.reportstocommon.spendsrc/components/Navigation/SearchSidebar.tsx: breadcrumb label changed fromcommon.reportstocommon.spendsrc/components/Search/SearchPageHeader/SearchPageHeaderNarrow.tsx: breadcrumb label changed fromcommon.reportstocommon.spendsrc/components/Search/SearchPageHeader/SearchPageHeaderWide.tsx: fallback breadcrumb label changed fromcommon.reportstocommon.spendsrc/pages/Search/SearchPageNarrow/index.tsx: breadcrumb label changed fromcommon.reportstocommon.spendFixed Issues
$ #87969
PROPOSAL: #87969 (comment)
AI Tests
Ran by MelvinBot:
npx prettier --writeon changed files — passed (no formatting changes needed)npx eslint --max-warnings=0on changed files — passednpm run typecheck(tsc) — passednpm run prettier -- --log-level error— passednpx ts-node ./scripts/generateTranslations.ts --dry-run— passed (generated translations for all locale files)npm test -- --silent— started but did not complete within the CI time window (full test suite is very large; these changes are string-only and icon-only with no logic modifications)Human Tests
// TODO: The human co-author must fill out the tests you ran before marking this PR as "ready for review"
// Please describe what tests you performed that validates your changed worked.
Offline tests
N/A — this change is purely cosmetic (label text and icon). No network-dependent behavior is affected.
QA Steps
// TODO: The human co-author must fill out the QA tests you ran before marking this PR as "ready for review".
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
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari