From ebfa9b2409ecace0cc9e62cc00992ab0a3bdb044 Mon Sep 17 00:00:00 2001 From: nkdengineer Date: Tue, 23 Jul 2024 10:18:30 +0700 Subject: [PATCH] fix: Hm it's not here shown when edit the tax code and save --- src/libs/PolicyUtils.ts | 5 +++++ src/pages/workspace/taxes/WorkspaceEditTaxPage.tsx | 12 ++++++++++-- src/pages/workspace/taxes/WorkspaceTaxCodePage.tsx | 3 +-- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/libs/PolicyUtils.ts b/src/libs/PolicyUtils.ts index df2fa9897d3b..d1639bf7a9cc 100644 --- a/src/libs/PolicyUtils.ts +++ b/src/libs/PolicyUtils.ts @@ -793,6 +793,10 @@ function hasNoPolicyOtherThanPersonalType() { ); } +function getCurrentTaxID(policy: OnyxEntry, taxID: string): string | undefined { + return Object.keys(policy?.taxRates?.taxes ?? {}).find((taxIDKey) => policy?.taxRates?.taxes?.[taxIDKey].previousTaxCode === taxID || taxIDKey === taxID); +} + export { canEditTaxRate, extractPolicyIDFromPath, @@ -878,6 +882,7 @@ export { isNetSuiteCustomFieldPropertyEditable, getCurrentSageIntacctEntityName, hasNoPolicyOtherThanPersonalType, + getCurrentTaxID, }; export type {MemberEmailsToAccountIDs}; diff --git a/src/pages/workspace/taxes/WorkspaceEditTaxPage.tsx b/src/pages/workspace/taxes/WorkspaceEditTaxPage.tsx index 08e7be149ad0..d795dc74f005 100644 --- a/src/pages/workspace/taxes/WorkspaceEditTaxPage.tsx +++ b/src/pages/workspace/taxes/WorkspaceEditTaxPage.tsx @@ -1,5 +1,5 @@ import type {StackScreenProps} from '@react-navigation/stack'; -import React, {useState} from 'react'; +import React, {useEffect, useState} from 'react'; import {View} from 'react-native'; import ConfirmModal from '@components/ConfirmModal'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; @@ -35,7 +35,8 @@ function WorkspaceEditTaxPage({ }: WorkspaceEditTaxPageBaseProps) { const styles = useThemeStyles(); const {translate} = useLocalize(); - const currentTaxRate = PolicyUtils.getTaxByID(policy, taxID); + const currentTaxID = PolicyUtils.getCurrentTaxID(policy, taxID); + const currentTaxRate = currentTaxID && policy?.taxRates?.taxes?.[currentTaxID]; const [isDeleteModalVisible, setIsDeleteModalVisible] = useState(false); const canEditTaxRate = policy && PolicyUtils.canEditTaxRate(policy, taxID); const hasAccountingConnections = PolicyUtils.hasAccountingConnections(policy); @@ -50,6 +51,13 @@ function WorkspaceEditTaxPage({ setPolicyTaxesEnabled(policyID, [taxID], !!currentTaxRate.isDisabled); }; + useEffect(() => { + if (currentTaxID === taxID || !currentTaxID) { + return; + } + Navigation.setParams({taxID: currentTaxID}); + }, [taxID, currentTaxID]); + const deleteTaxRate = () => { if (!policyID) { return; diff --git a/src/pages/workspace/taxes/WorkspaceTaxCodePage.tsx b/src/pages/workspace/taxes/WorkspaceTaxCodePage.tsx index 00cc283b9f00..caedef806695 100644 --- a/src/pages/workspace/taxes/WorkspaceTaxCodePage.tsx +++ b/src/pages/workspace/taxes/WorkspaceTaxCodePage.tsx @@ -41,8 +41,7 @@ function WorkspaceTaxCodePage({route}: WorkspaceTaxCodePageProps) { } setPolicyTaxCode(policyID, currentTaxCode, newTaxCode); - Navigation.dismissModal(); - Navigation.navigate(ROUTES.WORKSPACE_TAX_EDIT.getRoute(policyID, newTaxCode)); + Navigation.goBack(ROUTES.WORKSPACE_TAX_EDIT.getRoute(policyID, currentTaxCode)); }, [currentTaxCode, policyID], );