diff options
Diffstat (limited to 'src/view/screens/Home.tsx')
-rw-r--r-- | src/view/screens/Home.tsx | 46 |
1 files changed, 16 insertions, 30 deletions
diff --git a/src/view/screens/Home.tsx b/src/view/screens/Home.tsx index 015c436f4..ad9b6f7f4 100644 --- a/src/view/screens/Home.tsx +++ b/src/view/screens/Home.tsx @@ -17,13 +17,8 @@ import {useSession} from '#/state/session' type Props = NativeStackScreenProps<HomeTabNavigatorParams, 'Home'> export function HomeScreen(props: Props) { - const {hasSession} = useSession() const {data: preferences} = usePreferencesQuery() - if (!hasSession) { - return <HomeScreenPublic /> - } - if (preferences) { return <HomeScreenReady {...props} preferences={preferences} /> } else { @@ -35,35 +30,12 @@ export function HomeScreen(props: Props) { } } -function HomeScreenPublic() { - const setMinimalShellMode = useSetMinimalShellMode() - const setDrawerSwipeDisabled = useSetDrawerSwipeDisabled() - - const renderCustomFeedEmptyState = React.useCallback(() => { - return <CustomFeedEmptyState /> - }, []) - - useFocusEffect( - React.useCallback(() => { - setMinimalShellMode(false) - setDrawerSwipeDisabled(false) - }, [setDrawerSwipeDisabled, setMinimalShellMode]), - ) - - return ( - <FeedPage - isPageFocused - feed={`feedgen|at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/whats-hot`} - renderEmptyState={renderCustomFeedEmptyState} - /> - ) -} - function HomeScreenReady({ preferences, }: Props & { preferences: UsePreferencesQueryResponse }) { + const {hasSession} = useSession() const setMinimalShellMode = useSetMinimalShellMode() const setDrawerSwipeDisabled = useSetDrawerSwipeDisabled() const [selectedPage, setSelectedPage] = React.useState(0) @@ -144,7 +116,7 @@ function HomeScreenReady({ return <CustomFeedEmptyState /> }, []) - return ( + return hasSession ? ( <Pager testID="homeScreen" onPageSelected={onPageSelected} @@ -172,6 +144,20 @@ function HomeScreenReady({ ) })} </Pager> + ) : ( + <Pager + testID="homeScreen" + onPageSelected={onPageSelected} + onPageScrollStateChanged={onPageScrollStateChanged} + renderTabBar={renderTabBar} + tabBarPosition="top"> + <FeedPage + testID="customFeedPage" + isPageFocused + feed={`feedgen|at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/whats-hot`} + renderEmptyState={renderCustomFeedEmptyState} + /> + </Pager> ) } |