@@ -16,7 +16,7 @@ import { ArrowLeft, ChevronLeft, ChevronRight, CircleAlert, X } from 'lucide-rea
16
16
import { useQuery } from '@tanstack/react-query' ;
17
17
import { UserInfo } from '@/api/auth' ;
18
18
import useSessionStore from '@/stores/session' ;
19
- import { useCallback } from 'react' ;
19
+ import { useCallback , useEffect } from 'react' ;
20
20
import useAppStore from '@/stores/app' ;
21
21
import {
22
22
devboxDriverObj ,
@@ -29,6 +29,7 @@ import {
29
29
import { WindowSize } from '@/types' ;
30
30
import { Image } from '@chakra-ui/react' ;
31
31
import { useGuideModalStore } from '@/stores/guideModal' ;
32
+ import { track } from '@sealos/gtm' ;
32
33
33
34
const GuideModal = ( ) => {
34
35
const { t } = useTranslation ( ) ;
@@ -45,6 +46,15 @@ const GuideModal = () => {
45
46
setInitGuide
46
47
} = useGuideModalStore ( ) ;
47
48
49
+ useEffect ( ( ) => {
50
+ if ( isOpen ) {
51
+ track ( 'module_open' , {
52
+ module : 'guide' ,
53
+ trigger : guideModalInitGuide ? 'onboarding' : 'manual'
54
+ } ) ;
55
+ }
56
+ } , [ isOpen , guideModalInitGuide ] ) ;
57
+
48
58
const infoData = useQuery ( {
49
59
queryFn : UserInfo ,
50
60
queryKey : [ session ?. token , 'UserInfo' ] ,
@@ -278,6 +288,11 @@ const GuideModal = () => {
278
288
setInitGuide ( false ) ;
279
289
closeGuideModal ( ) ;
280
290
startDriver ( quitGuideDriverObj ( t ) ) ;
291
+
292
+ track ( 'guide_exit' , {
293
+ module : 'guide' ,
294
+ progress_step : activeStep
295
+ } ) ;
281
296
} ;
282
297
283
298
return (
@@ -332,12 +347,28 @@ const GuideModal = () => {
332
347
333
348
switch ( cur . key ) {
334
349
case 'system-applaunchpad' :
350
+ track ( 'guide_start' , {
351
+ module : 'guide' ,
352
+ guide_name : 'applaunchpad'
353
+ } ) ;
335
354
return startDriver ( appLaunchpadDriverObj ( openDesktopApp , t ) ) ;
336
355
case 'system-template' :
356
+ track ( 'guide_start' , {
357
+ module : 'guide' ,
358
+ guide_name : 'appstore'
359
+ } ) ;
337
360
return startDriver ( templateDriverObj ( openDesktopApp , t ) ) ;
338
361
case 'system-dbprovider' :
362
+ track ( 'guide_start' , {
363
+ module : 'guide' ,
364
+ guide_name : 'database'
365
+ } ) ;
339
366
return startDriver ( databaseDriverObj ( openDesktopApp , t ) ) ;
340
367
case 'system-devbox' :
368
+ track ( 'guide_start' , {
369
+ module : 'guide' ,
370
+ guide_name : 'devbox'
371
+ } ) ;
341
372
return startDriver ( devboxDriverObj ( openDesktopApp , t ) ) ;
342
373
default :
343
374
return ;
0 commit comments