@@ -20,6 +20,7 @@ enum Objects {
2020 MARKETING_CAMPAIGN = 'Marketing Campaign' ,
2121 ONBOARDING = 'Onboarding' ,
2222 RSS = 'Rss' ,
23+ DO_NOT_DISTURB = 'DND' ,
2324}
2425
2526enum Verbs {
@@ -38,7 +39,9 @@ enum Verbs {
3839 FINISH = 'Finish' ,
3940 SKIP = 'Skip' ,
4041 DRAG = 'Drag' ,
41- Change = 'Change' ,
42+ CHANGE = 'Change' ,
43+ ENABLE = "Enable" ,
44+ DISABLE = "Disable"
4245}
4346
4447export enum Attributes {
@@ -62,6 +65,7 @@ export enum Attributes {
6265 CAMPAIGN_ID = 'Campaign Id' ,
6366 OCCUPATION = 'Occupation' ,
6467 MAX_VISIBLE_CARDS = 'Max Visible Cards' ,
68+ DURATION = 'DURATION' ,
6569}
6670
6771const _SEP_ = ' '
@@ -100,11 +104,13 @@ export const setupIdentification = () => {
100104 }
101105}
102106
103- export const trackPageView = ( pageName : string ) => {
107+ export const trackPageView = ( pageName : string , dndModeActive : boolean = false ) => {
104108 trackEvent ( {
105109 object : Objects . PAGE ,
106110 verb : Verbs . VIEW ,
107- attributes : { [ Attributes . PAGE_NAME ] : pageName } ,
111+ attributes : {
112+ [ Attributes . PAGE_NAME ] : pageName ,
113+ [ Objects . DO_NOT_DISTURB ] : dndModeActive ? "on" : "off" } ,
108114 } )
109115}
110116
@@ -298,11 +304,26 @@ export const trackPageDrag = () => {
298304export const trackMaxVisibleCardsChange = ( maxVisibleCards : number ) => {
299305 trackEvent ( {
300306 object : Objects . CARD ,
301- verb : Verbs . Change ,
307+ verb : Verbs . CHANGE ,
302308 attributes : { [ Attributes . MAX_VISIBLE_CARDS ] : maxVisibleCards }
303309 } )
304310}
305311
312+ export const trackDNDEnable = ( duration : number | "always" ) => {
313+ trackEvent ( {
314+ object : Objects . DO_NOT_DISTURB ,
315+ verb : Verbs . ENABLE ,
316+ attributes : { [ Attributes . DURATION ] : duration }
317+ } )
318+ }
319+
320+ export const trackDNDDisable = ( ) => {
321+ trackEvent ( {
322+ object : Objects . DO_NOT_DISTURB ,
323+ verb : Verbs . DISABLE
324+ } )
325+ }
326+
306327// Identification
307328
308329export const identifyUserLanguages = ( languages : string [ ] ) => {
0 commit comments