1
+ import { useRoute } from '@react-navigation/native' ;
1
2
import React from 'react' ;
2
3
import ConnectionLayout from '@components/ConnectionLayout' ;
3
4
import useLocalize from '@hooks/useLocalize' ;
4
5
import useThemeStyles from '@hooks/useThemeStyles' ;
5
- import * as QuickbooksDesktop from '@libs/actions/connections/QuickbooksDesktop' ;
6
- import * as ErrorUtils from '@libs/ErrorUtils' ;
6
+ import { updateQuickbooksDesktopAutoSync , updateQuickbooksDesktopShouldAutoCreateVendor } from '@libs/actions/connections/QuickbooksDesktop' ;
7
+ import { getLatestErrorField } from '@libs/ErrorUtils' ;
7
8
import Navigation from '@libs/Navigation/Navigation' ;
8
- import type { PlatformStackScreenProps } from '@libs/Navigation/PlatformStackNavigation/types' ;
9
+ import type { PlatformStackRouteProp } from '@libs/Navigation/PlatformStackNavigation/types' ;
9
10
import type { SettingsNavigatorParamList } from '@libs/Navigation/types' ;
10
11
import { settingsPendingAction } from '@libs/PolicyUtils' ;
11
12
import type { WithPolicyConnectionsProps } from '@pages/workspace/withPolicyConnections' ;
@@ -16,23 +17,27 @@ import CONST from '@src/CONST';
16
17
import ROUTES from '@src/ROUTES' ;
17
18
import type SCREENS from '@src/SCREENS' ;
18
19
19
- type QuickbooksDesktopAdvancedPageProps = WithPolicyConnectionsProps & PlatformStackScreenProps < SettingsNavigatorParamList , typeof SCREENS . WORKSPACE . ACCOUNTING . QUICKBOOKS_DESKTOP_ADVANCED > ;
20
-
21
- function QuickbooksDesktopAdvancedPage ( { policy, route} : QuickbooksDesktopAdvancedPageProps ) {
20
+ function QuickbooksDesktopAdvancedPage ( { policy} : WithPolicyConnectionsProps ) {
22
21
const styles = useThemeStyles ( ) ;
23
22
const { translate} = useLocalize ( ) ;
24
- const policyID = policy ?. id ?? '-1' ;
23
+ const policyID = policy ?. id ;
25
24
const qbdConfig = policy ?. connections ?. quickbooksDesktop ?. config ;
25
+ const route = useRoute < PlatformStackRouteProp < SettingsNavigatorParamList , typeof SCREENS . WORKSPACE . ACCOUNTING . QUICKBOOKS_DESKTOP_ADVANCED > > ( ) ;
26
26
27
27
const qbdToggleSettingItems = [
28
28
{
29
29
title : translate ( 'workspace.accounting.autoSync' ) ,
30
30
subtitle : translate ( 'workspace.qbd.advancedConfig.autoSyncDescription' ) ,
31
31
switchAccessibilityLabel : translate ( 'workspace.qbd.advancedConfig.autoSyncDescription' ) ,
32
32
isActive : ! ! qbdConfig ?. autoSync ?. enabled ,
33
- onToggle : ( isOn : boolean ) => QuickbooksDesktop . updateQuickbooksDesktopAutoSync ( policyID , isOn ) ,
33
+ onToggle : ( isOn : boolean ) => {
34
+ if ( ! policyID ) {
35
+ return ;
36
+ }
37
+ updateQuickbooksDesktopAutoSync ( policyID , isOn ) ;
38
+ } ,
34
39
subscribedSetting : CONST . QUICKBOOKS_DESKTOP_CONFIG . AUTO_SYNC ,
35
- errors : ErrorUtils . getLatestErrorField ( qbdConfig , CONST . QUICKBOOKS_DESKTOP_CONFIG . AUTO_SYNC ) ,
40
+ errors : getLatestErrorField ( qbdConfig , CONST . QUICKBOOKS_DESKTOP_CONFIG . AUTO_SYNC ) ,
36
41
pendingAction : settingsPendingAction ( [ CONST . QUICKBOOKS_DESKTOP_CONFIG . AUTO_SYNC ] , qbdConfig ?. pendingFields ) ,
37
42
} ,
38
43
{
@@ -41,10 +46,10 @@ function QuickbooksDesktopAdvancedPage({policy, route}: QuickbooksDesktopAdvance
41
46
switchAccessibilityLabel : translate ( 'workspace.qbd.advancedConfig.createEntitiesDescription' ) ,
42
47
isActive : ! ! qbdConfig ?. shouldAutoCreateVendor ,
43
48
onToggle : ( isOn : boolean ) => {
44
- QuickbooksDesktop . updateQuickbooksDesktopShouldAutoCreateVendor ( policyID , isOn ) ;
49
+ updateQuickbooksDesktopShouldAutoCreateVendor ( policyID , isOn ) ;
45
50
} ,
46
51
subscribedSetting : CONST . QUICKBOOKS_DESKTOP_CONFIG . SHOULD_AUTO_CREATE_VENDOR ,
47
- errors : ErrorUtils . getLatestErrorField ( qbdConfig , CONST . QUICKBOOKS_DESKTOP_CONFIG . SHOULD_AUTO_CREATE_VENDOR ) ,
52
+ errors : getLatestErrorField ( qbdConfig , CONST . QUICKBOOKS_DESKTOP_CONFIG . SHOULD_AUTO_CREATE_VENDOR ) ,
48
53
pendingAction : settingsPendingAction ( [ CONST . QUICKBOOKS_DESKTOP_CONFIG . SHOULD_AUTO_CREATE_VENDOR ] , qbdConfig ?. pendingFields ) ,
49
54
} ,
50
55
] ;
0 commit comments