Skip to content

Commit 639dcff

Browse files
committed
fix: full path as back path
1 parent fb230d7 commit 639dcff

3 files changed

Lines changed: 26 additions & 16 deletions

File tree

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

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,28 +3,33 @@ import BlockingView from '@components/BlockingViews/BlockingView';
33
import RadioListItem from '@components/SelectionList/ListItem/RadioListItem';
44
import type {SelectorType} from '@components/SelectionScreen';
55
import SelectionScreen from '@components/SelectionScreen';
6-
import useDynamicBackPath from '@hooks/useDynamicBackPath';
76
import {useMemoizedLazyIllustrations} from '@hooks/useLazyAsset';
87
import useLocalize from '@hooks/useLocalize';
98
import useThemeStyles from '@hooks/useThemeStyles';
109
import {updateNetSuiteProvincialTaxPostingAccount} from '@libs/actions/connections/NetSuiteCommands';
1110
import {getLatestErrorField} from '@libs/ErrorUtils';
11+
import createDynamicRoute from '@libs/Navigation/helpers/dynamicRoutesUtils/createDynamicRoute';
1212
import Navigation from '@libs/Navigation/Navigation';
1313
import {canUseProvincialTaxNetSuite, getNetSuiteTaxAccountOptions, settingsPendingAction} from '@libs/PolicyUtils';
1414
import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections';
1515
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
1616
import variables from '@styles/variables';
1717
import {clearNetSuiteErrorField} from '@userActions/Policy/Policy';
1818
import CONST from '@src/CONST';
19-
import {DYNAMIC_ROUTES} from '@src/ROUTES';
19+
import ROUTES, {DYNAMIC_ROUTES} from '@src/ROUTES';
2020

2121
function NetSuiteProvincialTaxPostingAccountSelectPage({policy}: WithPolicyConnectionsProps) {
2222
const styles = useThemeStyles();
2323
const {translate} = useLocalize();
2424
const illustrations = useMemoizedLazyIllustrations(['Telescope']);
2525

2626
const policyID = policy?.id;
27-
const backPath = useDynamicBackPath(DYNAMIC_ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.path);
27+
const netSuiteExportBackPath = useMemo(() => {
28+
if (!policyID) {
29+
return ROUTES.HOME;
30+
}
31+
return createDynamicRoute(DYNAMIC_ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.path, ROUTES.WORKSPACE_ACCOUNTING.getRoute(policyID));
32+
}, [policyID]);
2833

2934
const config = policy?.connections?.netsuite?.options.config;
3035
const {subsidiaryList} = policy?.connections?.netsuite?.options?.data ?? {};
@@ -42,9 +47,9 @@ function NetSuiteProvincialTaxPostingAccountSelectPage({policy}: WithPolicyConne
4247
if (config?.provincialTaxPostingAccount !== value && policyID) {
4348
updateNetSuiteProvincialTaxPostingAccount(policyID, value, config?.provincialTaxPostingAccount);
4449
}
45-
Navigation.goBack(backPath);
50+
Navigation.goBack(netSuiteExportBackPath);
4651
},
47-
[backPath, policyID, config?.provincialTaxPostingAccount],
52+
[netSuiteExportBackPath, policyID, config?.provincialTaxPostingAccount],
4853
);
4954

