about summary refs log tree commit diff
path: root/src/view/screens/Home.tsx
diff options
context:
space:
mode:
authordan <dan.abramov@gmail.com>2023-11-24 22:31:33 +0000
committerGitHub <noreply@github.com>2023-11-24 22:31:33 +0000
commitf2d164ec23247d878f7f019d568a3073a5ae94c4 (patch)
tree7db9131e8b1f642494bb0b626a75a5ec7be36755 /src/view/screens/Home.tsx
parent4b59a21cacc36d3c05e68d22379538c0f32550c9 (diff)
downloadvoidsky-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.tsx42
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()