Repository navigation
Conversation
…cted expense Co-authored-by: Krishna <[email protected]>
|
I created this PR from an upstream branch because I don't have push access to your fork. To take ownership of this branch and push updates, run: Then you can close this PR and open a new one from your fork. |
🦜 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 7cabe5d0..79af5ece 100644
--- a/src/languages/de.ts
+++ b/src/languages/de.ts
@@ -10168,10 +10168,7 @@ Fügen Sie weitere Ausgabelimits hinzu, um den Cashflow Ihres Unternehmens zu sc
title: 'Keine zu bezahlenden Ausgaben',
subtitle: 'Glückwunsch! Du hast die Ziellinie überquert.',
},
- emptyRejectedResults: {
- title: 'Keine abgelehnten Ausgaben',
- subtitle: 'Nichts zu korrigieren. Gute Arbeit!',
- },
+ emptyRejectedResults: {title: 'Keine abgelehnten Ausgaben', subtitle: 'Nichts zu beheben. Gute Arbeit!'},
emptyExportResults: {
title: 'Keine Spesen zum Exportieren',
subtitle: 'Zeit, es ruhig angehen zu lassen – gute Arbeit.',
diff --git a/src/languages/el.ts b/src/languages/el.ts
index 0091b941..2a80863e 100644
--- a/src/languages/el.ts
+++ b/src/languages/el.ts
@@ -10374,10 +10374,7 @@ ${reportName}`,
title: 'Δεν υπάρχουν έξοδα προς πληρωμή',
subtitle: 'Συγχαρητήρια! Περάσατε τη γραμμή τερματισμού.',
},
- emptyRejectedResults: {
- title: 'Δεν υπάρχουν απορριφθέντα έξοδα',
- subtitle: 'Τίποτα για διόρθωση. Μπράβο!',
- },
+ emptyRejectedResults: {title: 'Καμία απορριφθείσα δαπάνη', subtitle: 'Δεν υπάρχει τίποτα προς διόρθωση. Μπράβο!'},
emptyExportResults: {
title: 'Δεν υπάρχουν έξοδα για εξαγωγή',
subtitle: 'Ώρα να χαλαρώσετε, μπράβο σας.',
diff --git a/src/languages/es.ts b/src/languages/es.ts
index 886e5eba..ee55ab59 100644
--- a/src/languages/es.ts
+++ b/src/languages/es.ts
@@ -10005,10 +10005,7 @@ ${reportName}`,
title: 'No hay gastos para pagar',
subtitle: '¡Felicidades! Has cruzado la línea de meta.',
},
- emptyRejectedResults: {
- title: 'No hay gastos rechazados',
- subtitle: 'Nada que corregir. ¡Buen trabajo!',
- },
+ emptyRejectedResults: {title: 'No hay gastos rechazados', subtitle: 'Nada que corregir. ¡Buen trabajo!'},
emptyExportResults: {
title: 'No hay gastos para exportar',
subtitle: 'Es hora de relajarse, buen trabajo.',
diff --git a/src/languages/fr.ts b/src/languages/fr.ts
index b09157f4..50df5b33 100644
--- a/src/languages/fr.ts
+++ b/src/languages/fr.ts
@@ -10198,10 +10198,7 @@ Ajoutez davantage de règles de dépenses pour protéger la trésorerie de l’e
title: 'Aucune dépense à payer',
subtitle: 'Félicitations ! Vous avez franchi la ligne d’arrivée.',
},
- emptyRejectedResults: {
- title: 'Aucune dépense rejetée',
- subtitle: 'Rien à corriger. Beau travail !',
- },
+ emptyRejectedResults: {title: 'Aucune dépense rejetée', subtitle: 'Rien à corriger. Beau travail !'},
emptyExportResults: {
title: 'Aucune dépense à exporter',
subtitle: 'Il est temps de se détendre, beau travail.',
diff --git a/src/languages/it.ts b/src/languages/it.ts
index 4b1aa31f..cbf8dee2 100644
--- a/src/languages/it.ts
+++ b/src/languages/it.ts
@@ -10119,10 +10119,7 @@ Aggiungi altre regole di spesa per proteggere il flusso di cassa aziendale.`,
title: 'Nessuna spesa da pagare',
subtitle: 'Congratulazioni! Hai tagliato il traguardo.',
},
- emptyRejectedResults: {
- title: 'Nessuna spesa rifiutata',
- subtitle: 'Niente da correggere. Ottimo lavoro!',
- },
+ emptyRejectedResults: {title: 'Nessuna spesa rifiutata', subtitle: 'Niente da correggere. Bel lavoro!'},
emptyExportResults: {
title: 'Nessuna spesa da esportare',
subtitle: 'È il momento di rilassarsi, bel lavoro.',
diff --git a/src/languages/ja.ts b/src/languages/ja.ts
index e7bfac7a..10a67aa5 100644
--- a/src/languages/ja.ts
+++ b/src/languages/ja.ts
@@ -9976,10 +9976,7 @@ ${reportName}`,
title: '支払う経費はありません',
subtitle: 'おめでとうございます!ゴールに到達しました。',
},
- emptyRejectedResults: {
- title: '却下された経費はありません',
- subtitle: '修正が必要なものはありません。お疲れさまでした!',
- },
+ emptyRejectedResults: {title: '却下された経費はありません', subtitle: '修正する必要はありません。よくできました!'},
emptyExportResults: {
title: 'エクスポートする経費はありません',
subtitle: 'ひと休みする時間です、お疲れさまでした。',
diff --git a/src/languages/nl.ts b/src/languages/nl.ts
index 7c2a8a01..b8c9ee2f 100644
--- a/src/languages/nl.ts
+++ b/src/languages/nl.ts
@@ -10086,10 +10086,7 @@ er bestedingsregels toe om de kasstroom van het bedrijf te beschermen.`,
title: 'Geen uitgaven om te betalen',
subtitle: 'Gefeliciteerd! Je hebt de finish gehaald.',
},
- emptyRejectedResults: {
- title: 'Geen afgekeurde uitgaven',
- subtitle: 'Niets om te corrigeren. Goed gedaan!',
- },
+ emptyRejectedResults: {title: 'Geen afgewezen uitgaven', subtitle: 'Niets om te corrigeren. Goed gedaan!'},
emptyExportResults: {
title: 'Geen uitgaven om te exporteren',
subtitle: 'Tijd om rustig aan te doen, goed gedaan.',
@@ -10341,7 +10338,7 @@ er bestedingsregels toe om de kasstroom van het bedrijf te beschermen.`,
submit: 'Concepten',
approve: 'Moet worden goedgekeurd',
pay: 'Klaar om te betalen',
- rejected: 'Afgekeurd',
+ rejected: 'Afgewezen',
accounting: 'Boekhouding',
export: 'Wachten op export',
unapprovedCash: 'Kasverplichtingen',
diff --git a/src/languages/pl.ts b/src/languages/pl.ts
index 1e78be91..cee39008 100644
--- a/src/languages/pl.ts
+++ b/src/languages/pl.ts
@@ -10096,10 +10096,7 @@ Dodaj więcej zasad wydatków, żeby chronić płynność finansową firmy.`,
title: 'Brak wydatków do opłacenia',
subtitle: 'Gratulacje! Przekroczyłeś linię mety.',
},
- emptyRejectedResults: {
- title: 'Brak odrzuconych wydatków',
- subtitle: 'Nie ma nic do poprawienia. Dobra robota!',
- },
+ emptyRejectedResults: {title: 'Brak odrzuconych wydatków', subtitle: 'Nie ma nic do poprawy. Dobra robota!'},
emptyExportResults: {
title: 'Brak wydatków do wyeksportowania',
subtitle: 'Czas trochę odetchnąć, dobra robota.',
@@ -10357,7 +10354,7 @@ Dodaj więcej zasad wydatków, żeby chronić płynność finansową firmy.`,
submit: 'Szkice',
approve: 'Wymaga zatwierdzenia',
pay: 'Gotowe do zapłaty',
- rejected: 'Odrzucone',
+ rejected: 'Odrzucono',
accounting: 'Księgowość',
export: 'Oczekuje na eksport',
unapprovedCash: 'Rozliczenia kasowe',
diff --git a/src/languages/pt-BR.ts b/src/languages/pt-BR.ts
index 775f3ee5..ed247663 100644
--- a/src/languages/pt-BR.ts
+++ b/src/languages/pt-BR.ts
@@ -10083,10 +10083,7 @@ Adicione mais regras de gasto para proteger o fluxo de caixa da empresa.`,
title: 'Nenhuma despesa para pagar',
subtitle: 'Parabéns! Você cruzou a linha de chegada.',
},
- emptyRejectedResults: {
- title: 'Nenhuma despesa rejeitada',
- subtitle: 'Nada para corrigir. Bom trabalho!',
- },
+ emptyRejectedResults: {title: 'Nenhuma despesa rejeitada', subtitle: 'Nada para corrigir. Bom trabalho!'},
emptyExportResults: {
title: 'Nenhuma despesa para exportar',
subtitle: 'Hora de relaxar, bom trabalho.',
diff --git a/src/languages/zh-hans.ts b/src/languages/zh-hans.ts
index ea3662ec..e8f0f5d0 100644
--- a/src/languages/zh-hans.ts
+++ b/src/languages/zh-hans.ts
@@ -9709,10 +9709,7 @@ ${reportName}`,
title: '暂无可支付的报销',
subtitle: '恭喜!你已冲过终点线。',
},
- emptyRejectedResults: {
- title: '暂无被拒绝的报销',
- subtitle: '没有需要修正的内容。干得好!',
- },
+ emptyRejectedResults: {title: '没有被拒绝的报销', subtitle: '没有需要修复的地方。干得好!'},
emptyExportResults: {
title: '没有可导出的报销费用',
subtitle: '该放松一下了,干得不错。',
Note You can apply these changes to your branch by copying the patch to your clipboard, then 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.
|
Co-authored-by: Krishna <[email protected]>
|
Fixed the failing
|
|
🤖 Web test steps verification results: ✅ pass The Rejected suggested search appears only after a rejection, stays visible after the rejection is resolved, and opens
|










Explanation of Change
Users lose track of expenses after they are rejected. This PR adds a Rejected suggested search to the Expense reports section of the Search left-hand nav, so users can find those expenses.
type:expense declined:yes, using the Rejected filter added in [Payment due @QichenZhu] Add Rejected search filter for expenses and expense reports. It uses the sameThumbsDownicon as the Rejected filter chip.useHasRejectedExpensehook returns true when any transaction has the rejected-expense violation (hasTransactionBeenRejected). It also returns true when any report was rejected as a whole (hasReportBeenRejectedToSubmitter), because whole-report rejections don't add per-transaction violations. Both checks use boolean Onyx selectors, so the nav only re-renders when the answer changes.useSearchTypeMenuSectionssets a newnvp_hasSeenRejectedSuggestedSearchNVP. This follows thenvp_hasSeenForYouTodopattern. The item then stays visible even after every rejection is resolved, so it doesn't appear and disappear.getSuggestedSearchesVisibility/createTypeMenuSectionstake a newshouldShowRejectedSuggestionflag. The item has its own empty state and translations in all locales.Not included in this PR:
held:yesfilter hasn't merged yet. It's still a draft in Add Held search filter for expenses. Held can follow the same pattern once that PR lands.Open questions for reviewers:
nvp_hasSeenRejectedSuggestedSearchNVP is written throughSetNameValuePair. An internal engineer should confirm the backend accepts this NVP name.declined:yes, which I couldn't verify from the App repo.Fixed Issues
$ #103339
PROPOSAL: #103339 (comment)
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
QA Steps
// TODO: The human co-author must fill out the QA tests you ran before marking this PR as "ready for review".
// Please describe what QA needs to do to validate your changes and what areas do they need to test for regressions.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectionAvatar, I verified the components usingAvatarare working as expected)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