diff --git a/src/lib/actions/analytics.ts b/src/lib/actions/analytics.ts index 1f74c2eca..862554d2f 100644 --- a/src/lib/actions/analytics.ts +++ b/src/lib/actions/analytics.ts @@ -147,6 +147,7 @@ export enum Click { DomainCreateClick = 'click_domain_create', DomainDeleteClick = 'click_domain_delete', DomainRetryDomainVerificationClick = 'click_domain_retry_domain_verification', + FeedbackSubmitClick = 'click_leave_feedback', FilterApplyClick = 'click_apply_filter', FunctionsRedeployClick = 'click_function_redeploy', FunctionsDeploymentDeleteClick = 'click_deployment_delete', @@ -198,6 +199,7 @@ export enum Submit { AccountRecoveryCodesCreate = 'submit_account_recovery_codes_create', AccountRecoveryCodesUpdate = 'submit_account_recovery_codes_update', AccountDeleteIdentity = 'submit_account_delete_identity', + FeedbackSubmit = 'submit_leave_feedback', FilterClear = 'submit_clear_filter', FilterApply = 'submit_filter_apply', UserCreate = 'submit_user_create', diff --git a/src/lib/components/navbar.svelte b/src/lib/components/navbar.svelte index 3f7f5fe86..673d4a383 100644 --- a/src/lib/components/navbar.svelte +++ b/src/lib/components/navbar.svelte @@ -44,7 +44,7 @@ import { isTabletViewport } from '$lib/stores/viewport'; import { isCloud } from '$lib/system.js'; import { user } from '$lib/stores/user'; - import { trackEvent } from '$lib/actions/analytics'; + import { Click, trackEvent } from '$lib/actions/analytics'; let showSupport = false; @@ -80,6 +80,7 @@ } function toggleFeedback() { + trackEvent(Click.FeedbackSubmitClick); feedback.toggleFeedback(); if ($feedback.notification) { feedback.toggleNotification(); diff --git a/src/lib/components/sidebar.svelte b/src/lib/components/sidebar.svelte index bfebc14ca..86aefa2d3 100644 --- a/src/lib/components/sidebar.svelte +++ b/src/lib/components/sidebar.svelte @@ -34,7 +34,7 @@ import MobileFeedbackModal from '$routes/(console)/wizard/feedback/mobileFeedbackModal.svelte'; import { getSidebarState, updateSidebarState } from '$lib/helpers/sidebar'; import { isTabletViewport } from '$lib/stores/viewport'; - import { trackEvent } from '$lib/actions/analytics'; + import { Click, trackEvent } from '$lib/actions/analytics'; type $$Props = HTMLElement & { state?: 'closed' | 'open' | 'icons'; @@ -58,6 +58,7 @@ export let subNavigation = undefined; function toggleFeedback() { + trackEvent(Click.FeedbackSubmitClick); feedback.toggleFeedback(); if ($feedback.notification) { feedback.toggleNotification(); diff --git a/src/lib/layout/header.svelte b/src/lib/layout/header.svelte index 07685c62f..2c528951b 100644 --- a/src/lib/layout/header.svelte +++ b/src/lib/layout/header.svelte @@ -30,6 +30,7 @@ function toggleFeedback() { feedback.toggleFeedback(); + trackEvent(Click.FeedbackSubmitClick); if ($feedback.notification) { feedback.toggleNotification(); feedback.addVisualization(); diff --git a/src/lib/stores/feedback.ts b/src/lib/stores/feedback.ts index bd0af38d2..cac81def1 100644 --- a/src/lib/stores/feedback.ts +++ b/src/lib/stores/feedback.ts @@ -4,6 +4,7 @@ import { get, writable } from 'svelte/store'; import type { SvelteComponent } from 'svelte'; import FeedbackGeneral from '$lib/components/feedback/feedbackGeneral.svelte'; import FeedbackNps from '$lib/components/feedback/feedbackNPS.svelte'; +import { Submit, trackEvent } from '$lib/actions/analytics'; export type Feedback = { elapsed: number; @@ -118,6 +119,7 @@ function createFeedbackStore() { value?: number ) => { if (!VARS.GROWTH_ENDPOINT) return; + trackEvent(Submit.FeedbackSubmit); const response = await fetch(`${VARS.GROWTH_ENDPOINT}/feedback`, { method: 'POST', headers: {