growthAnalyticsEvents.tsx 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. type MobilePromptBannerParams = {
  2. matchedUserAgentString: string;
  3. };
  4. type ShowParams = MobilePromptBannerParams & {
  5. matchedUserAgentString: string;
  6. mobileEventBrowserName: string;
  7. mobileEventClientOsName: string;
  8. };
  9. //define the event key to payload mappings
  10. export type GrowthEventParameters = {
  11. 'growth.show_mobile_prompt_banner': ShowParams;
  12. 'growth.dismissed_mobile_prompt_banner': MobilePromptBannerParams;
  13. 'growth.opened_mobile_project_suggest_modal': MobilePromptBannerParams;
  14. 'growth.clicked_mobile_prompt_setup_project': MobilePromptBannerParams;
  15. 'growth.clicked_mobile_prompt_ask_teammate': MobilePromptBannerParams;
  16. 'growth.submitted_mobile_prompt_ask_teammate': MobilePromptBannerParams;
  17. 'growth.demo_click_get_started': {};
  18. 'growth.demo_click_docs': {};
  19. 'growth.demo_click_request_demo': {};
  20. };
  21. type GrowthAnalyticsKey = keyof GrowthEventParameters;
  22. export const growthEventMap: Record<GrowthAnalyticsKey, string> = {
  23. 'growth.show_mobile_prompt_banner': 'Growth: Show Mobile Prompt Banner',
  24. 'growth.dismissed_mobile_prompt_banner': 'Growth: Dismissed Mobile Prompt Banner',
  25. 'growth.opened_mobile_project_suggest_modal':
  26. 'Growth: Open Mobile Project Suggest Modal',
  27. 'growth.clicked_mobile_prompt_setup_project':
  28. 'Growth: Clicked Mobile Prompt Setup Project',
  29. 'growth.clicked_mobile_prompt_ask_teammate':
  30. 'Growth: Clicked Mobile Prompt Ask Teammate',
  31. 'growth.submitted_mobile_prompt_ask_teammate':
  32. 'Growth: Submitted Mobile Prompt Ask Teammate',
  33. 'growth.demo_click_get_started': 'Growth: Demo Click Get Started',
  34. 'growth.demo_click_docs': 'Growth: Demo Click Docs',
  35. 'growth.demo_click_request_demo': 'Growth: Demo Click Request Demo',
  36. };