Skip to content

Commit ca6c038

Browse files
authored
Merge pull request Expensify#89229 from mananjadhav/mj-83843-dr-netsuite-export
BT - Migrate `NETSUITE_EXPORT`
2 parents b7c38b1 + 639dcff commit ca6c038

12 files changed

Lines changed: 47 additions & 45 deletions

File tree

src/ROUTES.ts

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -149,29 +149,33 @@ const DYNAMIC_ROUTES = {
149149
path: 'journal-posting-preference/select',
150150
entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_EXPORT_EXPENSES],
151151
},
152+
POLICY_ACCOUNTING_NETSUITE_EXPORT: {
153+
path: 'connections/netsuite/export',
154+
entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.ROOT, SCREENS.WORKSPACE.COMPANY_CARD_EXPORT],
155+
},
152156
POLICY_ACCOUNTING_NETSUITE_RECEIVABLE_ACCOUNT_SELECT: {
153157
path: 'receivable-account/select',
154-
entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT],
158+
entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_EXPORT],
155159
},
156160
POLICY_ACCOUNTING_NETSUITE_INVOICE_ITEM_PREFERENCE_SELECT: {
157161
path: 'invoice-item-preference/select',
158-
entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT],
162+
entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_EXPORT],
159163
},
160164
POLICY_ACCOUNTING_NETSUITE_INVOICE_ITEM_SELECT: {
161165
path: 'invoice-item/select',
162166
entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_INVOICE_ITEM_PREFERENCE_SELECT],
163167
},
164168
POLICY_ACCOUNTING_NETSUITE_PREFERRED_EXPORTER_SELECT: {
165169
path: 'preferred-exporter/select',
166-
entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT],
170+
entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_EXPORT],
167171
},
168172
POLICY_ACCOUNTING_NETSUITE_DATE_SELECT: {
169173
path: 'date/select',
170-
entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT],
174+
entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_EXPORT],
171175
},
172176
POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES: {
173177
path: 'expenses/:expenseType',
174-
entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT],
178+
entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_EXPORT],
175179
getRoute: (expenseType: ValueOf<typeof CONST.NETSUITE_EXPENSE_TYPE>) => `expenses/${expenseType as string}` as const,
176180
},
177181
POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES_DESTINATION_SELECT: {
@@ -3760,17 +3764,6 @@ const ROUTES = {
37603764
route: 'workspaces/:policyID/accounting/netsuite/import/customer-projects/select',
37613765
getRoute: (policyID: string) => `workspaces/${policyID}/accounting/netsuite/import/customer-projects/select` as const,
37623766
},
3763-
POLICY_ACCOUNTING_NETSUITE_EXPORT: {
3764-
route: 'workspaces/:policyID/connections/netsuite/export/',
3765-
getRoute: (policyID: string | undefined, backTo?: string) => {
3766-
if (!policyID) {
3767-
Log.warn('Invalid policyID is used to build the POLICY_ACCOUNTING_NETSUITE_EXPORT route');
3768-
}
3769-
3770-
// eslint-disable-next-line no-restricted-syntax -- Legacy route generation
3771-
return getUrlWithBackToParam(`workspaces/${policyID}/connections/netsuite/export/` as const, backTo, false);
3772-
},
3773-
},
37743767
POLICY_ACCOUNTING_NETSUITE_TAX_POSTING_ACCOUNT_SELECT: {
37753768
route: 'workspaces/:policyID/connections/netsuite/export/tax-posting-account/select',
37763769
getRoute: (policyID: string) => `workspaces/${policyID}/connections/netsuite/export/tax-posting-account/select` as const,

src/SCREENS.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -625,7 +625,7 @@ const SCREENS = {
625625
NETSUITE_TOKEN_INPUT: 'Policy_Accounting_NetSuite_Token_Input',
626626
NETSUITE_SUBSIDIARY_SELECTOR: 'Policy_Accounting_NetSuite_Subsidiary_Selector',
627627
NETSUITE_IMPORT: 'Policy_Accounting_NetSuite_Import',
628-
NETSUITE_EXPORT: 'Policy_Accounting_NetSuite_Export',
628+
DYNAMIC_NETSUITE_EXPORT: 'Dynamic_Policy_Accounting_NetSuite_Export',
629629
DYNAMIC_NETSUITE_PREFERRED_EXPORTER_SELECT: 'Dynamic_Policy_Accounting_NetSuite_Preferred_Exporter_Select',
630630
DYNAMIC_NETSUITE_DATE_SELECT: 'Dynamic_Policy_Accounting_NetSuite_Date_Select',
631631
DYNAMIC_NETSUITE_EXPORT_EXPENSES: 'Dynamic_Policy_Accounting_NetSuite_Export_Expenses',

src/libs/Navigation/AppNavigator/ModalStackNavigators/index.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -760,7 +760,8 @@ const SettingsModalStackNavigator = createModalStackNavigator<SettingsNavigatorP
760760
require<ReactComponentModule>('../../../../pages/workspace/accounting/netsuite/import/NetSuiteImportCustomersOrProjectsPage').default,
761761
[SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_IMPORT_CUSTOMERS_OR_PROJECTS_SELECT]: () =>
762762
require<ReactComponentModule>('../../../../pages/workspace/accounting/netsuite/import/NetSuiteImportCustomersOrProjectSelectPage').default,
763-
[SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT]: () => require<ReactComponentModule>('../../../../pages/workspace/accounting/netsuite/export/NetSuiteExportConfigurationPage').default,
763+
[SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_EXPORT]: () =>
764+
require<ReactComponentModule>('../../../../pages/workspace/accounting/netsuite/export/NetSuiteExportConfigurationPage').default,
764765
[SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_PREFERRED_EXPORTER_SELECT]: () =>
765766
require<ReactComponentModule>('../../../../pages/workspace/accounting/netsuite/export/DynamicNetSuitePreferredExporterSelectPage').default,
766767
[SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_DATE_SELECT]: () =>

src/libs/Navigation/linkingConfig/RELATIONS/WORKSPACE_TO_RHP.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ const WORKSPACE_TO_RHP: Partial<Record<keyof WorkspaceSplitNavigatorParamList, s
117117
SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_IMPORT_CUSTOM_SEGMENT_ADD,
118118
SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_IMPORT_CUSTOMERS_OR_PROJECTS,
119119
SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_IMPORT_CUSTOMERS_OR_PROJECTS_SELECT,
120-
SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT,
120+
SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_EXPORT,
121121
SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_PREFERRED_EXPORTER_SELECT,
122122
SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_DATE_SELECT,
123123
SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_EXPORT_EXPENSES,

src/libs/Navigation/linkingConfig/config.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -692,9 +692,7 @@ const config: LinkingOptions<RootNavigatorParamList>['config'] = {
692692
[SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_IMPORT_CUSTOM_SEGMENT_ADD]: {path: ROUTES.POLICY_ACCOUNTING_NETSUITE_IMPORT_CUSTOM_SEGMENT_ADD.route},
693693
[SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_IMPORT_CUSTOMERS_OR_PROJECTS]: {path: ROUTES.POLICY_ACCOUNTING_NETSUITE_IMPORT_CUSTOMERS_OR_PROJECTS.route},
694694
[SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_IMPORT_CUSTOMERS_OR_PROJECTS_SELECT]: {path: ROUTES.POLICY_ACCOUNTING_NETSUITE_IMPORT_CUSTOMERS_OR_PROJECTS_SELECT.route},
695-
[SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT]: {
696-
path: ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.route,
697-
},
695+
[SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_EXPORT]: DYNAMIC_ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.path,
698696
[SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_PREFERRED_EXPORTER_SELECT]: DYNAMIC_ROUTES.POLICY_ACCOUNTING_NETSUITE_PREFERRED_EXPORTER_SELECT.path,
699697
[SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_DATE_SELECT]: DYNAMIC_ROUTES.POLICY_ACCOUNTING_NETSUITE_DATE_SELECT.path,
700698
[SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_EXPORT_EXPENSES]: 'expenses/:expenseType',

src/libs/Navigation/types.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -971,10 +971,8 @@ type SettingsNavigatorParamList = {
971971
subPage?: string;
972972
action?: 'edit';
973973
};
974-
[SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT]: {
974+
[SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_EXPORT]: {
975975
policyID: string;
976-
// eslint-disable-next-line no-restricted-syntax -- `backTo` usages in this file are legacy. Do not add new `backTo` params to screens. See contributingGuides/NAVIGATION.md
977-
backTo?: Routes;
978976
};
979977
[SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_PREFERRED_EXPORTER_SELECT]: {
980978
policyID: string;

src/pages/workspace/accounting/netsuite/export/NetSuiteExportConfigurationPage.tsx

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
import {useRoute} from '@react-navigation/native';
21
import React from 'react';
32
import {View} from 'react-native';
43
import ConnectionLayout from '@components/ConnectionLayout';
54
import MenuItemWithTopDescription from '@components/MenuItemWithTopDescription';
65
import OfflineWithFeedback from '@components/OfflineWithFeedback';
6+
import useDynamicBackPath from '@hooks/useDynamicBackPath';
77
import useLocalize from '@hooks/useLocalize';
88
import useOnyx from '@hooks/useOnyx';
99
import usePermissions from '@hooks/usePermissions';
@@ -23,8 +23,6 @@ import {
2323
} from '@libs/PolicyUtils';
2424
import {getIsTravelInvoicingEnabled, getTravelInvoicingCardSettingsKey} from '@libs/TravelInvoicingUtils';
2525
import goBackFromExportConnection from '@navigation/helpers/goBackFromExportConnection';
26-
import type {PlatformStackRouteProp} from '@navigation/PlatformStackNavigation/types';
27-
import type {SettingsNavigatorParamList} from '@navigation/types';
2826
import type {DividerLineItem, MenuItem, ToggleItem} from '@pages/workspace/accounting/netsuite/types';
2927
import {
3028
shouldHideExportForeignCurrencyAmount,
@@ -42,15 +40,12 @@ import ToggleSettingOptionRow from '@pages/workspace/workflows/ToggleSettingsOpt
4240
import {clearNetSuiteErrorField} from '@userActions/Policy/Policy';
4341
import CONST from '@src/CONST';
4442
import ROUTES, {DYNAMIC_ROUTES} from '@src/ROUTES';
45-
import type SCREENS from '@src/SCREENS';
4643

4744
type MenuItemWithSubscribedSettings = Pick<MenuItem, 'type' | 'description' | 'title' | 'onPress' | 'shouldHide'> & {subscribedSettings?: string[]};
4845

4946
function NetSuiteExportConfigurationPage({policy}: WithPolicyConnectionsProps) {
5047
const {translate} = useLocalize();
5148
const styles = useThemeStyles();
52-
const route = useRoute<PlatformStackRouteProp<SettingsNavigatorParamList, typeof SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT>>();
53-
const backTo = route?.params?.backTo;
5449
const policyID = policy?.id;
5550
const policyOwner = policy?.owner ?? '';
5651
const {isBetaEnabled} = usePermissions();
@@ -59,9 +54,10 @@ function NetSuiteExportConfigurationPage({policy}: WithPolicyConnectionsProps) {
5954
const shouldGoBackToSpecificRoute =
6055
config?.reimbursableExpensesExportDestination === CONST.NETSUITE_EXPORT_DESTINATION.EXPENSE_REPORT ||
6156
config?.nonreimbursableExpensesExportDestination === CONST.NETSUITE_EXPORT_DESTINATION.EXPENSE_REPORT;
57+
const backPath = useDynamicBackPath(DYNAMIC_ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.path);
6258

6359
const goBack = () => {
64-
return goBackFromExportConnection(shouldGoBackToSpecificRoute, backTo);
60+
return goBackFromExportConnection(shouldGoBackToSpecificRoute, backPath);
6561
};
6662

6763
const {subsidiaryList, receivableList, taxAccountsList, items, payableList} = policy?.connections?.netsuite?.options?.data ?? {};

src/pages/workspace/accounting/netsuite/export/NetSuiteProvincialTaxPostingAccountSelectPage.tsx

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,28 @@ import useLocalize from '@hooks/useLocalize';
77
import useThemeStyles from '@hooks/useThemeStyles';
88
import {updateNetSuiteProvincialTaxPostingAccount} from '@libs/actions/connections/NetSuiteCommands';
99
import {getLatestErrorField} from '@libs/ErrorUtils';
10+
import createDynamicRoute from '@libs/Navigation/helpers/dynamicRoutesUtils/createDynamicRoute';
1011
import Navigation from '@libs/Navigation/Navigation';
1112
import {canUseProvincialTaxNetSuite, getNetSuiteTaxAccountOptions, settingsPendingAction} from '@libs/PolicyUtils';
1213
import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections';
1314
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
1415
import variables from '@styles/variables';
1516
import {clearNetSuiteErrorField} from '@userActions/Policy/Policy';
1617
import CONST from '@src/CONST';
17-
import ROUTES from '@src/ROUTES';
18+
import ROUTES, {DYNAMIC_ROUTES} from '@src/ROUTES';
1819

1920
function NetSuiteProvincialTaxPostingAccountSelectPage({policy}: WithPolicyConnectionsProps) {
2021
const styles = useThemeStyles();
2122
const {translate} = useLocalize();
2223
const illustrations = useMemoizedLazyIllustrations(['Telescope']);
2324

2425
const policyID = policy?.id;
26+
const netSuiteExportBackPath = useMemo(() => {
27+
if (!policyID) {
28+
return ROUTES.HOME;
29+
}
30+
return createDynamicRoute(DYNAMIC_ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.path, ROUTES.WORKSPACE_ACCOUNTING.getRoute(policyID));
31+
}, [policyID]);
2532

2633
const config = policy?.connections?.netsuite?.options.config;
2734
const {subsidiaryList} = policy?.connections?.netsuite?.options?.data ?? {};
@@ -39,9 +46,9 @@ function NetSuiteProvincialTaxPostingAccountSelectPage({policy}: WithPolicyConne
3946
if (config?.provincialTaxPostingAccount !== value && policyID) {
4047
updateNetSuiteProvincialTaxPostingAccount(policyID, value, config?.provincialTaxPostingAccount);
4148
}
42-
Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID));
49+
Navigation.goBack(netSuiteExportBackPath);
4350
},
44-
[policyID, config?.provincialTaxPostingAccount],
51+
[netSuiteExportBackPath, policyID, config?.provincialTaxPostingAccount],
4552
);
4653

4754
const listEmptyContent = useMemo(
@@ -67,7 +74,7 @@ function NetSuiteProvincialTaxPostingAccountSelectPage({policy}: WithPolicyConne
6774
data={netsuiteTaxAccountOptions}
6875
onSelectRow={updateTaxAccount}
6976
initiallyFocusedOptionKey={initiallyFocusedOptionKey}
70-
onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID))}
77+
onBackButtonPress={() => Navigation.goBack(netSuiteExportBackPath)}
7178
title="workspace.netsuite.journalEntriesProvTaxPostingAccount"
7279
listEmptyContent={listEmptyContent}
7380
connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE}

src/pages/workspace/accounting/netsuite/export/NetSuiteTaxPostingAccountSelectPage.tsx

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,15 @@ import usePermissions from '@hooks/usePermissions';
88
import useThemeStyles from '@hooks/useThemeStyles';
99
import {updateNetSuiteTaxPostingAccount} from '@libs/actions/connections/NetSuiteCommands';
1010
import {getLatestErrorField} from '@libs/ErrorUtils';
11+
import createDynamicRoute from '@libs/Navigation/helpers/dynamicRoutesUtils/createDynamicRoute';
1112
import Navigation from '@libs/Navigation/Navigation';
1213
import {canUseTaxNetSuite, getNetSuiteTaxAccountOptions, settingsPendingAction} from '@libs/PolicyUtils';
1314
import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections';
1415
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
1516
import variables from '@styles/variables';
1617
import {clearNetSuiteErrorField} from '@userActions/Policy/Policy';
1718
import CONST from '@src/CONST';
18-
import ROUTES from '@src/ROUTES';
19+
import ROUTES, {DYNAMIC_ROUTES} from '@src/ROUTES';
1920

2021
function NetSuiteTaxPostingAccountSelectPage({policy}: WithPolicyConnectionsProps) {
2122
const styles = useThemeStyles();
@@ -24,6 +25,12 @@ function NetSuiteTaxPostingAccountSelectPage({policy}: WithPolicyConnectionsProp
2425
const {isBetaEnabled} = usePermissions();
2526

2627
const policyID = policy?.id;
28+
const netSuiteExportBackPath = useMemo(() => {
29+
if (!policyID) {
30+
return ROUTES.HOME;
31+
}
32+
return createDynamicRoute(DYNAMIC_ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.path, ROUTES.WORKSPACE_ACCOUNTING.getRoute(policyID));
33+
}, [policyID]);
2734

2835
const config = policy?.connections?.netsuite?.options.config;
2936
const {subsidiaryList} = policy?.connections?.netsuite?.options?.data ?? {};
@@ -41,9 +48,9 @@ function NetSuiteTaxPostingAccountSelectPage({policy}: WithPolicyConnectionsProp
4148
if (config?.taxPostingAccount !== value && policyID) {
4249
updateNetSuiteTaxPostingAccount(policyID, value, config?.taxPostingAccount);
4350
}
44-
Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID));
51+
Navigation.goBack(netSuiteExportBackPath);
4552
},
46-
[policyID, config?.taxPostingAccount],
53+
[netSuiteExportBackPath, policyID, config?.taxPostingAccount],
4754
);
4855

4956
const listEmptyContent = useMemo(
@@ -69,7 +76,7 @@ function NetSuiteTaxPostingAccountSelectPage({policy}: WithPolicyConnectionsProp
6976
data={netsuiteTaxAccountOptions}
7077
onSelectRow={updateTaxAccount}
7178
initiallyFocusedOptionKey={initiallyFocusedOptionKey}
72-
onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID))}
79+
onBackButtonPress={() => Navigation.goBack(netSuiteExportBackPath)}
7380
title="workspace.netsuite.journalEntriesTaxPostingAccount"
7481
listEmptyContent={listEmptyContent}
7582
connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE}

src/pages/workspace/accounting/netsuite/export/NetSuiteTravelInvoicingConfigurationPage.tsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
1-
import React from 'react';
1+
import React, {useMemo} from 'react';
22
import type {ValueOf} from 'type-fest';
33
import ConnectionLayout from '@components/ConnectionLayout';
44
import MenuItemWithTopDescription from '@components/MenuItemWithTopDescription';
55
import OfflineWithFeedback from '@components/OfflineWithFeedback';
66
import useLocalize from '@hooks/useLocalize';
77
import useThemeStyles from '@hooks/useThemeStyles';
8+
import createDynamicRoute from '@libs/Navigation/helpers/dynamicRoutesUtils/createDynamicRoute';
89
import {areSettingsInErrorFields, settingsPendingAction} from '@libs/PolicyUtils';
910
import Navigation from '@navigation/Navigation';
1011
import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections';
1112
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
1213
import CONST from '@src/CONST';
13-
import ROUTES from '@src/ROUTES';
14+
import ROUTES, {DYNAMIC_ROUTES} from '@src/ROUTES';
1415
import type {PendingAction} from '@src/types/onyx/OnyxCommon';
1516

1617
type NetSuiteSectionType = {
@@ -29,6 +30,7 @@ function NetSuiteTravelInvoicingConfigurationPage({policy}: WithPolicyConnection
2930
const styles = useThemeStyles();
3031

3132
const policyID = policy?.id ?? String(CONST.DEFAULT_NUMBER_ID);
33+
const netSuiteExportBackPath = useMemo(() => createDynamicRoute(DYNAMIC_ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.path, ROUTES.WORKSPACE_ACCOUNTING.getRoute(policyID)), [policyID]);
3234
const config = policy?.connections?.netsuite?.options?.config;
3335

3436
const {payableList} = policy?.connections?.netsuite?.options?.data ?? {};
@@ -60,7 +62,7 @@ function NetSuiteTravelInvoicingConfigurationPage({policy}: WithPolicyConnection
6062
contentContainerStyle={styles.pb2}
6163
titleStyle={styles.ph5}
6264
connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE}
63-
onBackButtonPress={() => Navigation.goBack(ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.getRoute(policyID))}
65+
onBackButtonPress={() => Navigation.goBack(netSuiteExportBackPath)}
6466
>
6567
<MenuItemWithTopDescription
6668
title={translate(`workspace.netsuite.exportDestination.values.${CONST.NETSUITE_EXPORT_DESTINATION.JOURNAL_ENTRY}.label`)}

0 commit comments

Comments
 (0)