Skip to content

Commit 00d5cea

Browse files
committed
fix Taxpicker
1 parent 90fb9a1 commit 00d5cea

File tree

4 files changed

+19
-14
lines changed

4 files changed

+19
-14
lines changed

src/components/TaxPicker.tsx

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React, {useCallback, useMemo, useState} from 'react';
1+
import React, {useMemo, useState} from 'react';
22
import {withOnyx} from 'react-native-onyx';
33
import type {OnyxEntry} from 'react-native-onyx';
44
import type {EdgeInsets} from 'react-native-safe-area-context';
@@ -47,21 +47,19 @@ function TaxPicker({selectedTaxRate = '', policy, insets, onSubmit}: TaxPickerPr
4747

4848
const shouldShowTextInput = !isTaxRatesCountBelowThreshold;
4949

50-
const getTaxName = useCallback((key: string) => taxRates?.taxes[key]?.name, [taxRates?.taxes]);
51-
5250
const selectedOptions = useMemo(() => {
5351
if (!selectedTaxRate) {
5452
return [];
5553
}
5654

5755
return [
5856
{
59-
name: getTaxName(selectedTaxRate),
57+
name: selectedTaxRate,
6058
enabled: true,
6159
accountID: null,
6260
},
6361
];
64-
}, [selectedTaxRate, getTaxName]);
62+
}, [selectedTaxRate]);
6563

6664
const sections = useMemo(
6765
() => OptionsListUtils.getTaxRatesSection(taxRates, selectedOptions as OptionsListUtils.Category[], searchValue, selectedTaxRate),
@@ -70,18 +68,20 @@ function TaxPicker({selectedTaxRate = '', policy, insets, onSubmit}: TaxPickerPr
7068

7169
const headerMessage = OptionsListUtils.getHeaderMessageForNonUserList(sections[0].data.length > 0, searchValue);
7270

71+
const selectedOptionKey = useMemo(() => sections?.[0]?.data?.find((taxRate) => taxRate.searchText === selectedTaxRate)?.keyForList, [sections, selectedTaxRate]);
72+
7373
return (
7474
<SelectionList
75-
ListItem={RadioListItem}
76-
onSelectRow={onSubmit}
77-
initiallyFocusedOptionKey={selectedTaxRate}
7875
sections={sections}
79-
containerStyle={{paddingBottom: StyleUtils.getSafeAreaMargins(insets).marginBottom}}
80-
textInputLabel={shouldShowTextInput ? translate('common.search') : undefined}
81-
isRowMultilineSupported
8276
headerMessage={headerMessage}
8377
textInputValue={searchValue}
78+
textInputLabel={shouldShowTextInput ? translate('common.search') : undefined}
8479
onChangeText={setSearchValue}
80+
onSelectRow={onSubmit}
81+
ListItem={RadioListItem}
82+
initiallyFocusedOptionKey={selectedOptionKey ?? undefined}
83+
isRowMultilineSupported
84+
containerStyle={{paddingBottom: StyleUtils.getSafeAreaMargins(insets).marginBottom}}
8585
/>
8686
);
8787
}

src/libs/OptionsListUtils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1254,7 +1254,7 @@ function sortTaxRates(taxRates: TaxRates): TaxRate[] {
12541254
function getTaxRatesOptions(taxRates: Array<Partial<TaxRate>>): Option[] {
12551255
return taxRates.map((taxRate) => ({
12561256
text: taxRate.modifiedName,
1257-
keyForList: taxRate.code,
1257+
keyForList: taxRate.modifiedName,
12581258
searchText: taxRate.modifiedName,
12591259
tooltipText: taxRate.modifiedName,
12601260
isDisabled: taxRate.isDisabled,

src/pages/workspace/taxes/WorkspaceTaxesSettingsForeignCurrency.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import useThemeStyles from '@hooks/useThemeStyles';
1010
import {setForeignCurrencyDefault} from '@libs/actions/Policy';
1111
import Navigation from '@libs/Navigation/Navigation';
1212
import type {SettingsNavigatorParamList} from '@libs/Navigation/types';
13+
import * as TransactionUtils from '@libs/TransactionUtils';
1314
import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
1415
import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
1516
import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
@@ -31,6 +32,8 @@ function WorkspaceTaxesSettingsForeignCurrency({
3132
const {translate} = useLocalize();
3233
const styles = useThemeStyles();
3334

35+
const selectedTaxRate = TransactionUtils.getTaxName(policy?.taxRates?.taxes ?? {}, policy?.taxRates?.foreignTaxDefault ?? '');
36+
3437
const submit = ({keyForList}: ListItem) => {
3538
setForeignCurrencyDefault(policyID, keyForList ?? '');
3639
Navigation.goBack(ROUTES.WORKSPACE_TAXES_SETTINGS.getRoute(policyID));
@@ -55,7 +58,7 @@ function WorkspaceTaxesSettingsForeignCurrency({
5558

5659
<View style={[styles.mb4, styles.flex1]}>
5760
<TaxPicker
58-
selectedTaxRate={policy?.taxRates?.foreignTaxDefault}
61+
selectedTaxRate={selectedTaxRate}
5962
insets={insets}
6063
onSubmit={submit}
6164
/>

src/pages/workspace/taxes/WorkspaceTaxesSettingsWorkspaceCurrency.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import useThemeStyles from '@hooks/useThemeStyles';
1010
import {setWorkspaceCurrencyDefault} from '@libs/actions/Policy';
1111
import Navigation from '@libs/Navigation/Navigation';
1212
import type {SettingsNavigatorParamList} from '@libs/Navigation/types';
13+
import * as TransactionUtils from '@libs/TransactionUtils';
1314
import AdminPolicyAccessOrNotFoundWrapper from '@pages/workspace/AdminPolicyAccessOrNotFoundWrapper';
1415
import FeatureEnabledAccessOrNotFoundWrapper from '@pages/workspace/FeatureEnabledAccessOrNotFoundWrapper';
1516
import PaidPolicyAccessOrNotFoundWrapper from '@pages/workspace/PaidPolicyAccessOrNotFoundWrapper';
@@ -31,6 +32,7 @@ function WorkspaceTaxesSettingsWorkspaceCurrency({
3132
const {translate} = useLocalize();
3233
const styles = useThemeStyles();
3334

35+
const selectedTaxRate = TransactionUtils.getTaxName(policy?.taxRates?.taxes ?? {}, policy?.taxRates?.foreignTaxDefault ?? '');
3436
const submit = ({keyForList}: ListItem) => {
3537
setWorkspaceCurrencyDefault(policyID, keyForList ?? '');
3638
Navigation.goBack(ROUTES.WORKSPACE_TAXES_SETTINGS.getRoute(policyID));
@@ -55,7 +57,7 @@ function WorkspaceTaxesSettingsWorkspaceCurrency({
5557

5658
<View style={[styles.mb4, styles.flex1]}>
5759
<TaxPicker
58-
selectedTaxRate={policy?.taxRates?.defaultExternalID}
60+
selectedTaxRate={selectedTaxRate}
5961
insets={insets}
6062
onSubmit={submit}
6163
/>

0 commit comments

Comments
 (0)