Added pages and drawer

This commit is contained in:
Keannu Christian Bernasol 2023-03-05 20:21:16 +08:00
parent 2756fb20e4
commit cf28bae964
20 changed files with 901 additions and 116 deletions

132
App.tsx
View file

@ -1,118 +1,26 @@
/**
* Sample React Native App
* https://github.com/facebook/react-native
*
* @format
*/
import 'react-native-gesture-handler';
import {NavigationContainer} from '@react-navigation/native';
import {createDrawerNavigator} from '@react-navigation/drawer';
import React from 'react';
import type {PropsWithChildren} from 'react';
import {
SafeAreaView,
ScrollView,
StatusBar,
StyleSheet,
Text,
useColorScheme,
View,
} from 'react-native';
import Home from './src/Routes/Home/Home';
import UserInfo from './src/Routes/UserInfo/UserInfo';
import AddNote from './src/Routes/AddNote/AddNote';
import CustomDrawerContent from './src/Components/Drawer/DrawerScreenSettings/CustomDrawerContent/CustomDrawerContent';
import DrawerScreenSettings from './src/Components/Drawer/DrawerScreenSettings/DrawerScreenSettings';
import {
Colors,
DebugInstructions,
Header,
LearnMoreLinks,
ReloadInstructions,
} from 'react-native/Libraries/NewAppScreen';
const Drawer = createDrawerNavigator();
type SectionProps = PropsWithChildren<{
title: string;
}>;
function Section({children, title}: SectionProps): JSX.Element {
const isDarkMode = useColorScheme() === 'dark';
export default function App() {
return (
<View style={styles.sectionContainer}>
<Text
style={[
styles.sectionTitle,
{
color: isDarkMode ? Colors.white : Colors.black,
},
]}>
{title}
</Text>
<Text
style={[
styles.sectionDescription,
{
color: isDarkMode ? Colors.light : Colors.dark,
},
]}>
{children}
</Text>
</View>
<NavigationContainer>
<Drawer.Navigator
initialRouteName="Home"
drawerContent={CustomDrawerContent}
screenOptions={DrawerScreenSettings}>
<Drawer.Screen name="Home" component={Home} />
<Drawer.Screen name="Add Note" component={AddNote} />
<Drawer.Screen name="User Info" component={UserInfo} />
</Drawer.Navigator>
</NavigationContainer>
);
}
function App(): JSX.Element {
const isDarkMode = useColorScheme() === 'dark';
const backgroundStyle = {
backgroundColor: isDarkMode ? Colors.darker : Colors.lighter,
};
return (
<SafeAreaView style={backgroundStyle}>
<StatusBar
barStyle={isDarkMode ? 'light-content' : 'dark-content'}
backgroundColor={backgroundStyle.backgroundColor}
/>
<ScrollView
contentInsetAdjustmentBehavior="automatic"
style={backgroundStyle}>
<Header />
<View
style={{
backgroundColor: isDarkMode ? Colors.black : Colors.white,
}}>
<Section title="Step One">
Edit <Text style={styles.highlight}>App.tsx</Text> to change this
screen and then come back to see your edits.
</Section>
<Section title="See Your Changes">
<ReloadInstructions />
</Section>
<Section title="Debug">
<DebugInstructions />
</Section>
<Section title="Learn More">
Read the docs to discover what to do next:
</Section>
<LearnMoreLinks />
</View>
</ScrollView>
</SafeAreaView>
);
}
const styles = StyleSheet.create({
sectionContainer: {
marginTop: 32,
paddingHorizontal: 24,
},
sectionTitle: {
fontSize: 24,
fontWeight: '600',
},
sectionDescription: {
marginTop: 8,
fontSize: 18,
fontWeight: '400',
},
highlight: {
fontWeight: '700',
},
});
export default App;