Skip to content

Commit 4a8ff9a

Browse files
authored
Merge pull request #88020 from mananjadhav/mj-83839-dr-qbo-adv
2 parents b6e818c + 090a725 commit 4a8ff9a

12 files changed

Lines changed: 68 additions & 56 deletions

File tree

src/ROUTES.ts

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,14 @@ const DYNAMIC_ROUTES = {
234234
path: 'accounting-method',
235235
entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.CARD_RECONCILIATION, SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_XERO_AUTO_SYNC],
236236
},
237+
WORKSPACE_ACCOUNTING_QUICKBOOKS_ONLINE_AUTO_SYNC: {
238+
path: 'quickbooks-online-autosync',
239+
entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_ONLINE_ADVANCED, SCREENS.WORKSPACE.ACCOUNTING.CARD_RECONCILIATION],
240+
},
241+
WORKSPACE_ACCOUNTING_QUICKBOOKS_ONLINE_ACCOUNTING_METHOD: {
242+
path: 'quickbooks-online-accounting-method',
243+
entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_QUICKBOOKS_ONLINE_AUTO_SYNC, SCREENS.WORKSPACE.ACCOUNTING.CARD_RECONCILIATION],
244+
},
237245
WORKSPACE_ACCOUNTING_RECONCILIATION_ACCOUNT_SETTINGS: {
238246
path: 'account-reconciliation-settings',
239247
entryScreens: [SCREENS.WORKSPACE.ACCOUNTING.CARD_RECONCILIATION, SCREENS.WORKSPACE.EXPENSIFY_CARD_SETTINGS_ACCOUNT],
@@ -2246,18 +2254,6 @@ const ROUTES = {
22462254
route: 'workspaces/:policyID/accounting/quickbooks-online/invoice-account-selector',
22472255
getRoute: (policyID: string | undefined) => `workspaces/${policyID}/accounting/quickbooks-online/invoice-account-selector` as const,
22482256
},
2249-
WORKSPACE_ACCOUNTING_QUICKBOOKS_ONLINE_AUTO_SYNC: {
2250-
route: 'workspaces/:policyID/connections/quickbooks-online/advanced/autosync',
2251-
2252-
// eslint-disable-next-line no-restricted-syntax -- Legacy route generation
2253-
getRoute: (policyID: string | undefined, backTo?: string) => getUrlWithBackToParam(`workspaces/${policyID}/connections/quickbooks-online/advanced/autosync` as const, backTo),
2254-
},
2255-
WORKSPACE_ACCOUNTING_QUICKBOOKS_ONLINE_ACCOUNTING_METHOD: {
2256-
route: 'workspaces/:policyID/connections/quickbooks-online/advanced/autosync/accounting-method',
2257-
getRoute: (policyID: string | undefined, backTo?: string) =>
2258-
// eslint-disable-next-line no-restricted-syntax -- Legacy route generation
2259-
getUrlWithBackToParam(`workspaces/${policyID}/connections/quickbooks-online/advanced/autosync/accounting-method` as const, backTo),
2260-
},
22612257
WORKSPACE_ACCOUNTING_CARD_RECONCILIATION: {
22622258
route: 'workspaces/:policyID/accounting/:connection/card-reconciliation',
22632259
getRoute: (policyID?: string, connection?: ValueOf<typeof CONST.POLICY.CONNECTIONS.ROUTE>) => {

src/SCREENS.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -546,8 +546,8 @@ const SCREENS = {
546546
QUICKBOOKS_ONLINE_CLASSES_DISPLAYED_AS: 'Policy_Accounting_Quickbooks_Online_Import_Classes_Displayed_As',
547547
QUICKBOOKS_ONLINE_CUSTOMERS_DISPLAYED_AS: 'Policy_Accounting_Quickbooks_Online_Import_Customers_Displayed_As',
548548
QUICKBOOKS_ONLINE_LOCATIONS_DISPLAYED_AS: 'Policy_Accounting_Quickbooks_Online_Import_Locations_Displayed_As',
549-
QUICKBOOKS_ONLINE_AUTO_SYNC: 'Policy_Accounting_Quickbooks_Online_Auto_Sync',
550-
QUICKBOOKS_ONLINE_ACCOUNTING_METHOD: 'Policy_Accounting_Quickbooks_Online_Accounting_Method',
549+
DYNAMIC_QUICKBOOKS_ONLINE_AUTO_SYNC: 'Dynamic_Policy_Accounting_Quickbooks_Online_Auto_Sync',
550+
DYNAMIC_QUICKBOOKS_ONLINE_ACCOUNTING_METHOD: 'Dynamic_Policy_Accounting_Quickbooks_Online_Accounting_Method',
551551
QUICKBOOKS_DESKTOP_COMPANY_CARD_EXPENSE_ACCOUNT_SELECT: 'Workspace_Accounting_Quickbooks_Desktop_Export_Company_Card_Expense_Account_Select',
552552
QUICKBOOKS_DESKTOP_COMPANY_CARD_EXPENSE_ACCOUNT_COMPANY_CARD_SELECT: 'Workspace_Accounting_Quickbooks_Desktop_Export_Company_Card_Expense_Select',
553553
QUICKBOOKS_DESKTOP_COMPANY_CARD_EXPENSE_ACCOUNT: 'Workspace_Accounting_Quickbooks_Desktop_Export_Company_Card_Expense',

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

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -587,9 +587,10 @@ const SettingsModalStackNavigator = createModalStackNavigator<SettingsNavigatorP
587587
require<ReactComponentModule>('@pages/workspace/accounting/qbo/export/DynamicQuickbooksCompanyCardExpenseAccountSelectPage').default,
588588
[SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_QUICKBOOKS_ONLINE_COMPANY_CARD_EXPENSE_ACCOUNT_COMPANY_CARD_SELECT]: () =>
589589
require<ReactComponentModule>('../../../../pages/workspace/accounting/qbo/export/DynamicQuickbooksCompanyCardExpenseAccountSelectCardPage').default,
590-
[SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_ONLINE_AUTO_SYNC]: () => require<ReactComponentModule>('../../../../pages/workspace/accounting/qbo/advanced/QuickbooksAutoSyncPage').default,
591-
[SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_ONLINE_ACCOUNTING_METHOD]: () =>
592-
require<ReactComponentModule>('../../../../pages/workspace/accounting/qbo/advanced/QuickbooksAccountingMethodPage').default,
590+
[SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_QUICKBOOKS_ONLINE_AUTO_SYNC]: () =>
591+
require<ReactComponentModule>('../../../../pages/workspace/accounting/qbo/advanced/DynamicQuickbooksOnlineAutoSyncPage').default,
592+
[SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_QUICKBOOKS_ONLINE_ACCOUNTING_METHOD]: () =>
593+
require<ReactComponentModule>('../../../../pages/workspace/accounting/qbo/advanced/DynamicQuickbooksOnlineAccountingMethodPage').default,
593594
[SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_QUICKBOOKS_ONLINE_COMPANY_CARD_EXPENSE_ACCOUNT]: () =>
594595
require<ReactComponentModule>('../../../../pages/workspace/accounting/qbo/export/DynamicQuickbooksCompanyCardExpenseAccountPage').default,
595596
[SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_QUICKBOOKS_ONLINE_EXPORT_PREFERRED_EXPORTER]: () =>

src/libs/Navigation/linkingConfig/OldRoutes.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ const oldRoutes: Record<string, string> = {
55
'/r/*/settings/name': '/r/$1/details/settings/name',
66
'/workspaces/*/overview/address': '/workspaces/$1/overview/workspace-address',
77
'/workspaces/*/accounting/*/card-reconciliation/account': '/workspaces/$1/accounting/$2/card-reconciliation/account-reconciliation-settings',
8+
'/workspaces/*/connections/quickbooks-online/advanced/autosync/accounting-method':
9+
'/workspaces/$1/accounting/quickbooks-online/advanced/quickbooks-online-autosync/quickbooks-online-accounting-method',
10+
'/workspaces/*/connections/quickbooks-online/advanced/autosync': '/workspaces/$1/accounting/quickbooks-online/advanced/quickbooks-online-autosync',
811
'/flag/*/*': '/r/$1/flag/$1/$2',
912
'/home-page': '/home',
1013
/* eslint-enable @typescript-eslint/naming-convention */

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ const WORKSPACE_TO_RHP: Partial<Record<keyof WorkspaceSplitNavigatorParamList, s
5959
SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_ONLINE_CLASSES_DISPLAYED_AS,
6060
SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_ONLINE_CUSTOMERS_DISPLAYED_AS,
6161
SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_ONLINE_LOCATIONS_DISPLAYED_AS,
62-
SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_ONLINE_AUTO_SYNC,
63-
SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_ONLINE_ACCOUNTING_METHOD,
62+
SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_QUICKBOOKS_ONLINE_AUTO_SYNC,
63+
SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_QUICKBOOKS_ONLINE_ACCOUNTING_METHOD,
6464
SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_DESKTOP_COMPANY_CARD_EXPENSE_ACCOUNT_SELECT,
6565
SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_DESKTOP_COMPANY_CARD_EXPENSE_ACCOUNT_COMPANY_CARD_SELECT,
6666
SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_DESKTOP_COMPANY_CARD_EXPENSE_ACCOUNT,

src/libs/Navigation/linkingConfig/config.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -584,12 +584,8 @@ const config: LinkingOptions<RootNavigatorParamList>['config'] = {
584584
[SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_ONLINE_LOCATIONS_DISPLAYED_AS]: {
585585
path: ROUTES.POLICY_ACCOUNTING_QUICKBOOKS_ONLINE_LOCATIONS_DISPLAYED_AS.route,
586586
},
587-
[SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_ONLINE_AUTO_SYNC]: {
588-
path: ROUTES.WORKSPACE_ACCOUNTING_QUICKBOOKS_ONLINE_AUTO_SYNC.route,
589-
},
590-
[SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_ONLINE_ACCOUNTING_METHOD]: {
591-
path: ROUTES.WORKSPACE_ACCOUNTING_QUICKBOOKS_ONLINE_ACCOUNTING_METHOD.route,
592-
},
587+
[SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_QUICKBOOKS_ONLINE_AUTO_SYNC]: DYNAMIC_ROUTES.WORKSPACE_ACCOUNTING_QUICKBOOKS_ONLINE_AUTO_SYNC.path,
588+
[SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_QUICKBOOKS_ONLINE_ACCOUNTING_METHOD]: DYNAMIC_ROUTES.WORKSPACE_ACCOUNTING_QUICKBOOKS_ONLINE_ACCOUNTING_METHOD.path,
593589
[SCREENS.WORKSPACE.ACCOUNTING.QUICKBOOKS_DESKTOP_COMPANY_CARD_EXPENSE_ACCOUNT_SELECT]: {
594590
path: ROUTES.POLICY_ACCOUNTING_QUICKBOOKS_DESKTOP_COMPANY_CARD_EXPENSE_ACCOUNT_SELECT.route,
595591
},

src/libs/Navigation/types.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -895,6 +895,12 @@ type SettingsNavigatorParamList = {
895895
[SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_XERO_ACCOUNTING_METHOD]: {
896896
policyID: string;
897897
};
898+
[SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_QUICKBOOKS_ONLINE_AUTO_SYNC]: {
899+
policyID: string;
900+
};
901+
[SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_QUICKBOOKS_ONLINE_ACCOUNTING_METHOD]: {
902+
policyID: string;
903+
};
898904
[SCREENS.WORKSPACE.ACCOUNTING.DYNAMIC_XERO_EXPORT_BANK_ACCOUNT_SELECT]: {
899905
policyID: string;
900906
};

src/pages/workspace/accounting/qbo/advanced/QuickbooksAccountingMethodPage.tsx renamed to src/pages/workspace/accounting/qbo/advanced/DynamicQuickbooksOnlineAccountingMethodPage.tsx

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,30 +7,26 @@ import type {ListItem} from '@components/SelectionList/types';
77
import SelectionScreen from '@components/SelectionScreen';
88
import type {SelectorType} from '@components/SelectionScreen';
99
import Text from '@components/Text';
10+
import useDynamicBackPath from '@hooks/useDynamicBackPath';
1011
import useLocalize from '@hooks/useLocalize';
1112
import useThemeStyles from '@hooks/useThemeStyles';
1213
import {updateQuickbooksOnlineAccountingMethod} from '@libs/actions/connections/QuickbooksOnline';
14+
import Navigation from '@libs/Navigation/Navigation';
1315
import {settingsPendingAction} from '@libs/PolicyUtils';
14-
import Navigation from '@navigation/Navigation';
1516
import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections';
1617
import withPolicyConnections from '@pages/workspace/withPolicyConnections';
1718
import CONST from '@src/CONST';
1819
import type {TranslationPaths} from '@src/languages/types';
19-
import ROUTES from '@src/ROUTES';
20-
import type {Route} from '@src/ROUTES';
20+
import {DYNAMIC_ROUTES} from '@src/ROUTES';
2121

2222
type MenuListItem = ListItem & {
2323
value: ValueOf<typeof COMMON_CONST.INTEGRATIONS.ACCOUNTING_METHOD>;
2424
};
2525

26-
type QuickbooksAccountingMethodPageRouteParams = {
27-
backTo?: Route;
28-
};
29-
30-
function QuickbooksAccountingMethodPage({policy, route}: WithPolicyConnectionsProps) {
26+
function DynamicQuickbooksOnlineAccountingMethodPage({policy}: WithPolicyConnectionsProps) {
3127
const {translate} = useLocalize();
3228
const policyID = policy?.id;
33-
const {backTo} = route.params as QuickbooksAccountingMethodPageRouteParams;
29+
const backPath = useDynamicBackPath(DYNAMIC_ROUTES.WORKSPACE_ACCOUNTING_QUICKBOOKS_ONLINE_ACCOUNTING_METHOD.path);
3430
const styles = useThemeStyles();
3531
const config = policy?.connections?.quickbooksOnline?.config;
3632
const accountingMethod = config?.accountingMethod ?? COMMON_CONST.INTEGRATIONS.ACCOUNTING_METHOD.CASH;
@@ -54,19 +50,23 @@ function QuickbooksAccountingMethodPage({policy, route}: WithPolicyConnectionsPr
5450
[translate, styles.pb5, styles.ph5],
5551
);
5652

53+
const goBack = useCallback(() => {
54+
Navigation.goBack(backPath);
55+
}, [backPath]);
56+
5757
const selectExpenseReportApprovalLevel = useCallback(
5858
(row: MenuListItem) => {
5959
if (row.value !== config?.accountingMethod) {
6060
updateQuickbooksOnlineAccountingMethod(policyID, row.value, config?.accountingMethod ?? COMMON_CONST.INTEGRATIONS.ACCOUNTING_METHOD.CASH);
6161
}
62-
Navigation.goBack(ROUTES.WORKSPACE_ACCOUNTING_QUICKBOOKS_ONLINE_AUTO_SYNC.getRoute(policyID, backTo));
62+
goBack();
6363
},
64-
[config?.accountingMethod, policyID, backTo],
64+
[config?.accountingMethod, policyID, goBack],
6565
);
6666

6767
return (
6868
<SelectionScreen
69-
displayName="QuickbooksAccountingMethodPage"
69+
displayName="DynamicQuickbooksOnlineAccountingMethodPage"
7070
headerTitleAlreadyTranslated={translate('workspace.qbo.accountingMethods.label')}
7171
headerContent={headerContent}
7272
data={data}
@@ -76,12 +76,12 @@ function QuickbooksAccountingMethodPage({policy, route}: WithPolicyConnectionsPr
7676
policyID={policyID}
7777
accessVariants={[CONST.POLICY.ACCESS_VARIANTS.ADMIN]}
7878
featureName={CONST.POLICY.MORE_FEATURES.ARE_CONNECTIONS_ENABLED}
79-
onBackButtonPress={() => Navigation.goBack(ROUTES.WORKSPACE_ACCOUNTING_QUICKBOOKS_ONLINE_AUTO_SYNC.getRoute(policyID, backTo))}
79+
onBackButtonPress={goBack}
8080
connectionName={CONST.POLICY.CONNECTIONS.NAME.QBO}
8181
pendingAction={pendingAction}
8282
shouldBeBlocked={!config?.autoSync?.enabled}
8383
/>
8484
);
8585
}
8686

87-
export default withPolicyConnections(QuickbooksAccountingMethodPage);
87+
export default withPolicyConnections(DynamicQuickbooksOnlineAccountingMethodPage);

src/pages/workspace/accounting/qbo/advanced/QuickbooksAutoSyncPage.tsx renamed to src/pages/workspace/accounting/qbo/advanced/DynamicQuickbooksOnlineAutoSyncPage.tsx

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,12 @@ import HeaderWithBackButton from '@components/HeaderWithBackButton';
44
import MenuItemWithTopDescription from '@components/MenuItemWithTopDescription';
55
import OfflineWithFeedback from '@components/OfflineWithFeedback';
66
import ScreenWrapper from '@components/ScreenWrapper';
7+
import useDynamicBackPath from '@hooks/useDynamicBackPath';
78
import useLocalize from '@hooks/useLocalize';
89
import useThemeStyles from '@hooks/useThemeStyles';
910
import {updateQuickbooksOnlineAutoSync} from '@libs/actions/connections/QuickbooksOnline';
1011
import {getLatestErrorField} from '@libs/ErrorUtils';
12+
import createDynamicRoute from '@libs/Navigation/helpers/dynamicRoutesUtils/createDynamicRoute';
1113
import Navigation from '@libs/Navigation/Navigation';
1214
import {settingsPendingAction} from '@libs/PolicyUtils';
1315
import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
@@ -17,26 +19,21 @@ import ToggleSettingOptionRow from '@pages/workspace/workflows/ToggleSettingsOpt
1719
import {clearQuickbooksOnlineAutoSyncErrorField} from '@userActions/Policy/Policy';
1820
import CONST from '@src/CONST';
1921
import type {TranslationPaths} from '@src/languages/types';
20-
import ROUTES from '@src/ROUTES';
21-
import type {Route} from '@src/ROUTES';
22+
import {DYNAMIC_ROUTES} from '@src/ROUTES';
2223

23-
type QuickbooksAutoSyncPageRouteParams = {
24-
backTo?: Route;
25-
};
26-
27-
function QuickbooksAutoSyncPage({policy, route}: WithPolicyConnectionsProps) {
24+
function DynamicQuickbooksOnlineAutoSyncPage({policy, route}: WithPolicyConnectionsProps) {
2825
const styles = useThemeStyles();
2926
const {translate} = useLocalize();
3027
const config = policy?.connections?.quickbooksOnline?.config;
3128
const policyID = route.params.policyID;
32-
const {backTo} = route.params as QuickbooksAutoSyncPageRouteParams;
29+
const backPath = useDynamicBackPath(DYNAMIC_ROUTES.WORKSPACE_ACCOUNTING_QUICKBOOKS_ONLINE_AUTO_SYNC.path);
3330
const accountingMethod = config?.accountingMethod ?? COMMON_CONST.INTEGRATIONS.ACCOUNTING_METHOD.CASH;
3431
const pendingAction =
3532
settingsPendingAction([CONST.QUICKBOOKS_CONFIG.AUTO_SYNC], config?.pendingFields) ?? settingsPendingAction([CONST.QUICKBOOKS_CONFIG.ACCOUNTING_METHOD], config?.pendingFields);
3633

3734
const goBack = useCallback(() => {
38-
Navigation.goBack(backTo ?? ROUTES.WORKSPACE_ACCOUNTING_QUICKBOOKS_ONLINE_ADVANCED.getRoute(policyID));
39-
}, [policyID, backTo]);
35+
Navigation.goBack(backPath);
36+
}, [backPath]);
4037

4138
return (
4239
<AccessOrNotFoundWrapper
@@ -47,7 +44,7 @@ function QuickbooksAutoSyncPage({policy, route}: WithPolicyConnectionsProps) {
4744
<ScreenWrapper
4845
includeSafeAreaPaddingBottom={false}
4946
style={[styles.defaultModalContainer]}
50-
testID="QuickbooksAutoSyncPage"
47+
testID="DynamicQuickbooksOnlineAutoSyncPage"
5148
enableEdgeToEdgeBottomSafeAreaPadding
5249
>
5350
<HeaderWithBackButton
@@ -76,7 +73,7 @@ function QuickbooksAutoSyncPage({policy, route}: WithPolicyConnectionsProps) {
7673
}
7774
description={translate('workspace.qbo.accountingMethods.label')}
7875
shouldShowRightIcon
79-
onPress={() => Navigation.navigate(ROUTES.WORKSPACE_ACCOUNTING_QUICKBOOKS_ONLINE_ACCOUNTING_METHOD.getRoute(policyID, backTo))}
76+
onPress={() => Navigation.navigate(createDynamicRoute(DYNAMIC_ROUTES.WORKSPACE_ACCOUNTING_QUICKBOOKS_ONLINE_ACCOUNTING_METHOD.path))}
8077
/>
8178
</OfflineWithFeedback>
8279
)}
@@ -85,4 +82,4 @@ function QuickbooksAutoSyncPage({policy, route}: WithPolicyConnectionsProps) {
8582
);
8683
}
8784

88-
export default withPolicyConnections(QuickbooksAutoSyncPage);
85+
export default withPolicyConnections(DynamicQuickbooksOnlineAutoSyncPage);

src/pages/workspace/accounting/qbo/advanced/QuickbooksAdvancedPage.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import useThemeStyles from '@hooks/useThemeStyles';
1111
import useWaitForNavigation from '@hooks/useWaitForNavigation';
1212
import {updateQuickbooksOnlineAutoCreateVendor, updateQuickbooksOnlineSyncPeople, updateQuickbooksOnlineSyncReimbursedReports} from '@libs/actions/connections/QuickbooksOnline';
1313
import {getLatestErrorField} from '@libs/ErrorUtils';
14+
import createDynamicRoute from '@libs/Navigation/helpers/dynamicRoutesUtils/createDynamicRoute';
1415
import Navigation from '@libs/Navigation/Navigation';
1516
import {areSettingsInErrorFields, settingsPendingAction} from '@libs/PolicyUtils';
1617
import type {WithPolicyConnectionsProps} from '@pages/workspace/withPolicyConnections';
@@ -19,7 +20,7 @@ import ToggleSettingOptionRow from '@pages/workspace/workflows/ToggleSettingsOpt
1920
import {clearQBOErrorField} from '@userActions/Policy/Policy';
2021
import CONST from '@src/CONST';
2122
import type {TranslationPaths} from '@src/languages/types';
22-
import ROUTES from '@src/ROUTES';
23+
import ROUTES, {DYNAMIC_ROUTES} from '@src/ROUTES';
2324

2425
const reimbursementOrCollectionAccountIDs = [CONST.QUICKBOOKS_CONFIG.REIMBURSEMENT_ACCOUNT_ID, CONST.QUICKBOOKS_CONFIG.COLLECTION_ACCOUNT_ID];
2526
const collectionAccountIDs = [CONST.QUICKBOOKS_CONFIG.COLLECTION_ACCOUNT_ID];
@@ -170,7 +171,7 @@ function QuickbooksAdvancedPage({policy}: WithPolicyConnectionsProps) {
170171
description={translate('workspace.accounting.autoSync')}
171172
shouldShowRightIcon
172173
wrapperStyle={[styles.sectionMenuItemTopDescription]}
173-
onPress={() => Navigation.navigate(ROUTES.WORKSPACE_ACCOUNTING_QUICKBOOKS_ONLINE_AUTO_SYNC.getRoute(policyID))}
174+
onPress={() => Navigation.navigate(createDynamicRoute(DYNAMIC_ROUTES.WORKSPACE_ACCOUNTING_QUICKBOOKS_ONLINE_AUTO_SYNC.path))}
174175
brickRoadIndicator={
175176
areSettingsInErrorFields([CONST.QUICKBOOKS_CONFIG.AUTO_SYNC, CONST.QUICKBOOKS_CONFIG.ACCOUNTING_METHOD], qboConfig?.errorFields)
176177
? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR

0 commit comments

Comments
 (0)