-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathApp.js
More file actions
112 lines (103 loc) · 2.53 KB
/
Copy pathApp.js
File metadata and controls
112 lines (103 loc) · 2.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
import React from 'react';
import {
StatusBar,
View
} from 'react-native';
import { TabNavigator, StackNavigator } from 'react-navigation';
import { createStore, applyMiddleware } from 'redux';
import { Provider } from 'react-redux';
import ReduxThunk from 'redux-thunk';
import { FontAwesome, Ionicons } from '@expo/vector-icons';
import { Constants } from 'expo';
import DeckMain from './components/DeckMain';
import DeckDetail from './components/DeckDetail';
import AddEntry from './components/AddEntry';
import AddQuestion from './components/AddQuestion';
import QuizMain from './components/QuizMain';
import reducer from './reducers'
import { setLocalNotification } from './utils/helper';
function CustomStatusBar ({ backgroundColor, ...props }) {
return (
<View style={{backgroundColor, height: Constants.statusBarHeight }}>
<StatusBar
translucent
backgroundColor={backgroundColor}
{...props}
/>
</View>
);
}
const Tabs = TabNavigator({
Decks: {
screen: DeckMain,
navigationOptions: {
tabBarLabel: 'Decks',
tabBarIcon: ({ tintColor }) => <Ionicons name="ios-home" size={30} color={tintColor} />
}
},
AddEntry: {
screen: AddEntry,
navigationOptions: {
tabBarLabel: 'Add Deck',
tabBarIcon: ({ tintColor }) => <FontAwesome name="plus-square" size={30} color={tintColor} />
}
}
});
const MainNavigator = StackNavigator({
Home: {
screen: Tabs,
navigationOptions: {
title: "Flash Cards",
headerTintColor: "blue",
headerStyle: {
backgroundColor: "white"
}
}
},
DeckDetail: {
screen: DeckDetail,
navigationOptions: {
headerTintColor: "blue",
headerStyle: {
backgroundColor: "white"
}
}
},
AddQuestion: {
screen: AddQuestion,
navigationOptions: {
headerTintColor: "blue",
headerStyle: {
backgroundColor: "white"
}
}
},
QuizMain: {
screen: QuizMain,
navigationOptions: {
headerTintColor: "blue",
headerStyle: {
backgroundColor: "white"
}
}
}
});
export default class App extends React.Component {
componentDidMount() {
setLocalNotification();
}
render() {
const store = createStore(reducer, {}, applyMiddleware(ReduxThunk));
return (
<Provider store={store}>
<View style={{ flex: 1 }}>
<CustomStatusBar
backgroundColor="white"
barStyle="light-content"
/>
<MainNavigator />
</View>
</Provider>
);
}
}