From 82c6dd358c81481640d1a98d55dae53e3b250168 Mon Sep 17 00:00:00 2001 From: dominictb Date: Wed, 12 Jun 2024 09:16:59 +0700 Subject: [PATCH 1/4] chore: add onDismiss handler for TaxPicker Signed-off-by: dominictb Signed-off-by: dominictb --- src/components/TaxPicker.tsx | 19 ++++++++++++++++--- .../WorkspaceTaxesSettingsForeignCurrency.tsx | 5 +++++ ...orkspaceTaxesSettingsWorkspaceCurrency.tsx | 5 +++++ 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/src/components/TaxPicker.tsx b/src/components/TaxPicker.tsx index fc29da30941d..c62b84911835 100644 --- a/src/components/TaxPicker.tsx +++ b/src/components/TaxPicker.tsx @@ -1,4 +1,4 @@ -import React, {useMemo, useState} from 'react'; +import React, {useCallback, useMemo, useState} from 'react'; import {withOnyx} from 'react-native-onyx'; import type {OnyxEntry} from 'react-native-onyx'; import type {EdgeInsets} from 'react-native-safe-area-context'; @@ -54,9 +54,11 @@ type TaxPickerProps = TaxPickerOnyxProps & { /** The type of IOU */ iouType?: ValueOf; + + onDismiss: () => void; }; -function TaxPicker({selectedTaxRate = '', policy, transaction, insets, onSubmit, action, splitDraftTransaction, iouType}: TaxPickerProps) { +function TaxPicker({selectedTaxRate = '', policy, transaction, insets, onSubmit, action, splitDraftTransaction, iouType, onDismiss}: TaxPickerProps) { const StyleUtils = useStyleUtils(); const {translate} = useLocalize(); const [searchValue, setSearchValue] = useState(''); @@ -94,6 +96,17 @@ function TaxPicker({selectedTaxRate = '', policy, transaction, insets, onSubmit, const selectedOptionKey = useMemo(() => sections?.[0]?.data?.find((taxRate) => taxRate.searchText === selectedTaxRate)?.keyForList, [sections, selectedTaxRate]); + const handleSelectRow = useCallback( + (newSelectedOption: OptionsListUtils.TaxRatesOption) => { + if (selectedOptionKey === newSelectedOption.keyForList) { + onDismiss(); + return; + } + onSubmit(newSelectedOption); + }, + [onSubmit, onDismiss, selectedOptionKey], + ); + return ( { + Navigation.goBack(ROUTES.WORKSPACE_TAXES_SETTINGS.getRoute(policyID)); + }; + return ( diff --git a/src/pages/workspace/taxes/WorkspaceTaxesSettingsWorkspaceCurrency.tsx b/src/pages/workspace/taxes/WorkspaceTaxesSettingsWorkspaceCurrency.tsx index ebb479bee4b7..c46efe3fd243 100644 --- a/src/pages/workspace/taxes/WorkspaceTaxesSettingsWorkspaceCurrency.tsx +++ b/src/pages/workspace/taxes/WorkspaceTaxesSettingsWorkspaceCurrency.tsx @@ -38,6 +38,10 @@ function WorkspaceTaxesSettingsWorkspaceCurrency({ Navigation.goBack(ROUTES.WORKSPACE_TAXES_SETTINGS.getRoute(policyID)); }; + const dismiss = () => { + Navigation.goBack(ROUTES.WORKSPACE_TAXES_SETTINGS.getRoute(policyID)); + }; + return ( From 443bc2b91f27c8982be6d32de6c205cb800ec4ab Mon Sep 17 00:00:00 2001 From: dominictb Date: Wed, 12 Jun 2024 09:28:40 +0700 Subject: [PATCH 2/4] fix: add dismiss func in IOURequestStepTaxRate Signed-off-by: dominictb --- src/pages/iou/request/step/IOURequestStepTaxRatePage.tsx | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/pages/iou/request/step/IOURequestStepTaxRatePage.tsx b/src/pages/iou/request/step/IOURequestStepTaxRatePage.tsx index a237b47777b2..94bd1ee4bc9d 100644 --- a/src/pages/iou/request/step/IOURequestStepTaxRatePage.tsx +++ b/src/pages/iou/request/step/IOURequestStepTaxRatePage.tsx @@ -113,6 +113,10 @@ function IOURequestStepTaxRatePage({ navigateBack(); }; + const dismiss = () => { + navigateBack(); + } + return ( ); From 52926172558e826a37eb7a12c5f590af0d47e990 Mon Sep 17 00:00:00 2001 From: dominictb Date: Wed, 12 Jun 2024 09:38:27 +0700 Subject: [PATCH 3/4] fix: prettier Signed-off-by: dominictb --- src/pages/iou/request/step/IOURequestStepTaxRatePage.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/iou/request/step/IOURequestStepTaxRatePage.tsx b/src/pages/iou/request/step/IOURequestStepTaxRatePage.tsx index 94bd1ee4bc9d..af4d389f2733 100644 --- a/src/pages/iou/request/step/IOURequestStepTaxRatePage.tsx +++ b/src/pages/iou/request/step/IOURequestStepTaxRatePage.tsx @@ -115,7 +115,7 @@ function IOURequestStepTaxRatePage({ const dismiss = () => { navigateBack(); - } + }; return ( Date: Fri, 14 Jun 2024 16:21:48 +0700 Subject: [PATCH 4/4] fix: rename functions Signed-off-by: dominictb --- .../iou/request/step/IOURequestStepTaxRatePage.tsx | 10 +--------- .../taxes/WorkspaceTaxesSettingsForeignCurrency.tsx | 4 ++-- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/src/pages/iou/request/step/IOURequestStepTaxRatePage.tsx b/src/pages/iou/request/step/IOURequestStepTaxRatePage.tsx index 26a6043d5887..22ca585ac4b1 100644 --- a/src/pages/iou/request/step/IOURequestStepTaxRatePage.tsx +++ b/src/pages/iou/request/step/IOURequestStepTaxRatePage.tsx @@ -85,10 +85,6 @@ function IOURequestStepTaxRatePage({ if (isEditing) { const newTaxCode = taxes.code; - if (newTaxCode === TransactionUtils.getTaxCode(currentTransaction)) { - navigateBack(); - return; - } IOU.updateMoneyRequestTaxRate({ transactionID: currentTransaction?.transactionID ?? '-1', optimisticReportActionID: report?.reportID ?? '-1', @@ -113,10 +109,6 @@ function IOURequestStepTaxRatePage({ navigateBack(); }; - const dismiss = () => { - navigateBack(); - }; - return ( ); diff --git a/src/pages/workspace/taxes/WorkspaceTaxesSettingsForeignCurrency.tsx b/src/pages/workspace/taxes/WorkspaceTaxesSettingsForeignCurrency.tsx index 07511f2244c0..2e40667c1daf 100644 --- a/src/pages/workspace/taxes/WorkspaceTaxesSettingsForeignCurrency.tsx +++ b/src/pages/workspace/taxes/WorkspaceTaxesSettingsForeignCurrency.tsx @@ -38,7 +38,7 @@ function WorkspaceTaxesSettingsForeignCurrency({ Navigation.goBack(ROUTES.WORKSPACE_TAXES_SETTINGS.getRoute(policyID)); }; - const onDismiss = () => { + const dismiss = () => { Navigation.goBack(ROUTES.WORKSPACE_TAXES_SETTINGS.getRoute(policyID)); }; @@ -64,7 +64,7 @@ function WorkspaceTaxesSettingsForeignCurrency({ policyID={policyID} insets={insets} onSubmit={submit} - onDismiss={onDismiss} + onDismiss={dismiss} />