diff --git a/frontend/src/components/OnboardingSteps.vue b/frontend/src/components/OnboardingSteps.vue index 90dc7011..dca983f8 100644 --- a/frontend/src/components/OnboardingSteps.vue +++ b/frontend/src/components/OnboardingSteps.vue @@ -21,14 +21,24 @@
- -
{{ step.title }}
+
+ +
+ {{ step.title }} +
+
+
@@ -39,6 +49,6 @@ import { useOnboarding } from '@/composables/onboarding' const emit = defineEmits(['close']) -const { steps, stepsCompleted, totalSteps, completedPercentage } = +const { steps, stepsCompleted, totalSteps, completedPercentage, skip } = useOnboarding() diff --git a/frontend/src/composables/onboarding.js b/frontend/src/composables/onboarding.js index 03ab2a25..dc6874c1 100644 --- a/frontend/src/composables/onboarding.js +++ b/frontend/src/composables/onboarding.js @@ -190,7 +190,7 @@ export function useOnboarding() { syncStatus() - function updateOnboardingStep(step) { + function updateOnboardingStep(step, skipped = false) { if (isOnboardingStepsCompleted.value) return let user = window.user if (!user) return false @@ -212,13 +212,21 @@ export function useOnboarding() { window.user = user - capture('onboarding_' + step) + if (skipped) { + capture('onboarding_skipped_' + step) + } else { + capture('onboarding_' + step) + } call('crm.api.onboarding.update_user_onboarding_status', { steps: JSON.stringify(_steps), }) } + function skip(step) { + updateOnboardingStep(step, true) + } + function syncStatus() { if (isOnboardingStepsCompleted.value) return let user = window.user @@ -241,5 +249,6 @@ export function useOnboarding() { totalSteps, completedPercentage, updateOnboardingStep, + skip, } }