From d263830fa5414fdf9974cec826204472d9d9b0e0 Mon Sep 17 00:00:00 2001 From: Monil Bhavsar Date: Fri, 7 Jun 2024 22:43:22 +0530 Subject: [PATCH 1/2] Return early and prevent API call --- .../distanceRates/PolicyDistanceRateEditPage.tsx | 8 ++++++-- .../distanceRates/PolicyDistanceRateTaxRateEditPage.tsx | 4 ++++ .../PolicyDistanceRateTaxReclaimableEditPage.tsx | 4 ++++ 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/pages/workspace/distanceRates/PolicyDistanceRateEditPage.tsx b/src/pages/workspace/distanceRates/PolicyDistanceRateEditPage.tsx index 229d87443504..e80a7a7b7cdd 100644 --- a/src/pages/workspace/distanceRates/PolicyDistanceRateEditPage.tsx +++ b/src/pages/workspace/distanceRates/PolicyDistanceRateEditPage.tsx @@ -42,9 +42,13 @@ function PolicyDistanceRateEditPage({policy, route}: PolicyDistanceRateEditPageP const customUnit = customUnits[Object.keys(customUnits)[0]]; const rate = customUnit?.rates[rateID]; const currency = rate?.currency ?? CONST.CURRENCY.USD; - const currentRateValue = (rate?.rate ?? 0).toString(); + const currentRateValue = (parseFloat((rate?.rate ?? 0).toString()) / CONST.POLICY.CUSTOM_UNIT_RATE_BASE_OFFSET).toFixed(3); const submitRate = (values: FormOnyxValues) => { + if (currentRateValue === values.rate) { + Navigation.goBack(); + return; + } DistanceRate.updatePolicyDistanceRateValue(policyID, customUnit, [{...rate, rate: Number(values.rate) * CONST.POLICY.CUSTOM_UNIT_RATE_BASE_OFFSET}]); Keyboard.dismiss(); Navigation.goBack(); @@ -92,7 +96,7 @@ function PolicyDistanceRateEditPage({policy, route}: PolicyDistanceRateEditPageP InputComponent={AmountForm} inputID={INPUT_IDS.RATE} extraDecimals={1} - defaultValue={(parseFloat(currentRateValue) / CONST.POLICY.CUSTOM_UNIT_RATE_BASE_OFFSET).toFixed(3)} + defaultValue={currentRateValue} isCurrencyPressable={false} currency={currency} ref={inputCallbackRef} diff --git a/src/pages/workspace/distanceRates/PolicyDistanceRateTaxRateEditPage.tsx b/src/pages/workspace/distanceRates/PolicyDistanceRateTaxRateEditPage.tsx index 4ff23cf4ef92..d0601f557a7f 100644 --- a/src/pages/workspace/distanceRates/PolicyDistanceRateTaxRateEditPage.tsx +++ b/src/pages/workspace/distanceRates/PolicyDistanceRateTaxRateEditPage.tsx @@ -50,6 +50,10 @@ function PolicyDistanceRateTaxRateEditPage({route, policy}: PolicyDistanceRateTa }, [policy, taxRateExternalID]); const onTaxRateChange = (newTaxRate: ListItemType) => { + if (taxRateExternalID === newTaxRate.value) { + Navigation.goBack(); + return; + } DistanceRate.updateDistanceTaxRate(policyID, customUnit, [ { ...rate, diff --git a/src/pages/workspace/distanceRates/PolicyDistanceRateTaxReclaimableEditPage.tsx b/src/pages/workspace/distanceRates/PolicyDistanceRateTaxReclaimableEditPage.tsx index 7be33360de27..01e74a20f999 100644 --- a/src/pages/workspace/distanceRates/PolicyDistanceRateTaxReclaimableEditPage.tsx +++ b/src/pages/workspace/distanceRates/PolicyDistanceRateTaxReclaimableEditPage.tsx @@ -40,6 +40,10 @@ function PolicyDistanceRateTaxReclaimableEditPage({route, policy}: PolicyDistanc const currentTaxReclaimableOnValue = rate.attributes?.taxClaimablePercentage && rate.rate ? ((rate.attributes.taxClaimablePercentage * rate.rate) / 100).toFixed(decimals) : ''; const submitTaxReclaimableOn = (values: FormOnyxValues) => { + if (values.taxClaimableValue === currentTaxReclaimableOnValue) { + Navigation.goBack(); + return; + } DistanceRate.updateDistanceTaxClaimableValue(policyID, customUnit, [ { ...rate, From 387097e98d2adf9fa232b38134995e97b94dcee1 Mon Sep 17 00:00:00 2001 From: Monil Bhavsar Date: Fri, 7 Jun 2024 23:33:13 +0530 Subject: [PATCH 2/2] Prevent API call in taxes page --- src/pages/workspace/taxes/ValuePage.tsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/pages/workspace/taxes/ValuePage.tsx b/src/pages/workspace/taxes/ValuePage.tsx index d73e5997a5ed..e69f3c1ab9de 100644 --- a/src/pages/workspace/taxes/ValuePage.tsx +++ b/src/pages/workspace/taxes/ValuePage.tsx @@ -42,10 +42,14 @@ function ValuePage({ const submit = useCallback( (values: FormOnyxValues) => { + if (defaultValue === values.value) { + goBack(); + return; + } updatePolicyTaxValue(policyID, taxID, Number(values.value)); goBack(); }, - [goBack, policyID, taxID], + [goBack, policyID, taxID, defaultValue], ); if (!currentTaxRate) {