@@ -48,7 +48,7 @@ import {
4848 loadOnboardingAppDraft ,
4949} from ' ~/utils/onboardingAppDraft'
5050import { createOnboardingDetailsFieldDebouncer , createOnboardingProgressTracker } from ' ~/utils/onboardingProgressAnalytics'
51- import { allowOnboardingDashboardExploration } from ' ~/utils/onboardingRedirect'
51+ import { allowOnboardingDashboardExploration , ONBOARDING_DASHBOARD_EXPLORED_EVENT } from ' ~/utils/onboardingRedirect'
5252import { slugifyOnboardingSegment } from ' ~/utils/onboardingSlug'
5353import AppOnboardingIconInput from ' ./AppOnboardingIconInput.vue'
5454
@@ -286,6 +286,7 @@ const setupTitle = computed(() => usesBuilderSetupCommand.value ? t('unified-onb
286286const setupSubtitle = computed (() => usesBuilderSetupCommand .value ? t (' unified-onboarding-setup-builder-subtitle' ) : t (' unified-onboarding-setup-ota-subtitle' ))
287287
288288let progressTracker: ReturnType <typeof createOnboardingProgressTracker > | null = null
289+ let pendingDashboardExplored = false
289290
290291function trackV2DetailsEvent(name : OnboardingDetailsEvent , details : OnboardingDetailsEventProperties = {}) {
291292 if (props .preOrg )
@@ -306,6 +307,8 @@ function initializeProgressTracking(resumed: boolean) {
306307 supaHost: config .supaHost ,
307308 })
308309 progressTracker .viewStep (flowStep .value )
310+ if (pendingDashboardExplored )
311+ trackDashboardExplored ()
309312}
310313
311314function completeAndViewStep(nextStep : OnboardingFlowStep , completionProperties : OnboardingStepCompletionProperties = {}) {
@@ -1010,6 +1013,7 @@ async function seedDemoData() {
10101013 throw error
10111014 }
10121015
1016+ window .dispatchEvent (new Event (ONBOARDING_DASHBOARD_EXPLORED_EVENT ))
10131017 allowOnboardingDashboardExploration (onboardingUserId .value , createdApp .value .app_id )
10141018 dashboardAppsStore .upsertApp ({
10151019 app_id: createdApp .value .app_id ,
@@ -1124,11 +1128,22 @@ function openDashboard() {
11241128 appId: createdApp .value .app_id ,
11251129 })
11261130 }
1131+ window .dispatchEvent (new Event (ONBOARDING_DASHBOARD_EXPLORED_EVENT ))
11271132 allowOnboardingDashboardExploration (onboardingUserId .value , createdApp .value .app_id )
11281133 router .push (` /app/${encodeURIComponent (createdApp .value .app_id )}/getting-started ` )
11291134}
11301135
1136+ function trackDashboardExplored() {
1137+ if (! progressTracker ) {
1138+ pendingDashboardExplored = true
1139+ return
1140+ }
1141+ pendingDashboardExplored = false
1142+ progressTracker ?.trackDashboardExplored (createdApp .value ?.app_id )
1143+ }
1144+
11311145onMounted (async () => {
1146+ window .addEventListener (ONBOARDING_DASHBOARD_EXPLORED_EVENT , trackDashboardExplored )
11321147 let resumedFlow = false
11331148 isLoading .value = true
11341149 try {
@@ -1162,6 +1177,7 @@ onMounted(async () => {
11621177})
11631178
11641179onBeforeUnmount (() => {
1180+ window .removeEventListener (ONBOARDING_DASHBOARD_EXPLORED_EVENT , trackDashboardExplored )
11651181 detailsFieldTracker .dispose ()
11661182
11671183 if (localIconPreview .value .startsWith (' blob:' ))
0 commit comments