Skip to content

Commit 6038665

Browse files
authored
Merge pull request Expensify#86511 from huult/83844-migrate-workspace-netsuite-part-2
2 parents 9d97de3 + c101afe commit 6038665

12 files changed

Lines changed: 82 additions & 102 deletions

src/ROUTES.ts

Lines changed: 16 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,22 @@ const DYNAMIC_ROUTES = {
111111
path: 'visibility',
112112
entryScreens: [SCREENS.REPORT_SETTINGS.ROOT],
113113
},
114+
POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES_VENDOR_SELECT: {
115+
path: 'vendor/select',
116+
entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT_EXPENSES],
117+
},
118+
POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES_PAYABLE_ACCOUNT_SELECT: {
119+
path: 'payable-account/select',
120+
entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT_EXPENSES],
121+
},
122+
POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES_JOURNAL_POSTING_PREFERENCE_SELECT: {
123+
path: 'journal-posting-preference/select',
124+
entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT_EXPENSES],
125+
},
126+
POLICY_ACCOUNTING_NETSUITE_RECEIVABLE_ACCOUNT_SELECT: {
127+
path: 'receivable-account/select',
128+
entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT],
129+
},
114130
POLICY_ACCOUNTING_QUICKBOOKS_ONLINE_PREFERRED_EXPORTER: {
115131
path: 'preferred-exporter',
116132
entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_ONLINE_EXPORT],
@@ -3648,30 +3664,6 @@ const ROUTES = {
36483664
// eslint-disable-next-line no-restricted-syntax -- Legacy route generation
36493665
getUrlWithBackToParam(`workspaces/${policyID}/connections/netsuite/export/expenses/${expenseType as string}/destination/select` as const, backTo),
36503666
},
3651-
POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES_VENDOR_SELECT: {
3652-
route: 'workspaces/:policyID/connections/netsuite/export/expenses/:expenseType/vendor/select',
3653-
getRoute: (policyID: string, expenseType: ValueOf<typeof CONST.NETSUITE_EXPENSE_TYPE>, backTo?: string) =>
3654-
// eslint-disable-next-line no-restricted-syntax -- Legacy route generation
3655-
getUrlWithBackToParam(`workspaces/${policyID}/connections/netsuite/export/expenses/${expenseType as string}/vendor/select` as const, backTo),
3656-
},
3657-
POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES_PAYABLE_ACCOUNT_SELECT: {
3658-
route: 'workspaces/:policyID/connections/netsuite/export/expenses/:expenseType/payable-account/select',
3659-
getRoute: (policyID: string, expenseType: ValueOf<typeof CONST.NETSUITE_EXPENSE_TYPE>, backTo?: string) =>
3660-
// eslint-disable-next-line no-restricted-syntax -- Legacy route generation
3661-
getUrlWithBackToParam(`workspaces/${policyID}/connections/netsuite/export/expenses/${expenseType as string}/payable-account/select` as const, backTo),
3662-
},
3663-
POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES_JOURNAL_POSTING_PREFERENCE_SELECT: {
3664-
route: 'workspaces/:policyID/connections/netsuite/export/expenses/:expenseType/journal-posting-preference/select',
3665-
getRoute: (policyID: string, expenseType: ValueOf<typeof CONST.NETSUITE_EXPENSE_TYPE>, backTo?: string) =>
3666-
// eslint-disable-next-line no-restricted-syntax -- Legacy route generation
3667-
getUrlWithBackToParam(`workspaces/${policyID}/connections/netsuite/export/expenses/${expenseType as string}/journal-posting-preference/select` as const, backTo),
3668-
},
3669-
POLICY_ACCOUNTING_NETSUITE_RECEIVABLE_ACCOUNT_SELECT: {
3670-
route: 'workspaces/:policyID/connections/netsuite/export/receivable-account/select',
3671-
3672-
// eslint-disable-next-line no-restricted-syntax -- Legacy route generation
3673-
getRoute: (policyID: string, backTo?: string) => getUrlWithBackToParam(`workspaces/${policyID}/connections/netsuite/export/receivable-account/select` as const, backTo),
3674-
},
36753667
POLICY_ACCOUNTING_NETSUITE_INVOICE_ITEM_PREFERENCE_SELECT: {
36763668
route: 'workspaces/:policyID/connections/netsuite/export/invoice-item-preference/select',
36773669
getRoute: (policyID: string | undefined, backTo?: string) => {

src/SCREENS.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -608,10 +608,10 @@ const SCREENS = {
608608
NETSUITE_DATE_SELECT: 'Policy_Accounting_NetSuite_Date_Select',
609609
NETSUITE_EXPORT_EXPENSES: 'Policy_Accounting_NetSuite_Export_Expenses',
610610
NETSUITE_EXPORT_EXPENSES_DESTINATION_SELECT: 'Policy_Accounting_NetSuite_Export_Expenses_Destination_Select',
611-
NETSUITE_EXPORT_EXPENSES_VENDOR_SELECT: 'Policy_Accounting_NetSuite_Export_Expenses_Vendor_Select',
612-
NETSUITE_EXPORT_EXPENSES_PAYABLE_ACCOUNT_SELECT: 'Policy_Accounting_NetSuite_Export_Expenses_Payable_Account_Select',
613-
NETSUITE_EXPORT_EXPENSES_JOURNAL_POSTING_PREFERENCE_SELECT: 'Policy_Accounting_NetSuite_Export_Expenses_Journal_Posting_Preference_Select',
614-
NETSUITE_RECEIVABLE_ACCOUNT_SELECT: 'Policy_Accounting_NetSuite_Receivable_Account_Select',
611+
DYNAMIC_NETSUITE_EXPORT_EXPENSES_VENDOR_SELECT: 'Dynamic_Policy_Accounting_NetSuite_Export_Expenses_Vendor_Select',
612+
DYNAMIC_NETSUITE_EXPORT_EXPENSES_PAYABLE_ACCOUNT_SELECT: 'Dynamic_Policy_Accounting_NetSuite_Export_Expenses_Payable_Account_Select',
613+
DYNAMIC_NETSUITE_EXPORT_EXPENSES_JOURNAL_POSTING_PREFERENCE_SELECT: 'Dynamic_Policy_Accounting_NetSuite_Export_Expenses_Journal_Posting_Preference_Select',
614+
DYNAMIC_NETSUITE_RECEIVABLE_ACCOUNT_SELECT: 'Dynamic_Policy_Accounting_NetSuite_Receivable_Account_Select',
615615
NETSUITE_INVOICE_ITEM_PREFERENCE_SELECT: 'Policy_Accounting_NetSuite_Invoice_Item_Preference_Select',
616616
NETSUITE_INVOICE_ITEM_SELECT: 'Policy_Accounting_NetSuite_Invoice_Item_Select',
617617
NETSUITE_TAX_POSTING_ACCOUNT_SELECT: 'Policy_Accounting_NetSuite_Tax_Posting_Account_Select',

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

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -716,14 +716,14 @@ const SettingsModalStackNavigator = createModalStackNavigator<SettingsNavigatorP
716716
[SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT_EXPENSES]: () => require<ReactComponentModule>('../../../../pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesPage').default,
717717
[SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT_EXPENSES_DESTINATION_SELECT]: () =>
718718
require<ReactComponentModule>('../../../../pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesDestinationSelectPage').default,
719-
[SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT_EXPENSES_VENDOR_SELECT]: () =>
720-
require<ReactComponentModule>('../../../../pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesVendorSelectPage').default,
721-
[SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT_EXPENSES_PAYABLE_ACCOUNT_SELECT]: () =>
722-
require<ReactComponentModule>('../../../../pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesPayableAccountSelectPage').default,
723-
[SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT_EXPENSES_JOURNAL_POSTING_PREFERENCE_SELECT]: () =>
724-
require<ReactComponentModule>('../../../../pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesJournalPostingPreferenceSelectPage').default,
725-
[SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_RECEIVABLE_ACCOUNT_SELECT]: () =>
726-
require<ReactComponentModule>('../../../../pages/workspace/accounting/netsuite/export/NetSuiteReceivableAccountSelectPage').default,
719+
[SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_EXPORT_EXPENSES_VENDOR_SELECT]: () =>
720+
require<ReactComponentModule>('../../../../pages/workspace/accounting/netsuite/export/DynamicNetSuiteExportExpensesVendorSelectPage').default,
721+
[SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_EXPORT_EXPENSES_PAYABLE_ACCOUNT_SELECT]: () =>
722+
require<ReactComponentModule>('../../../../pages/workspace/accounting/netsuite/export/DynamicNetSuiteExportExpensesPayableAccountSelectPage').default,
723+
[SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_EXPORT_EXPENSES_JOURNAL_POSTING_PREFERENCE_SELECT]: () =>
724+
require<ReactComponentModule>('../../../../pages/workspace/accounting/netsuite/export/DynamicNetSuiteExportExpensesJournalPostingPreferenceSelectPage').default,
725+
[SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_RECEIVABLE_ACCOUNT_SELECT]: () =>
726+
require<ReactComponentModule>('../../../../pages/workspace/accounting/netsuite/export/DynamicNetSuiteReceivableAccountSelectPage').default,
727727
[SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_INVOICE_ITEM_PREFERENCE_SELECT]: () =>
728728
require<ReactComponentModule>('../../../../pages/workspace/accounting/netsuite/export/NetSuiteInvoiceItemPreferenceSelectPage').default,
729729
[SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_INVOICE_ITEM_SELECT]: () =>

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -129,10 +129,10 @@ const WORKSPACE_TO_RHP: Partial<Record<keyof WorkspaceSplitNavigatorParamList, s
129129
SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_DATE_SELECT,
130130
SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT_EXPENSES,
131131
SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT_EXPENSES_DESTINATION_SELECT,
132-
SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT_EXPENSES_VENDOR_SELECT,
133-
SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT_EXPENSES_PAYABLE_ACCOUNT_SELECT,
134-
SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT_EXPENSES_JOURNAL_POSTING_PREFERENCE_SELECT,
135-
SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_RECEIVABLE_ACCOUNT_SELECT,
132+
SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_EXPORT_EXPENSES_VENDOR_SELECT,
133+
SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_EXPORT_EXPENSES_PAYABLE_ACCOUNT_SELECT,
134+
SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_EXPORT_EXPENSES_JOURNAL_POSTING_PREFERENCE_SELECT,
135+
SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_RECEIVABLE_ACCOUNT_SELECT,
136136
SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_INVOICE_ITEM_PREFERENCE_SELECT,
137137
SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_INVOICE_ITEM_SELECT,
138138
SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_TAX_POSTING_ACCOUNT_SELECT,

src/libs/Navigation/linkingConfig/config.ts

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -686,18 +686,12 @@ const config: LinkingOptions<RootNavigatorParamList>['config'] = {
686686
[SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT_EXPENSES_DESTINATION_SELECT]: {
687687
path: ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES_DESTINATION_SELECT.route,
688688
},
689-
[SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT_EXPENSES_VENDOR_SELECT]: {
690-
path: ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES_VENDOR_SELECT.route,
691-
},
692-
[SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT_EXPENSES_PAYABLE_ACCOUNT_SELECT]: {
693-
path: ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES_PAYABLE_ACCOUNT_SELECT.route,
694-
},
695-
[SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT_EXPENSES_JOURNAL_POSTING_PREFERENCE_SELECT]: {
696-
path: ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES_JOURNAL_POSTING_PREFERENCE_SELECT.route,
697-
},
698-
[SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_RECEIVABLE_ACCOUNT_SELECT]: {
699-
path: ROUTES.POLICY_ACCOUNTING_NETSUITE_RECEIVABLE_ACCOUNT_SELECT.route,
700-
},
689+
[SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_EXPORT_EXPENSES_VENDOR_SELECT]: DYNAMIC_ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES_VENDOR_SELECT.path,
690+
[SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_EXPORT_EXPENSES_PAYABLE_ACCOUNT_SELECT]:
691+
DYNAMIC_ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES_PAYABLE_ACCOUNT_SELECT.path,
692+
[SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_EXPORT_EXPENSES_JOURNAL_POSTING_PREFERENCE_SELECT]:
693+
DYNAMIC_ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES_JOURNAL_POSTING_PREFERENCE_SELECT.path,
694+
[SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_RECEIVABLE_ACCOUNT_SELECT]: DYNAMIC_ROUTES.POLICY_ACCOUNTING_NETSUITE_RECEIVABLE_ACCOUNT_SELECT.path,
701695
[SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_INVOICE_ITEM_PREFERENCE_SELECT]: {
702696
path: ROUTES.POLICY_ACCOUNTING_NETSUITE_INVOICE_ITEM_PREFERENCE_SELECT.route,
703697
},

src/libs/Navigation/types.ts

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1001,28 +1001,20 @@ type SettingsNavigatorParamList = {
10011001
// 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
10021002
backTo?: Routes;
10031003
};
1004-
[SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT_EXPENSES_VENDOR_SELECT]: {
1004+
[SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_EXPORT_EXPENSES_VENDOR_SELECT]: {
10051005
policyID: string;
10061006
expenseType: ValueOf<typeof CONST.NETSUITE_EXPENSE_TYPE>;
1007-
// 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
1008-
backTo?: Routes;
10091007
};
1010-
[SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT_EXPENSES_PAYABLE_ACCOUNT_SELECT]: {
1008+
[SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_EXPORT_EXPENSES_PAYABLE_ACCOUNT_SELECT]: {
10111009
policyID: string;
10121010
expenseType: ValueOf<typeof CONST.NETSUITE_EXPENSE_TYPE>;
1013-
// 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
1014-
backTo?: Routes;
10151011
};
1016-
[SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT_EXPENSES_JOURNAL_POSTING_PREFERENCE_SELECT]: {
1012+
[SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_EXPORT_EXPENSES_JOURNAL_POSTING_PREFERENCE_SELECT]: {
10171013
policyID: string;
10181014
expenseType: ValueOf<typeof CONST.NETSUITE_EXPENSE_TYPE>;
1019-
// 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
1020-
backTo?: Routes;
10211015
};
1022-
[SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_RECEIVABLE_ACCOUNT_SELECT]: {
1016+
[SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_RECEIVABLE_ACCOUNT_SELECT]: {
10231017
policyID: string;
1024-
// 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
1025-
backTo?: Routes;
10261018
};
10271019
[SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_INVOICE_ITEM_PREFERENCE_SELECT]: {
10281020
policyID: string;

src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesJournalPostingPreferenceSelectPage.tsx renamed to src/pages/workspace/accounting/netsuite/export/DynamicNetSuiteExportExpensesJournalPostingPreferenceSelectPage.tsx

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import RadioListItem from '@components/SelectionList/ListItem/RadioListItem';
55
import type {ListItem} from '@components/SelectionList/types';
66
import SelectionScreen from '@components/SelectionScreen';
77
import type {SelectorType} from '@components/SelectionScreen';
8+
import useDynamicBackPath from '@hooks/useDynamicBackPath';
89
import useLocalize from '@hooks/useLocalize';
910
import useThemeStyles from '@hooks/useThemeStyles';
1011
import {updateNetSuiteJournalPostingPreference} from '@libs/actions/connections/NetSuiteCommands';
@@ -17,23 +18,23 @@ import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnec
1718
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
1819
import {clearNetSuiteErrorField} from '@userActions/Policy/Policy';
1920
import CONST from '@src/CONST';
20-
import ROUTES from '@src/ROUTES';
21+
import {DYNAMIC_ROUTES} from '@src/ROUTES';
2122
import type SCREENS from '@src/SCREENS';
2223

2324
type MenuListItem = ListItem & {
2425
value: ValueOf<typeof CONST.NETSUITE_JOURNAL_POSTING_PREFERENCE>;
2526
};
2627

27-
function NetSuiteExportExpensesJournalPostingPreferenceSelectPage({policy}: WithPolicyConnectionsProps) {
28+
function DynamicNetSuiteExportExpensesJournalPostingPreferenceSelectPage({policy}: WithPolicyConnectionsProps) {
2829
const {translate} = useLocalize();
2930
const styles = useThemeStyles();
3031
const policyID = policy?.id;
3132
const config = policy?.connections?.netsuite?.options.config;
3233

33-
const route = useRoute<PlatformStackRouteProp<SettingsNavigatorParamList, typeof SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT_EXPENSES_JOURNAL_POSTING_PREFERENCE_SELECT>>();
34+
const route = useRoute<PlatformStackRouteProp<SettingsNavigatorParamList, typeof SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_EXPORT_EXPENSES_JOURNAL_POSTING_PREFERENCE_SELECT>>();
3435
const params = route.params;
35-
const backTo = params.backTo;
3636
const isReimbursable = params.expenseType === CONST.NETSUITE_EXPENSE_TYPE.REIMBURSABLE;
37+
const backPath = useDynamicBackPath(DYNAMIC_ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES_JOURNAL_POSTING_PREFERENCE_SELECT.path);
3738

3839
const selectedValue =
3940
Object.values(CONST.NETSUITE_JOURNAL_POSTING_PREFERENCE).find((value) => value === config?.journalPostingPreference) ??
@@ -47,8 +48,8 @@ function NetSuiteExportExpensesJournalPostingPreferenceSelectPage({policy}: With
4748
}));
4849

4950
const goBack = useCallback(() => {
50-
Navigation.goBack(backTo ?? ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType));
51-
}, [policyID, params.expenseType, backTo]);
51+
Navigation.goBack(backPath);
52+
}, [backPath]);
5253

5354
const selectPostingPreference = useCallback(
5455
(row: MenuListItem) => {
@@ -86,4 +87,4 @@ function NetSuiteExportExpensesJournalPostingPreferenceSelectPage({policy}: With
8687
);
8788
}
8889

89-
export default withPolicyConnections(NetSuiteExportExpensesJournalPostingPreferenceSelectPage);
90+
export default withPolicyConnections(DynamicNetSuiteExportExpensesJournalPostingPreferenceSelectPage);

src/pages/workspace/accounting/netsuite/export/NetSuiteExportExpensesPayableAccountSelectPage.tsx renamed to src/pages/workspace/accounting/netsuite/export/DynamicNetSuiteExportExpensesPayableAccountSelectPage.tsx

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import BlockingView from '@components/BlockingViews/BlockingView';
44
import RadioListItem from '@components/SelectionList/ListItem/RadioListItem';
55
import type {SelectorType} from '@components/SelectionScreen';
66
import SelectionScreen from '@components/SelectionScreen';
7+
import useDynamicBackPath from '@hooks/useDynamicBackPath';
78
import {useMemoizedLazyIllustrations} from '@hooks/useLazyAsset';
89
import useLocalize from '@hooks/useLocalize';
910
import useThemeStyles from '@hooks/useThemeStyles';
@@ -18,20 +19,20 @@ import withPolicyConnections from '@pages/workspace/withPolicyConnections';
1819
import variables from '@styles/variables';
1920
import {clearNetSuiteErrorField} from '@userActions/Policy/Policy';
2021
import CONST from '@src/CONST';
21-
import ROUTES from '@src/ROUTES';
22+
import {DYNAMIC_ROUTES} from '@src/ROUTES';
2223
import type SCREENS from '@src/SCREENS';
2324

24-
function NetSuiteExportExpensesPayableAccountSelectPage({policy}: WithPolicyConnectionsProps) {
25+
function DynamicNetSuiteExportExpensesPayableAccountSelectPage({policy}: WithPolicyConnectionsProps) {
2526
const styles = useThemeStyles();
2627
const {translate} = useLocalize();
2728

2829
const policyID = policy?.id;
2930
const illustrations = useMemoizedLazyIllustrations(['Telescope']);
3031

31-
const route = useRoute<PlatformStackRouteProp<SettingsNavigatorParamList, typeof SCREENS.WORKSPACE.ACCOUNTING.NETSUITE_EXPORT_EXPENSES_PAYABLE_ACCOUNT_SELECT>>();
32+
const route = useRoute<PlatformStackRouteProp<SettingsNavigatorParamList, typeof SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_NETSUITE_EXPORT_EXPENSES_PAYABLE_ACCOUNT_SELECT>>();
3233
const params = route.params;
33-
const backTo = params.backTo;
3434
const isReimbursable = params.expenseType === CONST.NETSUITE_EXPENSE_TYPE.REIMBURSABLE;
35+
const backPath = useDynamicBackPath(DYNAMIC_ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES_PAYABLE_ACCOUNT_SELECT.path);
3536

3637
const config = policy?.connections?.netsuite?.options.config;
3738
const currentSettingName = isReimbursable ? CONST.NETSUITE_CONFIG.REIMBURSABLE_PAYABLE_ACCOUNT : CONST.NETSUITE_CONFIG.PAYABLE_ACCT;
@@ -41,8 +42,8 @@ function NetSuiteExportExpensesPayableAccountSelectPage({policy}: WithPolicyConn
4142
const initiallyFocusedOptionKey = useMemo(() => netsuitePayableAccountOptions?.find((mode) => mode.isSelected)?.keyForList, [netsuitePayableAccountOptions]);
4243

4344
const goBack = useCallback(() => {
44-
Navigation.goBack(backTo ?? ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT_EXPENSES.getRoute(policyID, params.expenseType));
45-
}, [policyID, params.expenseType, backTo]);
45+
Navigation.goBack(backPath);
46+
}, [backPath]);
4647

4748
const updatePayableAccount = useCallback(
4849
({value}: SelectorType) => {
@@ -99,4 +100,4 @@ function NetSuiteExportExpensesPayableAccountSelectPage({policy}: WithPolicyConn
99100
);
100101
}
101102

102-
export default withPolicyConnections(NetSuiteExportExpensesPayableAccountSelectPage);
103+
export default withPolicyConnections(DynamicNetSuiteExportExpensesPayableAccountSelectPage);

0 commit comments

Comments
 (0)