1
- import { useFocusEffect } from '@react-navigation/native' ;
1
+ import { useFocusEffect , useRoute } from '@react-navigation/native' ;
2
2
import React , { useCallback , useEffect , useRef } from 'react' ;
3
3
import { View } from 'react-native' ;
4
4
import { useOnyx } from 'react-native-onyx' ;
@@ -10,6 +10,8 @@ import useThemeStyles from '@hooks/useThemeStyles';
10
10
import Navigation from '@libs/Navigation/Navigation' ;
11
11
import * as App from '@userActions/App' ;
12
12
import * as Report from '@userActions/Report' ;
13
+ import * as Task from '@userActions/Task' ;
14
+ import CONST from '@src/CONST' ;
13
15
import ONYXKEYS from '@src/ONYXKEYS' ;
14
16
15
17
/*
@@ -23,6 +25,11 @@ function ConciergePage() {
23
25
const { shouldUseNarrowLayout} = useResponsiveLayout ( ) ;
24
26
const [ session ] = useOnyx ( ONYXKEYS . SESSION ) ;
25
27
const [ isLoadingReportData ] = useOnyx ( ONYXKEYS . IS_LOADING_REPORT_DATA , { initialValue : true } ) ;
28
+ const route = useRoute ( ) ;
29
+
30
+ const [ introSelected ] = useOnyx ( ONYXKEYS . NVP_INTRO_SELECTED ) ;
31
+ const viewTourTaskReportID = introSelected ?. viewTour ;
32
+ const [ viewTourTaskReport ] = useOnyx ( `${ ONYXKEYS . COLLECTION . REPORT } ${ viewTourTaskReportID } ` ) ;
26
33
27
34
useFocusEffect (
28
35
useCallback ( ( ) => {
@@ -32,12 +39,22 @@ function ConciergePage() {
32
39
if ( isUnmounted . current || isLoadingReportData === undefined || ! ! isLoadingReportData ) {
33
40
return ;
34
41
}
42
+
43
+ // Mark the viewTourTask as complete if we are redirected to Concierge after finishing the Navattic tour
44
+ const { navattic} = route . params as { navattic ?: string } ;
45
+ if ( navattic === CONST . NAVATTIC . COMPLETED ) {
46
+ if ( viewTourTaskReport ) {
47
+ if ( viewTourTaskReport . stateNum !== CONST . REPORT . STATE_NUM . APPROVED || viewTourTaskReport . statusNum !== CONST . REPORT . STATUS_NUM . APPROVED ) {
48
+ Task . completeTask ( viewTourTaskReport ) ;
49
+ }
50
+ }
51
+ }
35
52
Report . navigateToConciergeChat ( true , ( ) => ! isUnmounted . current ) ;
36
53
} ) ;
37
54
} else {
38
55
Navigation . navigate ( ) ;
39
56
}
40
- } , [ session , isLoadingReportData ] ) ,
57
+ } , [ session , isLoadingReportData , route . params , viewTourTaskReport ] ) ,
41
58
) ;
42
59
43
60
useEffect ( ( ) => {
0 commit comments