Просмотр исходного кода

Added enums for all onboarding tracks

jnfrati 4 лет назад
Родитель
Сommit
1b6f024988

+ 1 - 0
dashboard/src/shared/anayltics/index.ts

@@ -0,0 +1 @@
+export * from "./onboarding/tracks";

+ 23 - 22
dashboard/src/shared/anayltics/onboarding/events.ts

@@ -1,26 +1,27 @@
-// Common tracks
+export enum COMMON_TRACKS {
+  REDIRECT_TO_GUIDE = "FE Redirect to guide",
+}
 
-export const REDIRECT_TO_GUIDE = "FE Redirect to guide";
+export enum PROJECT_CREATION_TRACKS {
+  NEW_PROJECT_EVENT = "FE Create project",
+}
 
-// New project tracks
-export const PROJECT_CREATION_NEW_PROJECT_EVENT = "FE Create project";
+export enum CONNECT_SOURCE_TRACKS {
+  CONNECT_GITHUB_BUTTON_CLICKED = "FE Connect Github",
+  USE_DOCKER_REGISTRY_CLICKED = "FE Use docker registry",
+  CONTINUE_AFTER_GITHUB_CONNECT = "FE Continue after Github connect",
+  INSTALL_ON_MORE_REPOSITORIES_CLICKED = "FE Install on more repositories",
+}
 
-// CONNECT SOURCE TRACKS
-export const CONNECT_SOURCE_CONNECT_GITHUB_BUTTON_CLICKED = "FE Connect Github";
-export const CONNECT_SOURCE_USE_DOCKER_REGISTRY_CLICKED =
-  "FE Use docker registry";
-export const CONNECT_SOURCE_CONTINUE_AFTER_GITHUB_CONNECT =
-  "FE Continue after Github connect";
-export const CONNECT_SOURCE_INSTALL_ON_MORE_REPOSITORIES_CLICKED =
-  "FE Install on more repositories";
+export enum CONNECT_REGISTRY_TRACKS {
+  SKIP_REGISTRY_CONNECTION = "FE Skip registry connection",
+  INTENT = "FE Connect registry intent",
+  ADD_CREDENTIALS = "FE Connect registry added credentials",
+  CONNECT_REGISTRY_CLICKED = "FE Connect registry clicked",
+}
 
-// CONNECT REGISTRY TRACKS
-
-export const CONNECT_REGISTRY_SKIP_REGISTRY_CONNECTION =
-  "FE Skip registry connection";
-export const CONNECT_REGISTRY_INTENT = "FE Connect registry intent";
-export const CONNECT_REGISTRY_ADD_CREDENTIALS =
-  "FE Connect registry added credentials";
-
-export const CONNECT_REGISTRY_CONNECT_REGISTRY_CLICKED =
-  "FE Connect registry clicked";
+export enum PROVISION_RESOURCES_TRACKS {
+  PROVISION_INTENT = "FE Provision resources intent",
+  ADD_CREDENTIALS = "FE Provision resources added credentials",
+  PROVISION_RESOURCES_CLICKED = "FE Provision resources clicked",
+}

+ 62 - 2
dashboard/src/shared/anayltics/onboarding/tracks.ts

@@ -1,5 +1,65 @@
-import { NEW_PROJECT_EVENT } from "./events";
+import {
+  COMMON_TRACKS,
+  CONNECT_REGISTRY_TRACKS,
+  CONNECT_SOURCE_TRACKS,
+  PROJECT_CREATION_TRACKS,
+  PROVISION_RESOURCES_TRACKS,
+} from "./events";
 
 export function trackCreateNewProject() {
-  window.analytics?.track(NEW_PROJECT_EVENT);
+  window.analytics?.track(PROJECT_CREATION_TRACKS.NEW_PROJECT_EVENT);
 }
+
+export function trackRedirectToGuide(props: RedirectToGuideProps) {
+  window.analytics?.track(COMMON_TRACKS.REDIRECT_TO_GUIDE, props);
+}
+
+export const connectSourceTracks = {
+  trackConnectGithubButtonClicked() {
+    window.analytics?.track(
+      CONNECT_SOURCE_TRACKS.CONNECT_GITHUB_BUTTON_CLICKED
+    );
+  },
+  trackUseDockerRegistryClicked() {
+    window.analytics?.track(CONNECT_SOURCE_TRACKS.USE_DOCKER_REGISTRY_CLICKED);
+  },
+  trackContinueAfterGithubConnect() {
+    window.analytics?.track(
+      CONNECT_SOURCE_TRACKS.CONTINUE_AFTER_GITHUB_CONNECT
+    );
+  },
+  trackInstallOnMoreRepositoriesClicked() {
+    window.analytics?.track(
+      CONNECT_SOURCE_TRACKS.INSTALL_ON_MORE_REPOSITORIES_CLICKED
+    );
+  },
+};
+
+export const connectRegistryTracks = {
+  trackSkipRegistryConnection() {
+    window.analytics?.track(CONNECT_REGISTRY_TRACKS.SKIP_REGISTRY_CONNECTION);
+  },
+  trackConnectRegistryIntent() {
+    window.analytics?.track(CONNECT_REGISTRY_TRACKS.INTENT);
+  },
+  trackAddCredentials() {
+    window.analytics?.track(CONNECT_REGISTRY_TRACKS.ADD_CREDENTIALS);
+  },
+  trackConnectRegistryClicked() {
+    window.analytics?.track(CONNECT_REGISTRY_TRACKS.CONNECT_REGISTRY_CLICKED);
+  },
+};
+
+export const provisionResourcesTracks = {
+  trackProvisionIntent() {
+    window.analytics?.track(PROVISION_RESOURCES_TRACKS.PROVISION_INTENT);
+  },
+  trackAddCredentials() {
+    window.analytics?.track(PROVISION_RESOURCES_TRACKS.ADD_CREDENTIALS);
+  },
+  trackProvisionResourcesClicked() {
+    window.analytics?.track(
+      PROVISION_RESOURCES_TRACKS.PROVISION_RESOURCES_CLICKED
+    );
+  },
+};

+ 3 - 0
dashboard/src/shared/anayltics/onboarding/types.ts

@@ -0,0 +1,3 @@
+type RedirectToGuideProps = {
+  step: string;
+};