From e503988fdc719db5188035ddee3ec6c08734bf8e Mon Sep 17 00:00:00 2001 From: Sean Yesmunt Date: Sun, 21 Jul 2019 19:35:59 -0400 Subject: [PATCH] send ga event for tag follow/unfollow --- src/ui/analytics.js | 11 +++++++++++ src/ui/component/tagsSelect/view.jsx | 5 +++++ src/ui/page/tags/view.jsx | 10 +++++++++- 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/ui/analytics.js b/src/ui/analytics.js index b8bf48261..6286ca2f5 100644 --- a/src/ui/analytics.js +++ b/src/ui/analytics.js @@ -14,6 +14,7 @@ type Analytics = { toggle: (boolean, ?boolean) => void, apiLogView: (string, string, string, ?number, ?() => void) => void, apiLogPublish: () => void, + tagFollowEvent: (string, boolean, string) => void, }; let analyticsEnabled: boolean = true; @@ -78,6 +79,16 @@ const analytics: Analytics = { Lbryio.call('feedback', 'search', { query, vote }); } }, + tagFollowEvent: (tag, following, location) => { + console.log('yep'); + if (analyticsEnabled) { + ReactGA.event({ + category: 'Tag', + action: following ? 'follow' : 'unfollow', + value: tag, + }); + } + }, }; // Initialize google analytics diff --git a/src/ui/component/tagsSelect/view.jsx b/src/ui/component/tagsSelect/view.jsx index 92b780942..8d60253e4 100644 --- a/src/ui/component/tagsSelect/view.jsx +++ b/src/ui/component/tagsSelect/view.jsx @@ -6,6 +6,7 @@ import Tag from 'component/tag'; import TagsSearch from 'component/tagsSearch'; import usePersistedState from 'util/use-persisted-state'; import { useTransition, animated } from 'react-spring'; +import analytics from 'analytics'; type Props = { showClose: boolean, @@ -56,6 +57,10 @@ export default function TagSelect(props: Props) { onRemove(tag); } else { doToggleTagFollow(tag.name); + + const wasFollowing = followedTags.map(tag => tag.name).includes(tag.name); + const nowFollowing = !wasFollowing; + analytics.tagFollowEvent(tag.name, nowFollowing, 'tag-select'); } } diff --git a/src/ui/page/tags/view.jsx b/src/ui/page/tags/view.jsx index cbf9e8ea0..91a4f1921 100644 --- a/src/ui/page/tags/view.jsx +++ b/src/ui/page/tags/view.jsx @@ -4,6 +4,7 @@ import Page from 'component/page'; import ClaimListDiscover from 'component/claimListDiscover'; import Button from 'component/button'; import useHover from 'util/use-hover'; +import analytics from 'analytics'; type Props = { location: { search: string }, @@ -33,11 +34,18 @@ function TagsPage(props: Props) { label = __('Unfollow'); } + function handleFollowClick() { + doToggleTagFollow(tag); + + const nowFollowing = !isFollowing; + analytics.tagFollowEvent(tag, nowFollowing, 'tag-page'); + } + return ( doToggleTagFollow(tag)} label={label} />} + meta={