nostros/frontend/Pages/NostrosDrawerNavigator/index.tsx

62 lines
1.6 KiB
TypeScript
Raw Normal View History

2023-01-18 21:54:28 +00:00
import { createDrawerNavigator } from '@react-navigation/drawer'
import React, { useContext } from 'react'
import { StyleSheet, View } from 'react-native'
import { useTheme } from 'react-native-paper'
import Logo from '../../Components/Logo'
import MenuItems from '../../Components/MenuItems'
import { UserContext } from '../../Contexts/UserContext'
import FeedNavigator from '../FeedNavigator'
import HomeNavigator from '../HomeNavigator'
export const NostrosDrawerNavigator: React.FC = () => {
const theme = useTheme()
const { userState } = useContext(UserContext)
const DrawerNavigator = createDrawerNavigator()
const LoginDrawerNavigator = (
<DrawerNavigator.Screen
name='Home'
component={HomeNavigator}
options={{ headerShown: false }}
/>
)
const HomeDrawerNavigator = (
<DrawerNavigator.Screen
name='Feed'
component={FeedNavigator}
options={{ headerShown: false }}
/>
)
return userState !== 'loading' ? (
<DrawerNavigator.Navigator
2023-01-20 14:58:47 +00:00
drawerContent={() => <MenuItems />}
2023-01-18 21:54:28 +00:00
screenOptions={{
drawerStyle: {
borderRadius: 28,
width: 296,
},
}}
>
{userState === 'ready' ? HomeDrawerNavigator : LoginDrawerNavigator}
</DrawerNavigator.Navigator>
) : (
<View style={[styles.logo, { backgroundColor: theme.colors.background }]}>
<Logo size='big' />
</View>
)
}
const styles = StyleSheet.create({
logo: {
justifyContent: 'center',
alignContent: 'center',
flex: 1,
2023-01-22 12:43:30 +00:00
paddingLeft: 90,
2023-01-18 21:54:28 +00:00
},
})
export default NostrosDrawerNavigator