Skip to content

Commit c27d62d

Browse files
committed
fix lint
1 parent ea95420 commit c27d62d

2 files changed

Lines changed: 11 additions & 42 deletions

File tree

src/ROUTES.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -294,11 +294,11 @@ const DYNAMIC_ROUTES = {
294294
entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_XERO_EXPORT],
295295
},
296296
POLICY_ACCOUNTING_XERO_TRAVEL_INVOICING_CONFIGURATION: {
297-
path: 'travel-invoicing',
297+
path: 'xero-travel-invoicing',
298298
entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_XERO_EXPORT],
299299
},
300300
POLICY_ACCOUNTING_XERO_TRAVEL_INVOICING_PAYABLE_ACCOUNT_SELECT: {
301-
path: 'payable-account',
301+
path: 'xero-travel-invoicing-payable-account',
302302
entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_XERO_TRAVEL_INVOICING_CONFIGURATION],
303303
},
304304
POLICY_ACCOUNTING_XERO_AUTO_SYNC: {

src/pages/workspace/accounting/xero/export/XeroTravelInvoicingPayableAccountSelectPage.tsx

Lines changed: 9 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,82 +1,51 @@
11
import React from 'react';
2-
import BlockingView from '@components/BlockingViews/BlockingView';
3-
import RadioListItem from '@components/SelectionList/ListItem/RadioListItem';
4-
import type {ListItem} from '@components/SelectionList/types';
5-
import SelectionScreen from '@components/SelectionScreen';
2+
import type {SelectorType} from '@components/SelectionScreen';
63
import useDynamicBackPath from '@hooks/useDynamicBackPath';
7-
import {useMemoizedLazyIllustrations} from '@hooks/useLazyAsset';
8-
import useLocalize from '@hooks/useLocalize';
9-
import useThemeStyles from '@hooks/useThemeStyles';
104
import {updateXeroTravelInvoicingPayableAccount} from '@libs/actions/connections/Xero';
115
import {getLatestErrorField} from '@libs/ErrorUtils';
126
import {settingsPendingAction} from '@libs/PolicyUtils';
137
import Navigation from '@navigation/Navigation';
8+
import TravelInvoicingPayableAccountSelectPage from '@pages/workspace/accounting/common/TravelInvoicingPayableAccountSelectPage';
149
import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections';
1510
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
16-
import variables from '@styles/variables';
1711
import {clearXeroErrorField} from '@userActions/Policy/Policy';
1812
import CONST from '@src/CONST';
1913
import {DYNAMIC_ROUTES} from '@src/ROUTES';
2014

21-
type PayableAccountListItem = ListItem & {
22-
value: string;
23-
};
24-
2515
function XeroTravelInvoicingPayableAccountSelectPage({policy}: WithPolicyConnectionsProps) {
26-
const {translate} = useLocalize();
27-
const styles = useThemeStyles();
28-
const illustrations = useMemoizedLazyIllustrations(['Telescope']);
29-
3016
const {bankAccounts} = policy?.connections?.xero?.data ?? {};
3117
const config = policy?.connections?.xero?.config;
3218

3319
const policyID = policy?.id ?? String(CONST.DEFAULT_NUMBER_ID);
3420
const selectedAccountID = config?.export?.travelInvoicingPayableAccountID;
3521
const backPath = useDynamicBackPath(DYNAMIC_ROUTES.POLICY_ACCOUNTING_XERO_TRAVEL_INVOICING_PAYABLE_ACCOUNT_SELECT.path);
36-
const data: PayableAccountListItem[] =
22+
const data: Array<SelectorType<string>> =
3723
bankAccounts?.map((account) => ({
3824
value: account.id,
3925
text: account.name,
4026
keyForList: account.id,
4127
isSelected: account.id === selectedAccountID,
4228
})) ?? [];
4329

44-
const selectAccount = (row: PayableAccountListItem) => {
30+
const selectAccount = (row: SelectorType<string>) => {
4531
if (row.value !== selectedAccountID) {
4632
updateXeroTravelInvoicingPayableAccount(policyID, row.value, selectedAccountID);
4733
}
4834
Navigation.goBack(backPath);
4935
};
5036

51-
const listEmptyContent = (
52-
<BlockingView
53-
icon={illustrations.Telescope}
54-
iconWidth={variables.emptyListIconWidth}
55-
iconHeight={variables.emptyListIconHeight}
56-
title={translate('workspace.xero.noAccountsFound')}
57-
subtitle={translate('workspace.xero.noAccountsFoundDescription')}
58-
containerStyle={styles.pb10}
59-
/>
60-
);
61-
6237
return (
63-
<SelectionScreen
38+
<TravelInvoicingPayableAccountSelectPage
6439
policyID={policyID}
65-
accessVariants={[CONST.POLICY.ACCESS_VARIANTS.ADMIN]}
66-
featureName={CONST.POLICY.MORE_FEATURES.ARE_CONNECTIONS_ENABLED}
6740
displayName="XeroTravelInvoicingPayableAccountSelectPage"
68-
title="workspace.common.travelInvoicingPayableAccount"
6941
data={data}
70-
listItem={RadioListItem}
71-
onSelectRow={selectAccount}
72-
shouldSingleExecuteRowSelect
73-
initiallyFocusedOptionKey={data.find((option) => option.isSelected)?.keyForList}
74-
listEmptyContent={listEmptyContent}
7542
connectionName={CONST.POLICY.CONNECTIONS.NAME.XERO}
76-
onBackButtonPress={() => Navigation.goBack(backPath)}
43+
emptyStateTitle="workspace.xero.noAccountsFound"
44+
emptyStateSubtitle="workspace.xero.noAccountsFoundDescription"
45+
onSelect={selectAccount}
46+
onBack={() => Navigation.goBack(backPath)}
7747
pendingAction={settingsPendingAction([CONST.XERO_CONFIG.TRAVEL_INVOICING_PAYABLE_ACCOUNT], config?.pendingFields)}
7848
errors={getLatestErrorField(config, CONST.XERO_CONFIG.TRAVEL_INVOICING_PAYABLE_ACCOUNT)}
79-
errorRowStyles={[styles.ph5, styles.pv3]}
8049
onClose={() => clearXeroErrorField(policyID, CONST.XERO_CONFIG.TRAVEL_INVOICING_PAYABLE_ACCOUNT)}
8150
/>
8251
);

0 commit comments

Comments
 (0)