1+ import { useRoute } from '@react-navigation/native' ;
12import React from 'react' ;
23import ConnectionLayout from '@components/ConnectionLayout' ;
34import useLocalize from '@hooks/useLocalize' ;
45import 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' ;
78import Navigation from '@libs/Navigation/Navigation' ;
8- import type { PlatformStackScreenProps } from '@libs/Navigation/PlatformStackNavigation/types' ;
9+ import type { PlatformStackRouteProp } from '@libs/Navigation/PlatformStackNavigation/types' ;
910import type { SettingsNavigatorParamList } from '@libs/Navigation/types' ;
1011import { settingsPendingAction } from '@libs/PolicyUtils' ;
1112import type { WithPolicyConnectionsProps } from '@pages/workspace/withPolicyConnections' ;
@@ -16,23 +17,27 @@ import CONST from '@src/CONST';
1617import ROUTES from '@src/ROUTES' ;
1718import type SCREENS from '@src/SCREENS' ;
1819
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 ) {
2221 const styles = useThemeStyles ( ) ;
2322 const { translate} = useLocalize ( ) ;
24- const policyID = policy ?. id ?? '-1' ;
23+ const policyID = policy ?. id ;
2524 const qbdConfig = policy ?. connections ?. quickbooksDesktop ?. config ;
25+ const route = useRoute < PlatformStackRouteProp < SettingsNavigatorParamList , typeof SCREENS . WORKSPACE . ACCOUNTING . QUICKBOOKS_DESKTOP_ADVANCED > > ( ) ;
2626
2727 const qbdToggleSettingItems = [
2828 {
2929 title : translate ( 'workspace.accounting.autoSync' ) ,
3030 subtitle : translate ( 'workspace.qbd.advancedConfig.autoSyncDescription' ) ,
3131 switchAccessibilityLabel : translate ( 'workspace.qbd.advancedConfig.autoSyncDescription' ) ,
3232 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+ } ,
3439 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 ) ,
3641 pendingAction : settingsPendingAction ( [ CONST . QUICKBOOKS_DESKTOP_CONFIG . AUTO_SYNC ] , qbdConfig ?. pendingFields ) ,
3742 } ,
3843 {
@@ -41,10 +46,10 @@ function QuickbooksDesktopAdvancedPage({policy, route}: QuickbooksDesktopAdvance
4146 switchAccessibilityLabel : translate ( 'workspace.qbd.advancedConfig.createEntitiesDescription' ) ,
4247 isActive : ! ! qbdConfig ?. shouldAutoCreateVendor ,
4348 onToggle : ( isOn : boolean ) => {
44- QuickbooksDesktop . updateQuickbooksDesktopShouldAutoCreateVendor ( policyID , isOn ) ;
49+ updateQuickbooksDesktopShouldAutoCreateVendor ( policyID , isOn ) ;
4550 } ,
4651 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 ) ,
4853 pendingAction : settingsPendingAction ( [ CONST . QUICKBOOKS_DESKTOP_CONFIG . SHOULD_AUTO_CREATE_VENDOR ] , qbdConfig ?. pendingFields ) ,
4954 } ,
5055 ] ;
0 commit comments