11import AppStorage from '../services/localStorage' ;
22import { LS_ANALYTICS_ID_KEY } from '../Constants' ;
33
4+ const trackPageScroll = ( direction ) => {
5+ trackEvent ( 'Pages' , 'Scroll' , direction )
6+ }
7+
48const trackPageView = ( pageName ) => {
5- trackEvent ( " Pages" , " Open" , pageName )
9+ trackEvent ( ' Pages' , ' Open' , pageName )
610}
711
812const trackThemeChange = ( theme ) => {
9- trackEvent ( " Theme" , " Apply" , theme )
13+ trackEvent ( ' Theme' , ' Apply' , theme )
1014}
1115
1216const trackOpenLinkFrom = ( dataSource ) => {
13- trackEvent ( " Link" , " Open" , dataSource )
17+ trackEvent ( ' Link' , ' Open' , dataSource )
1418}
1519
1620const trackListingModeChange = ( listingMode ) => {
17- trackEvent ( " ListingMode" , listingMode )
21+ trackEvent ( ' ListingMode' , listingMode )
1822}
1923
2024const trackAddLanguage = ( language ) => {
21- trackEvent ( " Language" , " Add" , language )
25+ trackEvent ( ' Language' , ' Add' , language )
2226}
2327
2428const trackRemoveLanguage = ( card ) => {
25- trackEvent ( " Language" , " Remove" , card )
29+ trackEvent ( ' Language' , ' Remove' , card )
2630}
2731
2832const trackAddCard = ( card ) => {
29- trackEvent ( " Card" , " Add" , card )
33+ trackEvent ( ' Card' , ' Add' , card )
3034}
3135
3236const trackRemoveCard = ( card ) => {
33- trackEvent ( " Card" , " Remove" , card )
37+ trackEvent ( ' Card' , ' Remove' , card )
3438}
3539
3640const trackOpenLinksNewTab = ( enabled ) => {
3741 if ( enabled ) {
38- trackEvent ( " NewTab" , " Enable" )
42+ trackEvent ( ' NewTab' , ' Enable' )
3943 } else {
40- trackEvent ( " NewTab" , " Disable" )
44+ trackEvent ( ' NewTab' , ' Disable' )
4145 }
42-
4346}
4447
4548const trackBookmarkFrom = ( dataSource ) => {
46- trackEvent ( " Bookmarks" , " Add" , dataSource )
49+ trackEvent ( ' Bookmarks' , ' Add' , dataSource )
4750}
4851
4952const trackUnbookmarkFrom = ( dataSource ) => {
50- trackEvent ( " Bookmarks" , " Remove" , dataSource )
53+ trackEvent ( ' Bookmarks' , ' Remove' , dataSource )
5154}
5255
5356const trackReposLanguageChange = ( language ) => {
54- trackEvent ( " Repos" , " ChangeLanguage" , language )
57+ trackEvent ( ' Repos' , ' ChangeLanguage' , language )
5558}
5659
5760const trackReposDateRangeChange = ( dateRange ) => {
58- trackEvent ( " Repos" , " ChangeDateRange" , dateRange )
61+ trackEvent ( ' Repos' , ' ChangeDateRange' , dateRange )
5962}
6063
6164const trackEvent = ( category , action , label ) => {
62-
6365 if ( ! process . env . REACT_APP_ANALYTICS_ID ) {
64- console . log ( " Missing analytics ID" )
66+ console . log ( ' Missing analytics ID' )
6567 return
6668 }
6769
6870 let userId = AppStorage . getItem ( LS_ANALYTICS_ID_KEY )
6971 if ( ! userId ) {
70- let newUserId = `${ new Date ( ) . getTime ( ) } ${ Math . random ( ) } ` // Random User Id
72+ let newUserId = `${ new Date ( ) . getTime ( ) } ${ Math . random ( ) } ` // Random User Id
7173 AppStorage . setItem ( LS_ANALYTICS_ID_KEY , newUserId )
7274 userId = newUserId
7375 }
7476
7577 const payload = new URLSearchParams ( [
76- [ "v" , "1" ] ,
77- [ "t" , " event" ] ,
78- [ " tid" , process . env . REACT_APP_ANALYTICS_ID ] ,
79- [ " cid" , userId ] ,
80- [ "ec" , category ] ,
81- [ "ea" , action ] ,
82- [ "ul" , navigator . language ] ,
83- [ "ua" , navigator . userAgent ] ,
78+ [ 'v' , '1' ] ,
79+ [ 't' , ' event' ] ,
80+ [ ' tid' , process . env . REACT_APP_ANALYTICS_ID ] ,
81+ [ ' cid' , userId ] ,
82+ [ 'ec' , category ] ,
83+ [ 'ea' , action ] ,
84+ [ 'ul' , navigator . language ] ,
85+ [ 'ua' , navigator . userAgent ] ,
8486 ] )
8587
8688 if ( label ) {
87- payload . append ( "el" , label . capitalize ( ) )
89+ payload . append ( 'el' , label . capitalize ( ) )
8890 }
8991
9092 try {
91- var manifestData = chrome . runtime . getManifest ( ) ;
92- payload . append ( "cd1" , manifestData . version )
93- } catch ( e ) { }
94-
93+ var manifestData = chrome . runtime . getManifest ( )
94+ payload . append ( 'cd1' , manifestData . version )
95+ } catch ( e ) { }
9596
9697 if ( process . env . NODE_ENV !== 'production' ) {
97- console . log ( " Analytics debug payload" , payload . toString ( ) )
98+ console . log ( ' Analytics debug payload' , payload . toString ( ) )
9899 return
99100 }
100101
101- navigator . sendBeacon (
102- "https://www.google-analytics.com/collect" ,
103- payload . toString ( )
104- )
105-
102+ navigator . sendBeacon ( 'https://www.google-analytics.com/collect' , payload . toString ( ) )
106103}
107104
108105Object . assign ( String . prototype , {
109106 capitalize ( ) {
110107 return this . charAt ( 0 ) . toUpperCase ( ) + this . slice ( 1 )
111- }
112- } ) ;
108+ } ,
109+ } )
113110
114111export {
115112 trackPageView ,
@@ -124,5 +121,6 @@ export {
124121 trackUnbookmarkFrom ,
125122 trackReposLanguageChange ,
126123 trackReposDateRangeChange ,
127- trackListingModeChange
124+ trackListingModeChange ,
125+ trackPageScroll ,
128126}
0 commit comments