Skip to content

Commit 7919f71

Browse files
committed
fix: address Xero travel invoicing review comments
1 parent 1b3474c commit 7919f71

2 files changed

Lines changed: 24 additions & 43 deletions

File tree

src/pages/workspace/accounting/utils.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,13 @@ function getAccountingIntegrationData(
144144
...getTrackingCategories(policy).map((category) => `${CONST.XERO_CONFIG.TRACKING_CATEGORY_PREFIX}${category.id}`),
145145
],
146146
onExportPagePress: () => Navigation.navigate(createDynamicRoute(DYNAMIC_ROUTES.POLICY_ACCOUNTING_XERO_EXPORT.path, basePath)),
147-
subscribedExportSettings: [CONST.XERO_CONFIG.EXPORTER, CONST.XERO_CONFIG.BILL_DATE, CONST.XERO_CONFIG.BILL_STATUS, CONST.XERO_CONFIG.NON_REIMBURSABLE_ACCOUNT],
147+
subscribedExportSettings: [
148+
CONST.XERO_CONFIG.EXPORTER,
149+
CONST.XERO_CONFIG.BILL_DATE,
150+
CONST.XERO_CONFIG.BILL_STATUS,
151+
CONST.XERO_CONFIG.TRAVEL_INVOICING_PAYABLE_ACCOUNT,
152+
CONST.XERO_CONFIG.NON_REIMBURSABLE_ACCOUNT,
153+
],
148154
onCardReconciliationPagePress: () => Navigation.navigate(ROUTES.WORKSPACE_ACCOUNTING_CARD_RECONCILIATION.getRoute(policyID, CONST.POLICY.CONNECTIONS.ROUTE.XERO)),
149155
onAdvancedPagePress: () => Navigation.navigate(ROUTES.POLICY_ACCOUNTING_XERO_ADVANCED.getRoute(policyID)),
150156
subscribedAdvancedSettings: [

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

Lines changed: 17 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import React from 'react';
2-
import type {ValueOf} from 'type-fest';
32
import ConnectionLayout from '@components/ConnectionLayout';
43
import MenuItemWithTopDescription from '@components/MenuItemWithTopDescription';
54
import OfflineWithFeedback from '@components/OfflineWithFeedback';
@@ -13,16 +12,6 @@ import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnec
1312
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
1413
import CONST from '@src/CONST';
1514
import ROUTES, {DYNAMIC_ROUTES} from '@src/ROUTES';
16-
import type {PendingAction} from '@src/types/onyx/OnyxCommon';
17-
18-
type XeroSectionType = {
19-
title?: string;
20-
description?: string;
21-
onPress: () => void;
22-
subscribedSettings: string[];
23-
pendingAction?: PendingAction;
24-
brickRoadIndicator?: ValueOf<typeof CONST.BRICK_ROAD_INDICATOR_STATUS>;
25-
};
2615

2716
const payableAccountSetting = [CONST.XERO_CONFIG.TRAVEL_INVOICING_PAYABLE_ACCOUNT];
2817

@@ -38,22 +27,6 @@ function XeroTravelInvoicingConfigurationPage({policy}: WithPolicyConnectionsPro
3827
const {bankAccounts} = policy?.connections?.xero?.data ?? {};
3928
const travelPayableAccount = bankAccounts?.find((account) => account.id === config?.export?.travelInvoicingPayableAccountID);
4029

41-
const sections: XeroSectionType[] = [
42-
{
43-
title: travelPayableAccount?.name,
44-
description: translate('workspace.common.travelInvoicingPayableAccount'),
45-
onPress: () => {
46-
if (!policyID) {
47-
return;
48-
}
49-
Navigation.navigate(createDynamicRoute(DYNAMIC_ROUTES.POLICY_ACCOUNTING_XERO_TRAVEL_INVOICING_PAYABLE_ACCOUNT_SELECT.path, travelInvoicingPath));
50-
},
51-
subscribedSettings: payableAccountSetting,
52-
pendingAction: settingsPendingAction(payableAccountSetting, config?.pendingFields),
53-
brickRoadIndicator: areSettingsInErrorFields(payableAccountSetting, config?.errorFields) ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : undefined,
54-
},
55-
];
56-
5730
return (
5831
<ConnectionLayout
5932
displayName="XeroTravelInvoicingConfigurationPage"
@@ -66,21 +39,23 @@ function XeroTravelInvoicingConfigurationPage({policy}: WithPolicyConnectionsPro
6639
connectionName={CONST.POLICY.CONNECTIONS.NAME.XERO}
6740
onBackButtonPress={() => Navigation.goBack(backPath)}
6841
>
69-
{sections.map((section) => (
70-
<OfflineWithFeedback
71-
pendingAction={section.pendingAction}
72-
key={section.subscribedSettings.at(0)}
73-
errorRowStyles={[styles.ph5]}
74-
>
75-
<MenuItemWithTopDescription
76-
title={section.title}
77-
description={section.description}
78-
onPress={section.onPress}
79-
shouldShowRightIcon
80-
brickRoadIndicator={section.brickRoadIndicator}
81-
/>
82-
</OfflineWithFeedback>
83-
))}
42+
<OfflineWithFeedback
43+
pendingAction={settingsPendingAction(payableAccountSetting, config?.pendingFields)}
44+
errorRowStyles={[styles.ph5]}
45+
>
46+
<MenuItemWithTopDescription
47+
title={travelPayableAccount?.name}
48+
description={translate('workspace.common.travelInvoicingPayableAccount')}
49+
onPress={() => {
50+
if (!policyID) {
51+
return;
52+
}
53+
Navigation.navigate(createDynamicRoute(DYNAMIC_ROUTES.POLICY_ACCOUNTING_XERO_TRAVEL_INVOICING_PAYABLE_ACCOUNT_SELECT.path, travelInvoicingPath));
54+
}}
55+
shouldShowRightIcon
56+
brickRoadIndicator={areSettingsInErrorFields(payableAccountSetting, config?.errorFields) ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : undefined}
57+
/>
58+
</OfflineWithFeedback>
8459
</ConnectionLayout>
8560
);
8661
}

0 commit comments

Comments
 (0)