diff options
author | Fabio Berger <me@fabioberger.com> | 2018-07-17 18:06:35 +0800 |
---|---|---|
committer | Fabio Berger <me@fabioberger.com> | 2018-07-17 18:06:35 +0800 |
commit | 03a6a088c5f1a086c1f3f02a0a70edaea3603860 (patch) | |
tree | bbe67afd2ad3d902444da65964c7401c9d38d63d /packages/website/ts/redux/analyticsMiddleware.ts | |
parent | 1e787a764615bd3df839f2cb117b711be297b9d5 (diff) | |
parent | a9038f2afc974cecf567a9aef50267d29a995e02 (diff) | |
download | dexon-sol-tools-03a6a088c5f1a086c1f3f02a0a70edaea3603860.tar dexon-sol-tools-03a6a088c5f1a086c1f3f02a0a70edaea3603860.tar.gz dexon-sol-tools-03a6a088c5f1a086c1f3f02a0a70edaea3603860.tar.bz2 dexon-sol-tools-03a6a088c5f1a086c1f3f02a0a70edaea3603860.tar.lz dexon-sol-tools-03a6a088c5f1a086c1f3f02a0a70edaea3603860.tar.xz dexon-sol-tools-03a6a088c5f1a086c1f3f02a0a70edaea3603860.tar.zst dexon-sol-tools-03a6a088c5f1a086c1f3f02a0a70edaea3603860.zip |
Merge branch 'v2-prototype' into fix-order-watcher
* v2-prototype: (39 commits)
Add chris to website
Fix ocean link
Move update onboarding step tracking to onboarding flow code
Bump npm-run-all from 4.1.2 to 4.1.3
Move format to helper function
Fix linter
Add assertion to make sure caller to fetchAsync isn't trying to set timeout in a context-specific way
Fix linter issues
Remove unused import
Switch conditional
Update yarn.lock and artifact
Fix abi-gen tests to not rely on sleep, since it causes intermittent failures
Add missing assertion
Move type defs to typescript-typingsd
Fix linter
Make createFinalPayload protected
Replace process.browser with detect-node library
Export Web3ProviderEngine and RPCSubprovider from 0x.js
Export Web3ProviderEngine from subproviders package
Update deps
...
Diffstat (limited to 'packages/website/ts/redux/analyticsMiddleware.ts')
-rw-r--r-- | packages/website/ts/redux/analyticsMiddleware.ts | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/packages/website/ts/redux/analyticsMiddleware.ts b/packages/website/ts/redux/analyticsMiddleware.ts new file mode 100644 index 000000000..51d39a5d7 --- /dev/null +++ b/packages/website/ts/redux/analyticsMiddleware.ts @@ -0,0 +1,36 @@ +import { Middleware } from 'redux'; +import { State } from 'ts/redux/reducer'; +import { ActionTypes } from 'ts/types'; +import { analytics } from 'ts/utils/analytics'; + +export const analyticsMiddleware: Middleware = store => next => action => { + const nextAction = next(action); + const nextState = (store.getState() as any) as State; + switch (action.type) { + case ActionTypes.UpdateInjectedProviderName: + analytics.addEventProperties({ + injectedProviderName: nextState.injectedProviderName, + }); + break; + case ActionTypes.UpdateNetworkId: + analytics.addEventProperties({ + networkId: nextState.networkId, + }); + break; + case ActionTypes.UpdateUserAddress: + analytics.addUserProperties({ + ethAddress: nextState.userAddress, + }); + break; + case ActionTypes.UpdateUserEtherBalance: + if (nextState.userEtherBalanceInWei) { + analytics.addUserProperties({ + ethBalance: nextState.userEtherBalanceInWei.toString(), + }); + } + break; + default: + break; + } + return nextAction; +}; |