diff options
author | dan <dan.abramov@gmail.com> | 2024-04-09 23:09:42 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-09 15:09:42 -0700 |
commit | c300d4cab638405e783eb9e96a6d6a836d4ecd6e (patch) | |
tree | 2cc296c2f54b1f5347792766ba3006ea6bc088ff /src/view/screens/Home.tsx | |
parent | c96bc92042e2d5cb2a28736fd7a9dd2593a7b040 (diff) | |
download | voidsky-c300d4cab638405e783eb9e96a6d6a836d4ecd6e.tar.zst |
[Statsig] Instrument feed display (#3455)
* [Statsig] Instrument feed display * Back out leftover change
Diffstat (limited to 'src/view/screens/Home.tsx')
-rw-r--r-- | src/view/screens/Home.tsx | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/src/view/screens/Home.tsx b/src/view/screens/Home.tsx index e6ba0395c..39bdac669 100644 --- a/src/view/screens/Home.tsx +++ b/src/view/screens/Home.tsx @@ -2,8 +2,9 @@ import React from 'react' import {ActivityIndicator, AppState, StyleSheet, View} from 'react-native' import {useFocusEffect} from '@react-navigation/native' +import {useNonReactiveCallback} from '#/lib/hooks/useNonReactiveCallback' import {useSetTitle} from '#/lib/hooks/useSetTitle' -import {useGate} from '#/lib/statsig/statsig' +import {logEvent, LogEvents, useGate} from '#/lib/statsig/statsig' import {emitSoftReset} from '#/state/events' import {FeedSourceInfo, usePinnedFeedsInfos} from '#/state/queries/feed' import {FeedDescriptor, FeedParams} from '#/state/queries/post-feed' @@ -79,7 +80,7 @@ function HomeScreenReady({ // This is supposed to only happen on the web when you use the right nav. if (selectedIndex !== lastPagerReportedIndexRef.current) { lastPagerReportedIndexRef.current = selectedIndex - pagerRef.current?.setPage(selectedIndex) + pagerRef.current?.setPage(selectedIndex, 'desktop-sidebar-click') } }, [selectedIndex]) @@ -96,6 +97,17 @@ function HomeScreenReady({ }, [setDrawerSwipeDisabled, selectedIndex, setMinimalShellMode]), ) + useFocusEffect( + useNonReactiveCallback(() => { + logEvent('home:feedDisplayed', { + index: selectedIndex, + feedType: selectedFeed.split('|')[0], + feedUrl: selectedFeed, + reason: 'focus', + }) + }), + ) + const disableMinShellOnForegrounding = useGate( 'disable_min_shell_on_foregrounding', ) @@ -123,6 +135,19 @@ function HomeScreenReady({ [setDrawerSwipeDisabled, setSelectedFeed, setMinimalShellMode, allFeeds], ) + const onPageSelecting = React.useCallback( + (index: number, reason: LogEvents['home:feedDisplayed']['reason']) => { + const feed = allFeeds[index] + logEvent('home:feedDisplayed', { + index, + feedType: feed.split('|')[0], + feedUrl: feed, + reason, + }) + }, + [allFeeds], + ) + const onPressSelected = React.useCallback(() => { emitSoftReset() }, []) @@ -175,6 +200,7 @@ function HomeScreenReady({ ref={pagerRef} testID="homeScreen" initialPage={selectedIndex} + onPageSelecting={onPageSelecting} onPageSelected={onPageSelected} onPageScrollStateChanged={onPageScrollStateChanged} renderTabBar={renderTabBar}> |