Skip to content

Commit 7ad51ce

Browse files
author
justin k xavier
committed
added basic navigation screens
1 parent 8a40f02 commit 7ad51ce

File tree

18 files changed

+755
-142
lines changed

18 files changed

+755
-142
lines changed

App.js

-114
This file was deleted.

App/App.js

+81
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
/**
2+
* Sample React Native App
3+
* https://github.com/facebook/react-native
4+
*
5+
* @format
6+
* @flow
7+
*/
8+
9+
import React from 'react';
10+
import {
11+
SafeAreaView,
12+
StyleSheet,
13+
ScrollView,
14+
View,
15+
Text,
16+
StatusBar,
17+
} from 'react-native';
18+
19+
import {
20+
Header,
21+
LearnMoreLinks,
22+
Colors,
23+
DebugInstructions,
24+
ReloadInstructions,
25+
} from 'react-native/Libraries/NewAppScreen';
26+
import { Navigation } from './navigation';
27+
import NavigationService from './utils/navigationService';
28+
29+
const App = () => {
30+
return (
31+
32+
33+
<Navigation
34+
ref={navigatorRef => {
35+
NavigationService.setTopLevelNavigator(navigatorRef);
36+
}}
37+
/>
38+
39+
);
40+
};
41+
42+
const styles = StyleSheet.create({
43+
scrollView: {
44+
backgroundColor: Colors.lighter,
45+
},
46+
engine: {
47+
position: 'absolute',
48+
right: 0,
49+
},
50+
body: {
51+
backgroundColor: Colors.white,
52+
},
53+
sectionContainer: {
54+
marginTop: 32,
55+
paddingHorizontal: 24,
56+
},
57+
sectionTitle: {
58+
fontSize: 24,
59+
fontWeight: '600',
60+
color: Colors.black,
61+
},
62+
sectionDescription: {
63+
marginTop: 8,
64+
fontSize: 18,
65+
fontWeight: '400',
66+
color: Colors.dark,
67+
},
68+
highlight: {
69+
fontWeight: '700',
70+
},
71+
footer: {
72+
color: Colors.dark,
73+
fontSize: 12,
74+
fontWeight: '600',
75+
padding: 4,
76+
paddingRight: 12,
77+
textAlign: 'right',
78+
},
79+
});
80+
81+
export default App;

App/containers/about/index.js

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import React, {PureComponent} from 'react';
2+
import {View, Text, Button} from 'react-native';
3+
import {GlobalStyle} from '../../theme/global';
4+
5+
export default class AboutScreen extends PureComponent {
6+
render() {
7+
return (
8+
<View style={[GlobalStyle.mainContainer]}>
9+
<Text>AboutScreen</Text>
10+
<Button
11+
onPress={() => this.props.navigation.push('details')}
12+
title="go to details"></Button>
13+
</View>
14+
);
15+
}
16+
}

App/containers/details/index.js

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import React, {PureComponent} from 'react';
2+
import {View, Text, Button} from 'react-native';
3+
4+
export default class DetailsScreens extends PureComponent {
5+
constructor(props) {
6+
super(props);
7+
}
8+
render() {
9+
return (
10+
<View
11+
style={{
12+
flex: 1,
13+
justifyContent: 'center',
14+
alignItems: 'center',
15+
}}>
16+
<Text>Details</Text>
17+
<Button
18+
onPress={() => this.props.navigation.pop()}
19+
title="go Back"></Button>
20+
</View>
21+
);
22+
}
23+
}

App/containers/login/index.js

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import React, {PureComponent} from 'react';
2+
import {View, Text, Button} from 'react-native';
3+
import NavigationService from '../../utils/navigationService';
4+
import storageService from '../../utils/storageService';
5+
6+
export default class LoginScreen extends PureComponent {
7+
render() {
8+
return (
9+
<View
10+
style={{
11+
flex: 1,
12+
padding: 20,
13+
justifyContent: 'center',
14+
alignItems: 'center',
15+
}}>
16+
<Text>Login</Text>
17+
<Button
18+
onPress={() => {
19+
storageService.setApiKey('12345');
20+
NavigationService.navigate('Home');
21+
}}
22+
title="click"></Button>
23+
</View>
24+
);
25+
}
26+
}

App/containers/profile/index.js

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import React, {PureComponent} from 'react';
2+
import {View, Text} from 'react-native';
3+
4+
export default class ProfileScreen extends PureComponent {
5+
render() {
6+
return (
7+
<View
8+
style={{
9+
flex: 1,
10+
justifyContent: 'center',
11+
alignItems: 'center',
12+
}}>
13+
<Text>Profile</Text>
14+
</View>
15+
);
16+
}
17+
}

App/containers/sideMenu/index.js

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import React from 'react';
2+
import SafeAreaView from 'react-native-safe-area-view';
3+
import {DrawerNavigatorItems} from 'react-navigation-drawer';
4+
import { StyleSheet, ScrollView } from 'react-native';
5+
6+
7+
export const SidemenuScreen = props => (
8+
<ScrollView>
9+
<SafeAreaView
10+
style={styles.container}
11+
forceInset={{top: 'always', horizontal: 'never'}}>
12+
<DrawerNavigatorItems {...props} />
13+
</SafeAreaView>
14+
</ScrollView>
15+
);
16+
17+
const styles = StyleSheet.create({
18+
container: {
19+
flex: 1,
20+
},
21+
});

0 commit comments

Comments
 (0)