[Home Page] Getting Started - Hide empty for you#94698
Conversation
|
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 |
|
@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] |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c0a91f202d
ℹ️ 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".
|
@grgia 🦜 🙏 |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6a236a0305
ℹ️ 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".
|
🚧 grgia has triggered a test Expensify/App build. You can view the workflow run here. |
🦜 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/de.ts b/src/languages/de.ts
index dce08d9c3e0..958cd6c43f6 100644
--- a/src/languages/de.ts
+++ b/src/languages/de.ts
@@ -1046,6 +1046,18 @@ const translations: TranslationDeepObject<typeof en> = {
linkCompanyCards: 'Firmenkarten verknüpfen',
setupRules: 'Ausgabelimits einrichten',
inviteAccountant: 'Lade deine:n Steuerberater:in ein',
+ begin: 'Beginnen',
+ done: 'Fertig',
+ createWorkspaceSubText: 'Workspace bereit für die Einrichtung',
+ connectAccountingSubText: 'Kontenplan und mehr synchronisieren',
+ customizeCategoriesSubText: 'Fügen Sie Ihren Kontenplan hinzu',
+ inviteAccountantSubText: 'Beschleunigen Sie den Monatsabschluss',
+ linkCompanyCardsSubText: 'Auslagen automatisch importieren',
+ setupRulesSubText: 'Belege anfordern, hohe Ausgaben markieren und mehr',
+ needHelp: 'Brauchen Sie Hilfe?',
+ talkToConcierge: 'Mit Concierge chatten',
+ talkToAccountExecutive: 'Sprechen Sie mit Ihrer Kundenbetreuung',
+ forGuidedSetup: 'für die geführte Einrichtung.',
},
freeTrialSection: {
title: ({days}: {days: number}) => `Kostenlose Testversion: Noch ${days} ${days === 1 ? 'Tag' : 'Tage'}!`,
diff --git a/src/languages/es.ts b/src/languages/es.ts
index bc7d6593bb6..dd2878cbe6f 100644
--- a/src/languages/es.ts
+++ b/src/languages/es.ts
@@ -1019,6 +1019,17 @@ const translations: TranslationDeepObject<typeof en> = {
linkCompanyCards: 'Vincular tarjetas corporativas',
setupRules: 'Configurar reglas de gasto',
talkToAccountExecutive: 'Habla con tu ejecutivo de cuenta',
+ begin: 'Empezar',
+ done: 'Hecho',
+ createWorkspaceSubText: 'Espacio de trabajo listo para la configuración',
+ connectAccountingSubText: 'Sincroniza tu plan de cuentas y más',
+ customizeCategoriesSubText: 'Añade tu plan de cuentas',
+ inviteAccountantSubText: 'Acelera la contabilidad de fin de mes',
+ linkCompanyCardsSubText: 'Importa gastos automáticamente',
+ setupRulesSubText: 'Solicita recibos, resalta gastos de alto importe y mucho más',
+ needHelp: '¿Necesitas ayuda?',
+ talkToConcierge: 'Habla con Concierge',
+ forGuidedSetup: 'para la configuración guiada.',
},
upcomingTravel: 'Próximos viajes',
upcomingTravelSection: {
diff --git a/src/languages/fr.ts b/src/languages/fr.ts
index cdec1119830..886ac3c2af3 100644
--- a/src/languages/fr.ts
+++ b/src/languages/fr.ts
@@ -1062,6 +1062,18 @@ const translations: TranslationDeepObject<typeof en> = {
linkCompanyCards: 'Lier des cartes d’entreprise',
setupRules: 'Configurer les règles de dépense',
inviteAccountant: 'Inviter votre comptable',
+ begin: 'Commencer',
+ done: 'Terminé',
+ createWorkspaceSubText: 'Espace de travail prêt pour la configuration',
+ connectAccountingSubText: 'Synchronisez votre plan comptable et plus encore',
+ customizeCategoriesSubText: 'Ajoutez votre plan comptable',
+ inviteAccountantSubText: 'Accélérez la comptabilité de fin de mois',
+ linkCompanyCardsSubText: 'Importer automatiquement les dépenses',
+ setupRulesSubText: 'Exiger des reçus, signaler les dépenses élevées, et plus encore',
+ needHelp: 'Besoin d’aide ?',
+ talkToConcierge: 'Parler à Concierge',
+ talkToAccountExecutive: 'Parlez à votre chargé de compte',
+ forGuidedSetup: 'pour la configuration guidée.',
},
yourSpend: {
title: 'Vos dépenses',
diff --git a/src/languages/it.ts b/src/languages/it.ts
index a3aa7af002c..7c391a29ca4 100644
--- a/src/languages/it.ts
+++ b/src/languages/it.ts
@@ -1060,6 +1060,18 @@ const translations: TranslationDeepObject<typeof en> = {
linkCompanyCards: 'Collega carte aziendali',
setupRules: 'Configura le regole di spesa',
inviteAccountant: 'Invita il tuo commercialista',
+ begin: 'Inizia',
+ done: 'Fatto',
+ createWorkspaceSubText: 'Spazio di lavoro pronto per la configurazione',
+ connectAccountingSubText: 'Sincronizza il tuo piano dei conti e altro ancora',
+ customizeCategoriesSubText: 'Aggiungi il tuo piano dei conti',
+ inviteAccountantSubText: 'Accelera la contabilità di fine mese',
+ linkCompanyCardsSubText: 'Importa le spese automaticamente',
+ setupRulesSubText: 'Richiedi ricevute, segnala spese elevate e altro ancora',
+ needHelp: 'Hai bisogno di aiuto?',
+ talkToConcierge: 'Parla con Concierge',
+ talkToAccountExecutive: 'Parla con il tuo account executive',
+ forGuidedSetup: 'per la configurazione guidata.',
},
yourSpend: {
title: 'Le tue spese',
diff --git a/src/languages/ja.ts b/src/languages/ja.ts
index fad628bbb77..ef8646128b2 100644
--- a/src/languages/ja.ts
+++ b/src/languages/ja.ts
@@ -1046,6 +1046,18 @@ const translations: TranslationDeepObject<typeof en> = {
linkCompanyCards: '会社カードを連携',
setupRules: '支出ルールを設定',
inviteAccountant: '会計士を招待',
+ begin: '開始',
+ done: '完了',
+ createWorkspaceSubText: 'ワークスペースのセットアップを開始できます',
+ connectAccountingSubText: '勘定科目表などを同期します',
+ customizeCategoriesSubText: '勘定科目表を追加',
+ inviteAccountantSubText: '月次決算処理をスピードアップ',
+ linkCompanyCardsSubText: '経費を自動で取り込む',
+ setupRulesSubText: '領収書の提出必須設定や高額支出のフラグ付けなどを行えます',
+ needHelp: 'お困りですか?',
+ talkToConcierge: 'Concierge に問い合わせる',
+ talkToAccountExecutive: 'アカウントエグゼクティブに相談する',
+ forGuidedSetup: 'ガイド付きセットアップ用です。',
},
yourSpend: {
title: 'あなたの支出',
diff --git a/src/languages/nl.ts b/src/languages/nl.ts
index bacbd9f0ac3..5ff12a12704 100644
--- a/src/languages/nl.ts
+++ b/src/languages/nl.ts
@@ -1058,6 +1058,18 @@ const translations: TranslationDeepObject<typeof en> = {
linkCompanyCards: 'Bedrijfspassen koppelen',
setupRules: 'Uitgavenregels instellen',
inviteAccountant: 'Nodig je accountant uit',
+ begin: 'Begin',
+ done: 'Klaar',
+ createWorkspaceSubText: 'Werkruimte klaar voor configuratie',
+ connectAccountingSubText: 'Synchroniseer je rekeningschema en meer',
+ customizeCategoriesSubText: 'Voeg je grootboekschema toe',
+ inviteAccountantSubText: 'Versnel de maandafsluiting',
+ linkCompanyCardsSubText: 'Importeer uitgaven automatisch',
+ setupRulesSubText: 'Vereis bonnen, markeer hoge uitgaven en meer',
+ needHelp: 'Hulp nodig?',
+ talkToConcierge: 'Praat met Concierge',
+ talkToAccountExecutive: 'Praat met je accountmanager',
+ forGuidedSetup: 'voor begeleide installatie.',
},
yourSpend: {
title: 'Je uitgaven',
diff --git a/src/languages/pl.ts b/src/languages/pl.ts
index 56cc410a07f..29a7e23837a 100644
--- a/src/languages/pl.ts
+++ b/src/languages/pl.ts
@@ -1060,6 +1060,18 @@ const translations: TranslationDeepObject<typeof en> = {
linkCompanyCards: 'Połącz firmowe karty',
setupRules: 'Skonfiguruj zasady wydatków',
inviteAccountant: 'Zaproś swojego księgowego',
+ begin: 'Rozpocznij',
+ done: 'Gotowe',
+ createWorkspaceSubText: 'Miejsce pracy gotowe do konfiguracji',
+ connectAccountingSubText: 'Synchronizuj swój plan kont i więcej',
+ customizeCategoriesSubText: 'Dodaj swój plan kont',
+ inviteAccountantSubText: 'Przyspiesz księgowanie na koniec miesiąca',
+ linkCompanyCardsSubText: 'Importuj wydatki automatycznie',
+ setupRulesSubText: 'Wymagaj paragonów, oznaczaj duże wydatki i nie tylko',
+ needHelp: 'Potrzebujesz pomocy?',
+ talkToConcierge: 'Porozmawiaj z Concierge',
+ talkToAccountExecutive: 'Porozmawiaj ze swoim opiekunem klienta',
+ forGuidedSetup: 'z prowadzeniem konfiguracji.',
},
yourSpend: {
title: 'Twoje wydatki',
diff --git a/src/languages/pt-BR.ts b/src/languages/pt-BR.ts
index 47b2bb09044..e3c3db45268 100644
--- a/src/languages/pt-BR.ts
+++ b/src/languages/pt-BR.ts
@@ -1058,6 +1058,18 @@ const translations: TranslationDeepObject<typeof en> = {
linkCompanyCards: 'Vincular cartões corporativos',
setupRules: 'Configurar regras de gasto',
inviteAccountant: 'Convide seu contador',
+ begin: 'Começar',
+ done: 'Concluído',
+ createWorkspaceSubText: 'Espaço de trabalho pronto para configuração',
+ connectAccountingSubText: 'Sincronize seu plano de contas e muito mais',
+ customizeCategoriesSubText: 'Adicione seu plano de contas',
+ inviteAccountantSubText: 'Acelere o fechamento contábil do mês',
+ linkCompanyCardsSubText: 'Importar despesas automaticamente',
+ setupRulesSubText: 'Exigir recibos, sinalizar gastos altos e muito mais',
+ needHelp: 'Precisa de ajuda?',
+ talkToConcierge: 'Falar com o Concierge',
+ talkToAccountExecutive: 'Fale com seu executivo de contas',
+ forGuidedSetup: 'para configuração guiada.',
},
yourSpend: {
title: 'Seus gastos',
diff --git a/src/languages/zh-hans.ts b/src/languages/zh-hans.ts
index 0b46b7513ae..ca8b0d38028 100644
--- a/src/languages/zh-hans.ts
+++ b/src/languages/zh-hans.ts
@@ -1029,6 +1029,18 @@ const translations: TranslationDeepObject<typeof en> = {
linkCompanyCards: '关联公司卡',
setupRules: '设置消费规则',
inviteAccountant: '邀请你的会计',
+ begin: '开始',
+ done: '完成',
+ createWorkspaceSubText: '工作区已准备好进行设置',
+ connectAccountingSubText: '同步您的会计科目表等信息',
+ customizeCategoriesSubText: '添加科目表',
+ inviteAccountantSubText: '加快月末核算',
+ linkCompanyCardsSubText: '自动导入报销费用',
+ setupRulesSubText: '要求收据、标记高额支出等',
+ needHelp: '需要帮助吗?',
+ talkToConcierge: '与 Concierge 对话',
+ talkToAccountExecutive: '联系您的客户经理',
+ forGuidedSetup: '以获取引导式设置。',
},
yourSpend: {title: '您的支出', awaitingApproval: '等待审批', repaidLast30Days: '过去30天内已偿还', recentTransactions: ({lastFour}: {lastFour: string}) => `最近交易 • ${lastFour}`},
seeMore: ({count}: {count: number}) => `再查看 ${count} 个`,
Note You can apply these changes to your branch by copying the patch to your clipboard, then running |
This comment has been minimized.
This comment has been minimized.
grgia
left a comment
There was a problem hiding this comment.
nothing major, I ran the workflows
|
@adamgrzybowski I noticed that Can you also confirm that clicking Talk to your account executive/Concierge opens #admins in the RHP? |
|
@flaviadefaria confirming it opens #admins in RHP ✅ |
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.
|
|
@grgia I guess we need to wait for backend changes for the new NVP to test it fully |
|
@adamgrzybowski yep, next auth deploy. Did you make the nvp setting change? |
Reviewer Checklist
Screenshots/VideosAndroid: HybridApp2026-07-07.17.21.27.movAndroid: mWeb Chrome2026-07-07.17.28.53.moviOS: HybridApp2026-07-07.17.21.27.moviOS: mWeb Safari2026-07-07.17.28.53.movMacOS: Chrome / Safari2026-07-07.17.16.00.mov2026-07-07.17.12.22.mov |
|
Looking good! Once those final changes are done, I believe we can merge. |
The Getting Started row only needs the default Button import; no changes to the ButtonComposed barrel export are required for this PR.
Match the Concierge link to supporting label size and add vertical padding so it is easier to tap without mis-clicking the last onboarding row.
|
@ZhenjaHorbach shoul be fixed |
|
This has been fixed, but the fix does not cover the entire text 😅 2026-07-08.14.35.38.mov |
|
@ZhenjaHorbach, the blue part should be clickable, right? |
Blue, yes |
Wrap the entire need-help line in a pressable so users can open #admins without aiming at the link text alone.
|
@ZhenjaHorbach I just made the whole text clickable to make sure that doesn't happen |
|
Sorry for the confusion 😅 |
|
@flaviadefaria, we have a small problem shown here #94698 (comment) Press area behaves weirdly on mobile web. I am trying to figure out the root cause, but it may be a rabbit hole. So far, the most reliable and simplest solution would be to make the whole text pressable, not only the blue text. Do you think that would be okay from the product perspective? |
Yes, I think that's totally fine! |
|
Agree with Flavia 👍 |
|
✋ 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/grgia in version: 9.4.33-0 🚀
|
Help site review — changes required ✅This PR changes when the For you section renders on Home (hidden for newly onboarded users until their first submit/approve/export/pay to-do, then permanently visible). That contradicts the current Expensify Home Overview article, which states the section always appears and only "may appear empty." I opened a draft help site PR to fix it: #95842 What the docs PR updates
Not documented (intentional): the Getting started changes in this PR (top-left placement on web, per-step sub-text, and the "Need help? Talk to Concierge / Talk to your account executive" footer) are cosmetic/layout refinements that don't change the section's documented purpose or appearance conditions, so no article update was needed. @adamgrzybowski, please review the linked help site PR and confirm it reflects the current behavior. Then mark the linked help site PR |
Explanation of Change
Fixed Issues
$ #93092
PROPOSAL:
Tests
Offline tests
QA Steps
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)Avatar, 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.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
Screen.Recording.2026-06-29.at.17.15.51.mov