Track redux actions
This commit is contained in:
@@ -2,6 +2,8 @@ import * as q from '../../../backend/src/Model'
|
||||
|
||||
import { Action, Reducer } from 'redux'
|
||||
|
||||
import { trackEvent } from '../tracking'
|
||||
|
||||
export enum ActionTypes {
|
||||
setAutoExpandLimit = 'SET_AUTO_EXPAND_LIMIT',
|
||||
toggleSettingsVisibility = 'TOGGLE_SETTINGS_VISIBILITY',
|
||||
@@ -48,6 +50,7 @@ const reducer: Reducer<AppState | undefined, CustomAction> = (state, action) =>
|
||||
if (!state) {
|
||||
throw Error('No initial state')
|
||||
}
|
||||
trackEvent(action.type)
|
||||
|
||||
switch (action.type) {
|
||||
case ActionTypes.setAutoExpandLimit:
|
||||
|
||||
@@ -1,5 +1,21 @@
|
||||
let userId = window.localStorage.getItem('userId')
|
||||
const sha1 = require('sha1')
|
||||
|
||||
if (!userId) {
|
||||
userId = sha1(sha1(Math.random()) + sha1(performance.now()) + sha1(Date.now())).slice(0, 8) as string
|
||||
window.localStorage.setItem('userId', userId)
|
||||
}
|
||||
|
||||
const Nucleus = require('electron-nucleus')('5c3b3e0443b7cc00eec3782b', {
|
||||
userId,
|
||||
disableInDev: true,
|
||||
})
|
||||
|
||||
export default Nucleus
|
||||
|
||||
export function trackEvent(name: string) {
|
||||
if (name.match(/^@@redux/)) {
|
||||
return
|
||||
}
|
||||
Nucleus.track(name)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user