From 0137c3b69997dc71d9953060701ab93ffc1abeb7 Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Thu, 12 Jan 2023 03:33:21 -0500 Subject: [PATCH] More analytics instrumentation of tts page --- packages/fakeyou.com/src/common/Analytics.ts | 24 +++++++++++++++++++ .../tts/tts_model_list/AutocompleteSearch.tsx | 3 +++ .../tts_model_list/MultiDropdownSearch.tsx | 3 +++ .../tts/tts_model_list/TtsModelListPage.tsx | 7 +++++- 4 files changed, 36 insertions(+), 1 deletion(-) diff --git a/packages/fakeyou.com/src/common/Analytics.ts b/packages/fakeyou.com/src/common/Analytics.ts index 3358443fc9..930ea514ed 100644 --- a/packages/fakeyou.com/src/common/Analytics.ts +++ b/packages/fakeyou.com/src/common/Analytics.ts @@ -87,6 +87,10 @@ class Analytics { Analytics.sendCategorizedEvent(this.TTS, 'click_tts_result_link'); } + static ttsClickModelDetailsLink() { + Analytics.sendCategorizedEvent(this.TTS, 'click_model_details_link'); + } + static ttsClickHeroVoiceClone() { Analytics.sendCategorizedEvent(this.TTS, 'click_hero_voice_clone'); } @@ -99,6 +103,26 @@ class Analytics { Analytics.sendCategorizedEvent(this.TTS, 'click_hero_signup'); } + static ttsSelectVoiceFromCategory() { + Analytics.sendCategorizedEvent(this.TTS, 'select_voice_from_category'); + } + + static ttsSelectVoiceFromSearchResult() { + Analytics.sendCategorizedEvent(this.TTS, 'select_voice_from_search_result'); + } + + static ttsClickSelectCategory() { + Analytics.sendCategorizedEvent(this.TTS, 'click_select_category'); + } + + //static ttsClickVoiceSearchBox() { + // Analytics.sendCategorizedEvent(this.TTS, 'click_voice_search_box'); + //} + + static ttsClickTextInputBox() { + Analytics.sendCategorizedEvent(this.TTS, 'click_text_input_box'); + } + static ttsTooSlowUpgradePremium() { Analytics.sendCategorizedEvent(this.TTS, 'tts_too_slow_upgrade_premium'); } diff --git a/packages/fakeyou.com/src/v2/view/tts/tts_model_list/AutocompleteSearch.tsx b/packages/fakeyou.com/src/v2/view/tts/tts_model_list/AutocompleteSearch.tsx index 3cecab0fe3..4aab1dd2ea 100644 --- a/packages/fakeyou.com/src/v2/view/tts/tts_model_list/AutocompleteSearch.tsx +++ b/packages/fakeyou.com/src/v2/view/tts/tts_model_list/AutocompleteSearch.tsx @@ -5,6 +5,7 @@ import Autocomplete from "react-autocomplete"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faSearch } from "@fortawesome/free-solid-svg-icons"; import { t } from "i18next"; +import { Analytics } from "../../../../common/Analytics"; // NB: This probably is not the best autocomplete library in the world // A lot of the libraries are really old and depend on jQuery (gross). @@ -86,6 +87,8 @@ export function AutocompleteSearch(props: Props) { props.setDropdownCategories(newDropdownCategories); props.setMaybeSelectedTtsModel(item); + + Analytics.ttsSelectVoiceFromSearchResult(); }} shouldItemRender={(item: TtsModelListItem, value) => { // TODO: A trie would be so much better. Ugh, this is so bad. diff --git a/packages/fakeyou.com/src/v2/view/tts/tts_model_list/MultiDropdownSearch.tsx b/packages/fakeyou.com/src/v2/view/tts/tts_model_list/MultiDropdownSearch.tsx index 7eeecdfffc..1336edda63 100644 --- a/packages/fakeyou.com/src/v2/view/tts/tts_model_list/MultiDropdownSearch.tsx +++ b/packages/fakeyou.com/src/v2/view/tts/tts_model_list/MultiDropdownSearch.tsx @@ -9,6 +9,7 @@ import { import { TtsModelListItem } from "@storyteller/components/src/api/tts/ListTtsModels"; import { TtsCategoryType } from "../../../../AppWrapper"; import { Trans, useTranslation } from "react-i18next"; +import { Analytics } from "../../../../common/Analytics"; interface Props { allTtsCategories: TtsCategoryType[]; @@ -202,6 +203,7 @@ export function MultiDropdownSearch(props: Props) {