99 enablePresentationMode ,
1010 disablePresentationMode ,
1111 setFlowsCTA as setFlowsCTAAction ,
12+ setSubscriptionsCertificateInterest as setSubscriptionsCertificateInterestAction ,
1213} from 'src/shared/actions/app'
1314import {
1415 timeZone as timeZoneFromState ,
@@ -17,12 +18,14 @@ import {
1718 fluxQueryBuilder as fluxQueryBuilderFromState ,
1819 navbarMode as navbarModeFromState ,
1920 getFlowsCTA ,
21+ getSubscriptionsCertificateInterest ,
2022} from 'src/shared/selectors/app'
2123import { notify } from 'src/shared/actions/notifications'
2224import { PRESENTATION_MODE_ANIMATION_DELAY } from 'src/shared/constants'
2325import { presentationMode as presentationModeCopy } from 'src/shared/copy/notifications'
2426
2527import { AppState , TimeZone , Theme , NavBarState , FlowsCTA } from 'src/types'
28+ import { event } from 'src/cloud/utils/reporting'
2629
2730interface AppSettingContextType {
2831 timeZone : TimeZone
@@ -31,13 +34,15 @@ interface AppSettingContextType {
3134 fluxQueryBuilder : boolean
3235 navbarMode : NavBarState
3336 flowsCTA : FlowsCTA
37+ subscriptionsCertificateInterest : boolean
3438
3539 setTimeZone : ( zone : TimeZone ) => void
3640 setTheme : ( theme : Theme ) => void
3741 setPresentationMode : ( active : boolean ) => void
3842 setFluxQueryBuilder : ( active : boolean ) => void
3943 setNavbarMode : ( mode : NavBarState ) => void
4044 setFlowsCTA : ( flowsCTA : FlowsCTA ) => void
45+ setSubscriptionsCertificateInterest : ( ) => void
4146}
4247
4348const DEFAULT_CONTEXT : AppSettingContextType = {
@@ -47,13 +52,15 @@ const DEFAULT_CONTEXT: AppSettingContextType = {
4752 fluxQueryBuilder : false ,
4853 navbarMode : 'collapsed' as NavBarState ,
4954 flowsCTA : { alerts : true , explorer : true , tasks : true } as FlowsCTA ,
55+ subscriptionsCertificateInterest : false ,
5056
5157 setTimeZone : ( _zone : TimeZone ) => { } ,
5258 setTheme : ( _theme : Theme ) => { } ,
5359 setPresentationMode : ( _active : boolean ) => { } ,
5460 setFluxQueryBuilder : ( _active : boolean ) => { } ,
5561 setNavbarMode : ( _mode : NavBarState ) => { } ,
5662 setFlowsCTA : ( _flowsCTA : FlowsCTA ) => { } ,
63+ setSubscriptionsCertificateInterest : ( ) => { } ,
5764}
5865
5966export const AppSettingContext = React . createContext < AppSettingContextType > (
@@ -68,13 +75,17 @@ export const AppSettingProvider: FC = ({children}) => {
6875 fluxQueryBuilder,
6976 navbarMode,
7077 flowsCTA,
78+ subscriptionsCertificateInterest,
7179 } = useSelector ( ( state : AppState ) => ( {
7280 timeZone : timeZoneFromState ( state ) ,
7381 theme : themeFromState ( state ) ,
7482 presentationMode : presentationModeFromState ( state ) ,
7583 fluxQueryBuilder : fluxQueryBuilderFromState ( state ) ,
7684 navbarMode : navbarModeFromState ( state ) ,
7785 flowsCTA : getFlowsCTA ( state ) ,
86+ subscriptionsCertificateInterest : getSubscriptionsCertificateInterest (
87+ state
88+ ) ,
7889 } ) )
7990 const dispatch = useDispatch ( )
8091
@@ -121,6 +132,10 @@ export const AppSettingProvider: FC = ({children}) => {
121132 } ,
122133 [ dispatch ]
123134 )
135+ const setSubscriptionsCertificateInterest = useCallback ( ( ) => {
136+ event ( 'certificate auth interest' , { } , { feature : 'subscriptions' } )
137+ dispatch ( setSubscriptionsCertificateInterestAction ( ) )
138+ } , [ dispatch ] )
124139
125140 return (
126141 < AppSettingContext . Provider
@@ -131,13 +146,15 @@ export const AppSettingProvider: FC = ({children}) => {
131146 fluxQueryBuilder,
132147 navbarMode,
133148 flowsCTA,
149+ subscriptionsCertificateInterest,
134150
135151 setTimeZone,
136152 setTheme,
137153 setPresentationMode,
138154 setFluxQueryBuilder,
139155 setNavbarMode,
140156 setFlowsCTA,
157+ setSubscriptionsCertificateInterest,
141158 } }
142159 >
143160 { children }
0 commit comments