diff options
author | dan <dan.abramov@gmail.com> | 2024-03-21 11:04:02 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-21 11:04:02 +0000 |
commit | 396d183dfcc303eb5056eca52f7cd62254f8f5c4 (patch) | |
tree | 60f0c02da71f77fdfdeb65cc3e77af226d40de03 /src/lib | |
parent | ad3dd9f6dccaa4b73da0000f41f23ac2fea5d1b2 (diff) | |
download | voidsky-396d183dfcc303eb5056eca52f7cd62254f8f5c4.tar.zst |
[Statsig] Onboarding and routing events (#3302)
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/statsig/events.ts | 34 | ||||
-rw-r--r-- | src/lib/statsig/statsig.tsx | 13 |
2 files changed, 44 insertions, 3 deletions
diff --git a/src/lib/statsig/events.ts b/src/lib/statsig/events.ts index b83095976..2de15b64e 100644 --- a/src/lib/statsig/events.ts +++ b/src/lib/statsig/events.ts @@ -1,4 +1,5 @@ export type LogEvents = { + // App events init: { initMs: number } @@ -14,6 +15,35 @@ export type LogEvents = { secondsActive: number } 'state:foreground': {} + 'router:navigate': {} + + // Screen events + 'splash:signInPressed': {} + 'splash:createAccountPressed': {} + 'signup:nextPressed': { + activeStep: number + } + 'onboarding:interests:nextPressed': { + selectedInterests: string[] + selectedInterestsLength: number + } + 'onboarding:suggestedAccounts:nextPressed': { + selectedAccountsLength: number + skipped: boolean + } + 'onboarding:followingFeed:nextPressed': {} + 'onboarding:algoFeeds:nextPressed': { + selectedPrimaryFeeds: string[] + selectedPrimaryFeedsLength: number + selectedSecondaryFeeds: string[] + selectedSecondaryFeedsLength: number + } + 'onboarding:topicalFeeds:nextPressed': { + selectedFeeds: string[] + selectedFeedsLength: number + } + 'onboarding:moderation:nextPressed': {} + 'onboarding:finished:nextPressed': {} 'feed:endReached': { feedType: string itemCount: number @@ -22,6 +52,10 @@ export type LogEvents = { feedType: string reason: 'pull-to-refresh' | 'soft-reset' | 'load-latest' } + + // Data events + 'account:create:begin': {} + 'account:create:success': {} 'post:create': { imageCount: number isReply: boolean diff --git a/src/lib/statsig/statsig.tsx b/src/lib/statsig/statsig.tsx index 9fa6cce2d..9bccedc6e 100644 --- a/src/lib/statsig/statsig.tsx +++ b/src/lib/statsig/statsig.tsx @@ -1,13 +1,14 @@ import React from 'react' import {Platform} from 'react-native' +import {AppState, AppStateStatus} from 'react-native' +import {sha256} from 'js-sha256' import { Statsig, StatsigProvider, useGate as useStatsigGate, } from 'statsig-react-native-expo' -import {AppState, AppStateStatus} from 'react-native' + import {useSession} from '../../state/session' -import {sha256} from 'js-sha256' import {LogEvents} from './events' export type {LogEvents} @@ -24,7 +25,13 @@ const statsigOptions = { type FlatJSONRecord = Record< string, - string | number | boolean | null | undefined + | string + | number + | boolean + | null + | undefined + // Technically not scalar but Statsig will stringify it which works for us: + | string[] > let getCurrentRouteName: () => string | null | undefined = () => null |