about summary refs log tree commit diff
path: root/src/lib/analytics/analytics.web.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/analytics/analytics.web.tsx')
-rw-r--r--src/lib/analytics/analytics.web.tsx22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/lib/analytics/analytics.web.tsx b/src/lib/analytics/analytics.web.tsx
index fe90d1328..0a5d5d689 100644
--- a/src/lib/analytics/analytics.web.tsx
+++ b/src/lib/analytics/analytics.web.tsx
@@ -4,10 +4,11 @@ import {
   AnalyticsProvider,
   useAnalytics as useAnalyticsOrig,
 } from '@segment/analytics-react'
-import {RootStoreModel} from 'state/models/root-store'
-import {useStores} from 'state/models/root-store'
 import {sha256} from 'js-sha256'
+
+import {useSession} from '#/state/session'
 import {logger} from '#/logger'
+import {listenSessionLoaded} from '#/state/events'
 
 const segmentClient = createClient(
   {
@@ -24,10 +25,10 @@ const segmentClient = createClient(
 export const track = segmentClient?.track?.bind?.(segmentClient)
 
 export function useAnalytics() {
-  const store = useStores()
+  const {hasSession} = useSession()
   const methods = useAnalyticsOrig()
   return React.useMemo(() => {
-    if (store.session.hasSession) {
+    if (hasSession) {
       return methods
     }
     // dont send analytics pings for anonymous users
@@ -40,15 +41,14 @@ export function useAnalytics() {
       alias: () => {},
       reset: () => {},
     }
-  }, [store, methods])
+  }, [hasSession, methods])
 }
 
-export function init(store: RootStoreModel) {
-  store.onSessionLoaded(() => {
-    const sess = store.session.currentSession
-    if (sess) {
-      if (sess.did) {
-        const did_hashed = sha256(sess.did)
+export function init() {
+  listenSessionLoaded(account => {
+    if (account.did) {
+      if (account.did) {
+        const did_hashed = sha256(account.did)
         segmentClient.identify(did_hashed, {did_hashed})
         logger.debug('Ping w/hash')
       } else {