about summary refs log tree commit diff
path: root/src/screens
diff options
context:
space:
mode:
Diffstat (limited to 'src/screens')
-rw-r--r--src/screens/Home.tsx15
-rw-r--r--src/screens/Login.tsx15
-rw-r--r--src/screens/Menu.tsx19
-rw-r--r--src/screens/NotFound.tsx32
-rw-r--r--src/screens/Notifications.tsx25
-rw-r--r--src/screens/Profile.tsx17
-rw-r--r--src/screens/Search.tsx23
-rw-r--r--src/screens/Signup.tsx15
8 files changed, 73 insertions, 88 deletions
diff --git a/src/screens/Home.tsx b/src/screens/Home.tsx
index a2d013abe..90c9262f3 100644
--- a/src/screens/Home.tsx
+++ b/src/screens/Home.tsx
@@ -1,20 +1,21 @@
 import React from 'react'
-import {Text, Button, View, SafeAreaView} from 'react-native'
-import type {PrimaryTabScreenProps} from '../routes/types'
+import {Text, Button, View} from 'react-native'
+import {Shell} from '../platform/shell'
+import type {RootTabsScreenProps} from '../routes/types'
 import {useStores} from '../state'
 
-export function Home({navigation}: PrimaryTabScreenProps<'Home'>) {
+export function Home({navigation}: RootTabsScreenProps<'Home'>) {
   const store = useStores()
   return (
-    <SafeAreaView style={{flex: 1}}>
-      <View style={{flex: 1}}>
-        <Text>Hello world</Text>
+    <Shell>
+      <View style={{alignItems: 'center'}}>
+        <Text style={{fontSize: 20, fontWeight: 'bold'}}>Home</Text>
         <Button
           title="Go to Jane's profile"
           onPress={() => navigation.navigate('Profile', {name: 'Jane'})}
         />
         <Button title="Logout" onPress={() => store.session.setAuthed(false)} />
       </View>
-    </SafeAreaView>
+    </Shell>
   )
 }
diff --git a/src/screens/Login.tsx b/src/screens/Login.tsx
index 77580748c..0eea085d5 100644
--- a/src/screens/Login.tsx
+++ b/src/screens/Login.tsx
@@ -1,17 +1,18 @@
 import React from 'react'
-import {Text, Button, View, SafeAreaView} from 'react-native'
-import type {RootStackScreenProps} from '../routes/types'
+import {Text, Button, View} from 'react-native'
+import {Shell} from '../platform/shell'
+import type {RootTabsScreenProps} from '../routes/types'
 import {useStores} from '../state'
 
-export function Login({navigation}: RootStackScreenProps<'Login'>) {
+export function Login({navigation}: RootTabsScreenProps<'Login'>) {
   const store = useStores()
   return (
-    <SafeAreaView style={{flex: 1}}>
-      <View style={{flex: 1}}>
-        <Text>Welcome! Time to sign in</Text>
+    <Shell>
+      <View style={{justifyContent: 'center', alignItems: 'center'}}>
+        <Text style={{fontSize: 20, fontWeight: 'bold'}}>Sign In</Text>
         <Button title="Login" onPress={() => store.session.setAuthed(true)} />
         <Button title="Sign Up" onPress={() => navigation.navigate('Signup')} />
       </View>
-    </SafeAreaView>
+    </Shell>
   )
 }
diff --git a/src/screens/Menu.tsx b/src/screens/Menu.tsx
index 2e0376a49..9cdda4f2a 100644
--- a/src/screens/Menu.tsx
+++ b/src/screens/Menu.tsx
@@ -1,19 +1,16 @@
 import React from 'react'
-import {SafeAreaView, ScrollView, Text, Button, View} from 'react-native'
-import type {PrimaryTabScreenProps} from '../routes/types'
+import {Shell} from '../platform/shell'
+import {ScrollView, Text, View} from 'react-native'
+import type {RootTabsScreenProps} from '../routes/types'
 
-export const Menu = ({navigation}: PrimaryTabScreenProps<'Menu'>) => {
+export const Menu = (_props: RootTabsScreenProps<'Menu'>) => {
   return (
-    <SafeAreaView>
+    <Shell>
       <ScrollView contentInsetAdjustmentBehavior="automatic">
-        <View>
-          <Text>Hello world</Text>
-          <Button
-            title="Go to Jane's profile"
-            onPress={() => navigation.navigate('Profile', {name: 'Jane'})}
-          />
+        <View style={{justifyContent: 'center', alignItems: 'center'}}>
+          <Text style={{fontSize: 20, fontWeight: 'bold'}}>Menu</Text>
         </View>
       </ScrollView>
-    </SafeAreaView>
+    </Shell>
   )
 }
diff --git a/src/screens/NotFound.tsx b/src/screens/NotFound.tsx
index afb91b402..f4d9d510c 100644
--- a/src/screens/NotFound.tsx
+++ b/src/screens/NotFound.tsx
@@ -1,27 +1,15 @@
 import React from 'react'
-import {
-  SafeAreaView,
-  ScrollView,
-  StatusBar,
-  Text,
-  Button,
-  useColorScheme,
-  View,
-} from 'react-native'
-import type {RootStackScreenProps} from '../routes/types'
-
-export const NotFound = ({navigation}: RootStackScreenProps<'NotFound'>) => {
-  const isDarkMode = useColorScheme() === 'dark'
+import {Shell} from '../platform/shell'
+import {Text, Button, View} from 'react-native'
+import type {RootTabsScreenProps} from '../routes/types'
 
+export const NotFound = ({navigation}: RootTabsScreenProps<'NotFound'>) => {
   return (
-    <SafeAreaView>
-      <StatusBar barStyle={isDarkMode ? 'light-content' : 'dark-content'} />
-      <ScrollView contentInsetAdjustmentBehavior="automatic">
-        <View>
-          <Text>Page not found</Text>
-          <Button title="Home" onPress={() => navigation.navigate('Primary')} />
-        </View>
-      </ScrollView>
-    </SafeAreaView>
+    <Shell>
+      <View style={{justifyContent: 'center', alignItems: 'center'}}>
+        <Text style={{fontSize: 20, fontWeight: 'bold'}}>Page not found</Text>
+        <Button title="Home" onPress={() => navigation.navigate('Home')} />
+      </View>
+    </Shell>
   )
 }
diff --git a/src/screens/Notifications.tsx b/src/screens/Notifications.tsx
index 8ffb5bb87..292f4593f 100644
--- a/src/screens/Notifications.tsx
+++ b/src/screens/Notifications.tsx
@@ -1,21 +1,14 @@
 import React from 'react'
-import {SafeAreaView, ScrollView, Text, Button, View} from 'react-native'
-import type {PrimaryTabScreenProps} from '../routes/types'
+import {Shell} from '../platform/shell'
+import {Text, View} from 'react-native'
+import type {RootTabsScreenProps} from '../routes/types'
 
-export const Notifications = ({
-  navigation,
-}: PrimaryTabScreenProps<'Notifications'>) => {
+export const Notifications = (_props: RootTabsScreenProps<'Notifications'>) => {
   return (
-    <SafeAreaView>
-      <ScrollView contentInsetAdjustmentBehavior="automatic">
-        <View>
-          <Text>Hello world</Text>
-          <Button
-            title="Go to Jane's profile"
-            onPress={() => navigation.navigate('Profile', {name: 'Jane'})}
-          />
-        </View>
-      </ScrollView>
-    </SafeAreaView>
+    <Shell>
+      <View style={{justifyContent: 'center', alignItems: 'center'}}>
+        <Text style={{fontSize: 20, fontWeight: 'bold'}}>Notifications</Text>
+      </View>
+    </Shell>
   )
 }
diff --git a/src/screens/Profile.tsx b/src/screens/Profile.tsx
index ffd30a499..76915b48f 100644
--- a/src/screens/Profile.tsx
+++ b/src/screens/Profile.tsx
@@ -1,7 +1,16 @@
 import React from 'react'
-import {Text} from 'react-native'
-import type {RootStackScreenProps} from '../routes/types'
+import {Shell} from '../platform/shell'
+import {View, Text} from 'react-native'
+import type {RootTabsScreenProps} from '../routes/types'
 
-export const Profile = ({route}: RootStackScreenProps<'Profile'>) => {
-  return <Text>This is {route.params.name}'s profile</Text>
+export const Profile = ({route}: RootTabsScreenProps<'Profile'>) => {
+  return (
+    <Shell>
+      <View style={{justifyContent: 'center', alignItems: 'center'}}>
+        <Text style={{fontSize: 20, fontWeight: 'bold'}}>
+          {route.params?.name}'s profile
+        </Text>
+      </View>
+    </Shell>
+  )
 }
diff --git a/src/screens/Search.tsx b/src/screens/Search.tsx
index 85943190a..d456cd196 100644
--- a/src/screens/Search.tsx
+++ b/src/screens/Search.tsx
@@ -1,19 +1,14 @@
 import React from 'react'
-import {SafeAreaView, ScrollView, Text, Button, View} from 'react-native'
-import type {PrimaryTabScreenProps} from '../routes/types'
+import {Shell} from '../platform/shell'
+import {Text, View} from 'react-native'
+import type {RootTabsScreenProps} from '../routes/types'
 
-export const Search = ({navigation}: PrimaryTabScreenProps<'Search'>) => {
+export const Search = (_props: RootTabsScreenProps<'Search'>) => {
   return (
-    <SafeAreaView>
-      <ScrollView contentInsetAdjustmentBehavior="automatic">
-        <View>
-          <Text>Hello world</Text>
-          <Button
-            title="Go to Jane's profile"
-            onPress={() => navigation.navigate('Profile', {name: 'Jane'})}
-          />
-        </View>
-      </ScrollView>
-    </SafeAreaView>
+    <Shell>
+      <View style={{justifyContent: 'center', alignItems: 'center'}}>
+        <Text style={{fontSize: 20, fontWeight: 'bold'}}>Search</Text>
+      </View>
+    </Shell>
   )
 }
diff --git a/src/screens/Signup.tsx b/src/screens/Signup.tsx
index bf7f8f2f8..bab7abc1c 100644
--- a/src/screens/Signup.tsx
+++ b/src/screens/Signup.tsx
@@ -1,14 +1,15 @@
 import React from 'react'
-import {Text, Button, View, SafeAreaView} from 'react-native'
-import type {RootStackScreenProps} from '../routes/types'
+import {Shell} from '../platform/shell'
+import {Text, Button, View} from 'react-native'
+import type {RootTabsScreenProps} from '../routes/types'
 import {useStores} from '../state'
 
-export function Signup({navigation}: RootStackScreenProps<'Signup'>) {
+export function Signup({navigation}: RootTabsScreenProps<'Signup'>) {
   const store = useStores()
   return (
-    <SafeAreaView style={{flex: 1}}>
-      <View style={{flex: 1}}>
-        <Text>Let's create your account</Text>
+    <Shell>
+      <View style={{justifyContent: 'center', alignItems: 'center'}}>
+        <Text style={{fontSize: 20, fontWeight: 'bold'}}>Create Account</Text>
         <Button
           title="Create new account"
           onPress={() => store.session.setAuthed(true)}
@@ -18,6 +19,6 @@ export function Signup({navigation}: RootStackScreenProps<'Signup'>) {
           onPress={() => navigation.navigate('Login')}
         />
       </View>
-    </SafeAreaView>
+    </Shell>
   )
 }