Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ function MoneyRequestPreviewContent({

const getDisplayAmountText = (): string => {
if (isScanning) {
return translate('iou.receiptScanning');
return translate('iou.receiptScanning', {count: 1});
}

if (isFetchingWaypointsFromServer && !requestAmount) {
Expand Down
2 changes: 1 addition & 1 deletion src/components/ReportActionItem/ReportPreview.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -286,7 +286,7 @@ function ReportPreview({
return CurrencyUtils.convertToDisplayString(totalDisplaySpend, iouReport?.currency);
}
if (isScanning) {
return translate('iou.receiptScanning');
return translate('iou.receiptScanning', {count: numberOfScanningReceipts});
}
if (hasOnlyTransactionsWithPendingRoutes) {
return translate('iou.fieldPending');
Expand Down
5 changes: 4 additions & 1 deletion src/languages/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -883,7 +883,10 @@ const translations = {
pendingMatchWithCreditCardDescription: 'Receipt pending match with card transaction. Mark as cash to cancel.',
markAsCash: 'Mark as cash',
routePending: 'Route pending...',
receiptScanning: 'Receipt scanning...',
receiptScanning: () => ({
one: 'Receipt scanning...',
other: 'Receipts scanning...',
}),
receiptScanInProgress: 'Receipt scan in progress',
receiptScanInProgressDescription: 'Receipt scan in progress. Check back later or enter the details now.',
receiptIssuesFound: () => ({
Expand Down
5 changes: 4 additions & 1 deletion src/languages/es.ts
Original file line number Diff line number Diff line change
Expand Up @@ -883,7 +883,10 @@ const translations = {
other: 'Problemas encontrados',
}),
fieldPending: 'Pendiente...',
receiptScanning: 'Escaneando recibo...',
receiptScanning: () => ({
one: 'Escaneando recibo...',
other: 'Escaneando recibos...',
}),
receiptScanInProgress: 'Escaneado de recibo en proceso',
receiptScanInProgressDescription: 'Escaneado de recibo en proceso. Vuelve a comprobarlo más tarde o introduce los detalles ahora.',
defaultRate: 'Tasa predeterminada',
Expand Down
16 changes: 12 additions & 4 deletions src/libs/ReportUtils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3553,7 +3553,7 @@ function getTransactionReportName(reportAction: OnyxEntry<ReportAction | Optimis
}

if (TransactionUtils.hasReceipt(transaction) && TransactionUtils.isReceiptBeingScanned(transaction)) {
return Localize.translateLocal('iou.receiptScanning');
return Localize.translateLocal('iou.receiptScanning', {count: 1});
}

if (TransactionUtils.hasMissingSmartscanFields(transaction)) {
Expand Down Expand Up @@ -3598,6 +3598,14 @@ function getReportPreviewMessage(
const report = typeof reportOrID === 'string' ? getReport(reportOrID) : reportOrID;
const reportActionMessage = ReportActionsUtils.getReportActionHtml(iouReportAction);

if (!report?.reportID) {
return reportActionMessage;
}

const allReportTransactions = TransactionUtils.getAllReportTransactions(report.reportID);
const transactionsWithReceipts = allReportTransactions.filter(TransactionUtils.hasReceipt);
const numberOfScanningReceipts = transactionsWithReceipts.filter(TransactionUtils.isReceiptBeingScanned).length;

if (isEmptyObject(report) || !report?.reportID) {
// The iouReport is not found locally after SignIn because the OpenApp API won't return iouReports if they're settled
// As a temporary solution until we know how to solve this the best, we just use the message that returned from BE
Expand All @@ -3613,7 +3621,7 @@ function getReportPreviewMessage(

if (!isEmptyObject(linkedTransaction)) {
if (TransactionUtils.isReceiptBeingScanned(linkedTransaction)) {
return Localize.translateLocal('iou.receiptScanning');
return Localize.translateLocal('iou.receiptScanning', {count: 1});
}

if (TransactionUtils.hasMissingSmartscanFields(linkedTransaction)) {
Expand All @@ -3635,7 +3643,7 @@ function getReportPreviewMessage(

if (!isEmptyObject(linkedTransaction)) {
if (TransactionUtils.isReceiptBeingScanned(linkedTransaction)) {
return Localize.translateLocal('iou.receiptScanning');
return Localize.translateLocal('iou.receiptScanning', {count: 1});
}

if (TransactionUtils.hasMissingSmartscanFields(linkedTransaction)) {
Expand Down Expand Up @@ -3670,7 +3678,7 @@ function getReportPreviewMessage(
}

if (!isEmptyObject(linkedTransaction) && TransactionUtils.hasReceipt(linkedTransaction) && TransactionUtils.isReceiptBeingScanned(linkedTransaction)) {
return Localize.translateLocal('iou.receiptScanning');
return Localize.translateLocal('iou.receiptScanning', {count: numberOfScanningReceipts});
}

if (!isEmptyObject(linkedTransaction) && TransactionUtils.isFetchingWaypointsFromServer(linkedTransaction) && !TransactionUtils.getAmount(linkedTransaction)) {
Expand Down