diff options
author | Steve Klebanoff <steve.klebanoff@gmail.com> | 2018-11-27 01:18:48 +0800 |
---|---|---|
committer | Steve Klebanoff <steve.klebanoff@gmail.com> | 2018-11-27 01:18:48 +0800 |
commit | 271adcdb7e3ecb9f88f05f36ffb71d2147bac292 (patch) | |
tree | 80d17771617e540908dd99e9cb63a737630aa37d /packages/instant/src/redux/analytics_middleware.ts | |
parent | 717a3bce8cd0d4cb782918b3ad806f6c1bdb825e (diff) | |
parent | 6d565f4bff38b12515f4d8f0e29cdc223c12d1fb (diff) | |
download | dexon-sol-tools-271adcdb7e3ecb9f88f05f36ffb71d2147bac292.tar dexon-sol-tools-271adcdb7e3ecb9f88f05f36ffb71d2147bac292.tar.gz dexon-sol-tools-271adcdb7e3ecb9f88f05f36ffb71d2147bac292.tar.bz2 dexon-sol-tools-271adcdb7e3ecb9f88f05f36ffb71d2147bac292.tar.lz dexon-sol-tools-271adcdb7e3ecb9f88f05f36ffb71d2147bac292.tar.xz dexon-sol-tools-271adcdb7e3ecb9f88f05f36ffb71d2147bac292.tar.zst dexon-sol-tools-271adcdb7e3ecb9f88f05f36ffb71d2147bac292.zip |
Merge branch 'development' into feature/instant/rollbar-env
Diffstat (limited to 'packages/instant/src/redux/analytics_middleware.ts')
-rw-r--r-- | packages/instant/src/redux/analytics_middleware.ts | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/packages/instant/src/redux/analytics_middleware.ts b/packages/instant/src/redux/analytics_middleware.ts index f971dbd33..299c2560e 100644 --- a/packages/instant/src/redux/analytics_middleware.ts +++ b/packages/instant/src/redux/analytics_middleware.ts @@ -10,20 +10,6 @@ import { Action, ActionTypes } from './actions'; import { State } from './reducer'; -const shouldTriggerWalletReady = (prevAccount: Account, curAccount: Account): boolean => { - const didJustTurnReady = curAccount.state === AccountState.Ready && prevAccount.state !== AccountState.Ready; - if (didJustTurnReady) { - return true; - } - - if (curAccount.state === AccountState.Ready && prevAccount.state === AccountState.Ready) { - // Account was ready, and is now ready again, but address has changed - return curAccount.address !== prevAccount.address; - } - - return false; -}; - export const analyticsMiddleware: Middleware = store => next => middlewareAction => { const prevState = store.getState() as State; const prevAccount = prevState.providerState.account; @@ -35,10 +21,24 @@ export const analyticsMiddleware: Middleware = store => next => middlewareAction switch (nextAction.type) { case ActionTypes.SET_ACCOUNT_STATE_READY: - if (curAccount.state === AccountState.Ready && shouldTriggerWalletReady(prevAccount, curAccount)) { + if (curAccount.state === AccountState.Ready) { + const didJustTurnReady = prevAccount.state !== AccountState.Ready; + const didJustUpdateAddress = + prevAccount.state === AccountState.Ready && prevAccount.address !== curAccount.address; const ethAddress = curAccount.address; - analytics.addUserProperties({ ethAddress }); - analytics.trackWalletReady(); + if (didJustTurnReady) { + analytics.trackAccountReady(ethAddress); + analytics.addUserProperties({ lastKnownEthAddress: ethAddress }); + } else if (didJustUpdateAddress) { + analytics.trackAccountAddressChanged(ethAddress); + analytics.addUserProperties({ lastKnownEthAddress: ethAddress }); + } + } + break; + case ActionTypes.SET_ACCOUNT_STATE_LOCKED: + if (prevAccount.state !== AccountState.Locked && curAccount.state === AccountState.Locked) { + // if we are moving from account not locked to account locked, track `Account - Locked` + analytics.trackAccountLocked(); } break; case ActionTypes.UPDATE_ACCOUNT_ETH_BALANCE: |