diff options
author | dan <dan.abramov@gmail.com> | 2023-11-24 22:31:33 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-24 22:31:33 +0000 |
commit | f2d164ec23247d878f7f019d568a3073a5ae94c4 (patch) | |
tree | 7db9131e8b1f642494bb0b626a75a5ec7be36755 /src/view/screens/Home.tsx | |
parent | 4b59a21cacc36d3c05e68d22379538c0f32550c9 (diff) | |
download | voidsky-f2d164ec23247d878f7f019d568a3073a5ae94c4.tar.zst |
PWI: Refactor Shell (#1989)
* Vendor createNativeStackNavigator for further tweaks * Completely disable withAuthRequired * Render LoggedOut for protected routes * Move web shell into the navigator * Simplify the logic * Add login modal * Delete withAuthRequired * Reset app state on session change * Move TS suppression
Diffstat (limited to 'src/view/screens/Home.tsx')
-rw-r--r-- | src/view/screens/Home.tsx | 42 |
1 files changed, 18 insertions, 24 deletions
diff --git a/src/view/screens/Home.tsx b/src/view/screens/Home.tsx index 8df945cd2..015c436f4 100644 --- a/src/view/screens/Home.tsx +++ b/src/view/screens/Home.tsx @@ -3,7 +3,6 @@ import {View, ActivityIndicator, StyleSheet} from 'react-native' import {useFocusEffect} from '@react-navigation/native' import {NativeStackScreenProps, HomeTabNavigatorParams} from 'lib/routes/types' import {FeedDescriptor, FeedParams} from '#/state/queries/post-feed' -import {withAuthRequired} from 'view/com/auth/withAuthRequired' import {FollowingEmptyState} from 'view/com/posts/FollowingEmptyState' import {FollowingEndOfFeed} from 'view/com/posts/FollowingEndOfFeed' import {CustomFeedEmptyState} from 'view/com/posts/CustomFeedEmptyState' @@ -17,29 +16,24 @@ import {emitSoftReset} from '#/state/events' import {useSession} from '#/state/session' type Props = NativeStackScreenProps<HomeTabNavigatorParams, 'Home'> -export const HomeScreen = withAuthRequired( - function HomeScreenImpl(props: Props) { - const {hasSession} = useSession() - const {data: preferences} = usePreferencesQuery() - - if (!hasSession) { - return <HomeScreenPublic /> - } - - if (preferences) { - return <HomeScreenReady {...props} preferences={preferences} /> - } else { - return ( - <View style={styles.loading}> - <ActivityIndicator size="large" /> - </View> - ) - } - }, - { - isPublic: true, - }, -) +export function HomeScreen(props: Props) { + const {hasSession} = useSession() + const {data: preferences} = usePreferencesQuery() + + if (!hasSession) { + return <HomeScreenPublic /> + } + + if (preferences) { + return <HomeScreenReady {...props} preferences={preferences} /> + } else { + return ( + <View style={styles.loading}> + <ActivityIndicator size="large" /> + </View> + ) + } +} function HomeScreenPublic() { const setMinimalShellMode = useSetMinimalShellMode() |