Bluesky app fork with some witchin' additions 💫
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

[Experiment] Disable min shell on foregrounding (#3430)

authored by

dan and committed by
GitHub
ed5647d4 731d94b9

+31 -13
+31 -13
src/view/screens/Home.tsx
··· 1 1 import React from 'react' 2 - import {View, ActivityIndicator, StyleSheet} from 'react-native' 2 + import {ActivityIndicator, AppState, StyleSheet, View} from 'react-native' 3 3 import {useFocusEffect} from '@react-navigation/native' 4 - import {NativeStackScreenProps, HomeTabNavigatorParams} from 'lib/routes/types' 4 + 5 + import {useSetTitle} from '#/lib/hooks/useSetTitle' 6 + import {useGate} from '#/lib/statsig/statsig' 7 + import {emitSoftReset} from '#/state/events' 8 + import {FeedSourceInfo, usePinnedFeedsInfos} from '#/state/queries/feed' 5 9 import {FeedDescriptor, FeedParams} from '#/state/queries/post-feed' 6 - import {FollowingEmptyState} from 'view/com/posts/FollowingEmptyState' 7 - import {FollowingEndOfFeed} from 'view/com/posts/FollowingEndOfFeed' 8 - import {CustomFeedEmptyState} from 'view/com/posts/CustomFeedEmptyState' 9 - import {HomeHeader} from '../com/home/HomeHeader' 10 - import {Pager, RenderTabBarFnProps, PagerRef} from 'view/com/pager/Pager' 11 - import {FeedPage} from 'view/com/feeds/FeedPage' 12 - import {HomeLoggedOutCTA} from '../com/auth/HomeLoggedOutCTA' 13 - import {useSetMinimalShellMode, useSetDrawerSwipeDisabled} from '#/state/shell' 14 10 import {usePreferencesQuery} from '#/state/queries/preferences' 15 - import {usePinnedFeedsInfos, FeedSourceInfo} from '#/state/queries/feed' 16 11 import {UsePreferencesQueryResponse} from '#/state/queries/preferences/types' 17 - import {emitSoftReset} from '#/state/events' 18 12 import {useSession} from '#/state/session' 13 + import {useSetDrawerSwipeDisabled, useSetMinimalShellMode} from '#/state/shell' 19 14 import {useSelectedFeed, useSetSelectedFeed} from '#/state/shell/selected-feed' 20 - import {useSetTitle} from '#/lib/hooks/useSetTitle' 15 + import {HomeTabNavigatorParams, NativeStackScreenProps} from 'lib/routes/types' 16 + import {FeedPage} from 'view/com/feeds/FeedPage' 17 + import {Pager, PagerRef, RenderTabBarFnProps} from 'view/com/pager/Pager' 18 + import {CustomFeedEmptyState} from 'view/com/posts/CustomFeedEmptyState' 19 + import {FollowingEmptyState} from 'view/com/posts/FollowingEmptyState' 20 + import {FollowingEndOfFeed} from 'view/com/posts/FollowingEndOfFeed' 21 + import {HomeLoggedOutCTA} from '../com/auth/HomeLoggedOutCTA' 22 + import {HomeHeader} from '../com/home/HomeHeader' 21 23 22 24 type Props = NativeStackScreenProps<HomeTabNavigatorParams, 'Home'> 23 25 export function HomeScreen(props: Props) { ··· 93 95 } 94 96 }, [setDrawerSwipeDisabled, selectedIndex, setMinimalShellMode]), 95 97 ) 98 + 99 + const disableMinShellOnForegrounding = useGate( 100 + 'disable_min_shell_on_foregrounding', 101 + ) 102 + React.useEffect(() => { 103 + if (disableMinShellOnForegrounding) { 104 + const listener = AppState.addEventListener('change', nextAppState => { 105 + if (nextAppState === 'active') { 106 + setMinimalShellMode(false) 107 + } 108 + }) 109 + return () => { 110 + listener.remove() 111 + } 112 + } 113 + }, [setMinimalShellMode, disableMinShellOnForegrounding]) 96 114 97 115 const onPageSelected = React.useCallback( 98 116 (index: number) => {