From dc578e90bbe32533273408ae71faab4fc1109651 Mon Sep 17 00:00:00 2001 From: Monil Bhavsar Date: Mon, 13 May 2024 19:03:56 +0530 Subject: [PATCH 1/5] Remove uncessary checks and improve checks --- src/components/MoneyRequestConfirmationList.tsx | 4 ++-- src/libs/actions/IOU.ts | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/components/MoneyRequestConfirmationList.tsx b/src/components/MoneyRequestConfirmationList.tsx index 2fdd79b1a71c..c5d80bb51346 100755 --- a/src/components/MoneyRequestConfirmationList.tsx +++ b/src/components/MoneyRequestConfirmationList.tsx @@ -374,8 +374,8 @@ function MoneyRequestConfirmationList({ const taxAmount = getTaxAmount(transaction, policy).toString(); const amountInSmallestCurrencyUnits = CurrencyUtils.convertToBackendAmount(Number.parseFloat(taxAmount)); - if (transaction?.taxAmount && previousTransactionAmount === transaction?.amount && previousTransactionCurrency === transaction?.currency) { - return IOU.setMoneyRequestTaxAmount(transaction?.transactionID, transaction?.taxAmount, true); + if (transaction?.taxAmount !== null && previousTransactionAmount === transaction?.amount && previousTransactionCurrency === transaction?.currency) { + return IOU.setMoneyRequestTaxAmount(transactionID, transaction?.taxAmount ?? 0, true); } IOU.setMoneyRequestTaxAmount(transactionID, amountInSmallestCurrencyUnits, true); diff --git a/src/libs/actions/IOU.ts b/src/libs/actions/IOU.ts index 8e76c781bd7f..e688dca535b2 100644 --- a/src/libs/actions/IOU.ts +++ b/src/libs/actions/IOU.ts @@ -2847,7 +2847,7 @@ type UpdateMoneyRequestTaxRateParams = { transactionID: string; optimisticReportActionID: string; taxCode: string; - taxAmount?: number; + taxAmount: number; policy: OnyxEntry; policyTagList: OnyxEntry; policyCategories: OnyxEntry; @@ -2857,7 +2857,7 @@ type UpdateMoneyRequestTaxRateParams = { function updateMoneyRequestTaxRate({transactionID, optimisticReportActionID, taxCode, taxAmount, policy, policyTagList, policyCategories}: UpdateMoneyRequestTaxRateParams) { const transactionChanges = { taxCode, - ...(taxAmount && {taxAmount}), + taxAmount, }; const {params, onyxData} = getUpdateMoneyRequestParams(transactionID, optimisticReportActionID, transactionChanges, policy, policyTagList, policyCategories, true); API.write('UpdateMoneyRequestTaxRate', params, onyxData); @@ -5062,7 +5062,7 @@ function updateMoneyRequestAmountAndCurrency({ const transactionChanges = { amount, currency, - ...(taxAmount && {taxAmount}), + taxAmount, }; const transactionThreadReport = allReports?.[`${ONYXKEYS.COLLECTION.REPORT}${transactionThreadReportID}`] ?? null; const parentReport = allReports?.[`${ONYXKEYS.COLLECTION.REPORT}${transactionThreadReport?.parentReportID}`] ?? null; From 45368b3b46eb6d00c948f24ed534c0141a49a2a1 Mon Sep 17 00:00:00 2001 From: Monil Bhavsar Date: Mon, 13 May 2024 19:59:10 +0530 Subject: [PATCH 2/5] Add a check for null --- src/libs/actions/IOU.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libs/actions/IOU.ts b/src/libs/actions/IOU.ts index e688dca535b2..a86967bf9eb1 100644 --- a/src/libs/actions/IOU.ts +++ b/src/libs/actions/IOU.ts @@ -2857,7 +2857,7 @@ type UpdateMoneyRequestTaxRateParams = { function updateMoneyRequestTaxRate({transactionID, optimisticReportActionID, taxCode, taxAmount, policy, policyTagList, policyCategories}: UpdateMoneyRequestTaxRateParams) { const transactionChanges = { taxCode, - taxAmount, + ...(taxAmount !== null && {taxAmount}), }; const {params, onyxData} = getUpdateMoneyRequestParams(transactionID, optimisticReportActionID, transactionChanges, policy, policyTagList, policyCategories, true); API.write('UpdateMoneyRequestTaxRate', params, onyxData); @@ -5062,7 +5062,7 @@ function updateMoneyRequestAmountAndCurrency({ const transactionChanges = { amount, currency, - taxAmount, + ...(taxAmount !== null && {taxAmount}), }; const transactionThreadReport = allReports?.[`${ONYXKEYS.COLLECTION.REPORT}${transactionThreadReportID}`] ?? null; const parentReport = allReports?.[`${ONYXKEYS.COLLECTION.REPORT}${transactionThreadReport?.parentReportID}`] ?? null; From 54503e157a32684a0b484db07a542def3a4413b5 Mon Sep 17 00:00:00 2001 From: Monil Bhavsar Date: Mon, 13 May 2024 23:20:26 +0530 Subject: [PATCH 3/5] Update the check and type definition --- src/libs/actions/IOU.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libs/actions/IOU.ts b/src/libs/actions/IOU.ts index a86967bf9eb1..f97743e10d65 100644 --- a/src/libs/actions/IOU.ts +++ b/src/libs/actions/IOU.ts @@ -2857,7 +2857,7 @@ type UpdateMoneyRequestTaxRateParams = { function updateMoneyRequestTaxRate({transactionID, optimisticReportActionID, taxCode, taxAmount, policy, policyTagList, policyCategories}: UpdateMoneyRequestTaxRateParams) { const transactionChanges = { taxCode, - ...(taxAmount !== null && {taxAmount}), + taxAmount, }; const {params, onyxData} = getUpdateMoneyRequestParams(transactionID, optimisticReportActionID, transactionChanges, policy, policyTagList, policyCategories, true); API.write('UpdateMoneyRequestTaxRate', params, onyxData); @@ -5042,7 +5042,7 @@ type UpdateMoneyRequestAmountAndCurrencyParams = { transactionThreadReportID: string; currency: string; amount: number; - taxAmount?: number; + taxAmount: number; policy?: OnyxEntry; policyTagList?: OnyxEntry; policyCategories?: OnyxEntry; @@ -5062,7 +5062,7 @@ function updateMoneyRequestAmountAndCurrency({ const transactionChanges = { amount, currency, - ...(taxAmount !== null && {taxAmount}), + taxAmount, }; const transactionThreadReport = allReports?.[`${ONYXKEYS.COLLECTION.REPORT}${transactionThreadReportID}`] ?? null; const parentReport = allReports?.[`${ONYXKEYS.COLLECTION.REPORT}${transactionThreadReport?.parentReportID}`] ?? null; From 97534f4214483810901323320b22a0b686e333aa Mon Sep 17 00:00:00 2001 From: Monil Bhavsar Date: Mon, 13 May 2024 23:31:37 +0530 Subject: [PATCH 4/5] Revert a change --- src/components/MoneyRequestConfirmationList.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/MoneyRequestConfirmationList.tsx b/src/components/MoneyRequestConfirmationList.tsx index c5d80bb51346..f3c4c18ba4c4 100755 --- a/src/components/MoneyRequestConfirmationList.tsx +++ b/src/components/MoneyRequestConfirmationList.tsx @@ -374,7 +374,7 @@ function MoneyRequestConfirmationList({ const taxAmount = getTaxAmount(transaction, policy).toString(); const amountInSmallestCurrencyUnits = CurrencyUtils.convertToBackendAmount(Number.parseFloat(taxAmount)); - if (transaction?.taxAmount !== null && previousTransactionAmount === transaction?.amount && previousTransactionCurrency === transaction?.currency) { + if (transaction?.taxAmount && previousTransactionAmount === transaction?.amount && previousTransactionCurrency === transaction?.currency) { return IOU.setMoneyRequestTaxAmount(transactionID, transaction?.taxAmount ?? 0, true); } From ba16604cba5945f46a9e84b1dab6c82bec9bba5f Mon Sep 17 00:00:00 2001 From: Monil Bhavsar Date: Tue, 14 May 2024 00:13:34 +0530 Subject: [PATCH 5/5] Fix typescript check --- src/pages/iou/request/step/IOURequestStepAmount.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/iou/request/step/IOURequestStepAmount.tsx b/src/pages/iou/request/step/IOURequestStepAmount.tsx index b320766edd7a..b8a8c11d3d80 100644 --- a/src/pages/iou/request/step/IOURequestStepAmount.tsx +++ b/src/pages/iou/request/step/IOURequestStepAmount.tsx @@ -58,7 +58,7 @@ type IOURequestStepAmountProps = IOURequestStepAmountOnyxProps & function getTaxAmount(transaction: OnyxEntry, policy: OnyxEntry, newAmount: number) { if (!transaction?.amount) { - return; + return 0; } const transactionTaxCode = transaction?.taxCode ?? ''; const defaultTaxCode = TransactionUtils.getDefaultTaxCode(policy, transaction) ?? '';