5055
const listEmptyContent = useMemo(
@@ -71,7 +76,7 @@ function NetSuiteProvincialTaxPostingAccountSelectPage({policy}: WithPolicyConne
7176
listItem={RadioListItem}
7277
onSelectRow={updateTaxAccount}
7378
initiallyFocusedOptionKey={initiallyFocusedOptionKey}
74-
onBackButtonPress={() => Navigation.goBack(backPath)}
79+
onBackButtonPress={() => Navigation.goBack(netSuiteExportBackPath)}
7580
title="workspace.netsuite.journalEntriesProvTaxPostingAccount"
7681
listEmptyContent={listEmptyContent}
7782
connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE}

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

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,21 @@ import BlockingView from '@components/BlockingViews/BlockingView';
33
import RadioListItem from '@components/SelectionList/ListItem/RadioListItem';
44
import type {SelectorType} from '@components/SelectionScreen';
55
import SelectionScreen from '@components/SelectionScreen';
6-
import useDynamicBackPath from '@hooks/useDynamicBackPath';
76
import {useMemoizedLazyIllustrations} from '@hooks/useLazyAsset';
87
import useLocalize from '@hooks/useLocalize';
98
import usePermissions from '@hooks/usePermissions';
109
import useThemeStyles from '@hooks/useThemeStyles';
1110
import {updateNetSuiteTaxPostingAccount} from '@libs/actions/connections/NetSuiteCommands';
1211
import {getLatestErrorField} from '@libs/ErrorUtils';
12+
import createDynamicRoute from '@libs/Navigation/helpers/dynamicRoutesUtils/createDynamicRoute';
1313
import Navigation from '@libs/Navigation/Navigation';
1414
import {canUseTaxNetSuite, getNetSuiteTaxAccountOptions, settingsPendingAction} from '@libs/PolicyUtils';
1515
import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections';
1616
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
1717
import variables from '@styles/variables';
1818
import {clearNetSuiteErrorField} from '@userActions/Policy/Policy';
1919
import CONST from '@src/CONST';
20-
import {DYNAMIC_ROUTES} from '@src/ROUTES';
20+
import ROUTES, {DYNAMIC_ROUTES} from '@src/ROUTES';
2121

2222
function NetSuiteTaxPostingAccountSelectPage({policy}: WithPolicyConnectionsProps) {
2323
const styles = useThemeStyles();
@@ -26,7 +26,12 @@ function NetSuiteTaxPostingAccountSelectPage({policy}: WithPolicyConnectionsProp
2626
const {isBetaEnabled} = usePermissions();
2727

2828
const policyID = policy?.id;
29-
const backPath = useDynamicBackPath(DYNAMIC_ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.path);
29+
const netSuiteExportBackPath = useMemo(() => {
30+
if (!policyID) {
31+
return ROUTES.HOME;
32+
}
33+
return createDynamicRoute(DYNAMIC_ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.path, ROUTES.WORKSPACE_ACCOUNTING.getRoute(policyID));
34+
}, [policyID]);
3035

3136
const config = policy?.connections?.netsuite?.options.config;
3237
const {subsidiaryList} = policy?.connections?.netsuite?.options?.data ?? {};
@@ -44,9 +49,9 @@ function NetSuiteTaxPostingAccountSelectPage({policy}: WithPolicyConnectionsProp
4449
if (config?.taxPostingAccount !== value && policyID) {
4550
updateNetSuiteTaxPostingAccount(policyID, value, config?.taxPostingAccount);
4651
}
47-
Navigation.goBack(backPath);
52+
Navigation.goBack(netSuiteExportBackPath);
4853
},
49-
[backPath, policyID, config?.taxPostingAccount],
54+
[netSuiteExportBackPath, policyID, config?.taxPostingAccount],
5055
);
5156

5257
const listEmptyContent = useMemo(
@@ -73,7 +78,7 @@ function NetSuiteTaxPostingAccountSelectPage({policy}: WithPolicyConnectionsProp
7378
listItem={RadioListItem}
7479
onSelectRow={updateTaxAccount}
7580
initiallyFocusedOptionKey={initiallyFocusedOptionKey}
76-
onBackButtonPress={() => Navigation.goBack(backPath)}
81+
onBackButtonPress={() => Navigation.goBack(netSuiteExportBackPath)}
7782
title="workspace.netsuite.journalEntriesTaxPostingAccount"
7883
listEmptyContent={listEmptyContent}
7984
connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE}

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
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';
6-
import useDynamicBackPath from '@hooks/useDynamicBackPath';
76
import useLocalize from '@hooks/useLocalize';
87
import useThemeStyles from '@hooks/useThemeStyles';
8+
import createDynamicRoute from '@libs/Navigation/helpers/dynamicRoutesUtils/createDynamicRoute';
99
import {areSettingsInErrorFields, settingsPendingAction} from '@libs/PolicyUtils';
1010
import Navigation from '@navigation/Navigation';
1111
import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections';
@@ -30,7 +30,7 @@ function NetSuiteTravelInvoicingConfigurationPage({policy}: WithPolicyConnection
3030
const styles = useThemeStyles();
3131

3232
const policyID = policy?.id ?? String(CONST.DEFAULT_NUMBER_ID);
33-
const backPath = useDynamicBackPath(DYNAMIC_ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.path);
33+
const netSuiteExportBackPath = useMemo(() => createDynamicRoute(DYNAMIC_ROUTES.POLICY_ACCOUNTING_NETSUITE_EXPORT.path, ROUTES.WORKSPACE_ACCOUNTING.getRoute(policyID)), [policyID]);
3434
const config = policy?.connections?.netsuite?.options?.config;
3535

3636
const {payableList} = policy?.connections?.netsuite?.options?.data ?? {};
@@ -62,7 +62,7 @@ function NetSuiteTravelInvoicingConfigurationPage({policy}: WithPolicyConnection
6262
contentContainerStyle={styles.pb2}
6363
titleStyle={styles.ph5}
6464
connectionName={CONST.POLICY.CONNECTIONS.NAME.NETSUITE}
65-
onBackButtonPress={() => Navigation.goBack(backPath)}
65+
onBackButtonPress={() => Navigation.goBack(netSuiteExportBackPath)}
6666
>
6767
{sections.map((section) => (
6868
<OfflineWithFeedback

0 commit comments

Comments
 (0)