-
Notifications
You must be signed in to change notification settings - Fork 0
/
App.js
105 lines (80 loc) · 3.25 KB
/
App.js
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
import { NavigationContainer, DefaultTheme } from '@react-navigation/native';
import { createStackNavigator } from '@react-navigation/stack';
import { createBottomTabNavigator, } from '@react-navigation/bottom-tabs';
import MaterialCommunityIcons from 'react-native-vector-icons/MaterialCommunityIcons';
import { createMaterialTopTabNavigator } from '@react-navigation/material-top-tabs';
import HomeScreen from "./src/screens/HomeScreen"
import TopicSelection from "./src/screens/TopicSelection"
import * as React from 'react';
import TopicExplaination from './src/screens/TopicExplaination';
import MainQuiz from './src/screens/MainQuiz';
import ChapterSelection from './src/screens/ChapterSelection'
import Flashcards from './src/screens/Flashcards'
import MCQ from './src/screens/MCQ'
const topTab = createMaterialTopTabNavigator();
const Stack = createStackNavigator();
const learning = createStackNavigator();
const Tab = createBottomTabNavigator();
const homeBottom = createBottomTabNavigator();
const quizzes = createStackNavigator();
const tabTheme = {...DefaultTheme,colors: {...DefaultTheme.colors, card: 'white', text: 'black', background: 'white' }};
export const Lesson = React.createContext();
function App() {
return (
<NavigationContainer theme = {tabTheme}>
<homeBottom.Navigator initialRouteName = "HomeFunctions">
<homeBottom.Screen name="Home" component={homeScreenFunctions}
options={{ tabBarIcon: ({ color, size }) => (<MaterialCommunityIcons name="home" color={color} size={size} />),}} />
<homeBottom.Screen name="Awards" component={awardsFunctions} />
</homeBottom.Navigator>
</NavigationContainer>
);
}
function awardsFunctions({route}){
return({});
}
function homeScreenFunctions({route}){
return(
<Stack.Navigator initialRouteName="Home">
<Stack.Screen name = "Home" component={HomeScreen} options = {{headerShown: false}} />
<Stack.Screen name="TopicSelection" component={TopicSelection} />
<Stack.Screen name="Lessons" component={Lessons} />
<Stack.Screen name="ChapterSelection" component={ChapterSelection} />
<Stack.Screen name = 'Flashcards' component = {Flashcards}/>
</Stack.Navigator>
)
}
function Lessons({route}){
return (
<Lesson.Provider value={route}>
<topTab.Navigator
tabBarOptions={{
labelStyle: {
fontSize: 10
}
}}
initialRouteName = "Topic Explaination">
<Tab.Screen name="Topic Explaination" component={TopicExplaination}/>
<Tab.Screen name="Subtopics" component={ChapterSelection} />
<Tab.Screen name="Quiz" component={Quizzes}/>
</topTab.Navigator>
</Lesson.Provider>
);
}
function Quizzes({route}){
return(
<quizzes.Navigator initialRouteName = "QuizTypeSelect">
<quizzes.Screen name = "QuizTypeSelect" component = {MainQuiz}/>
<quizzes.Screen name = "MCQ" component = {MCQ}/>
</quizzes.Navigator>
);
}
function Topics({route}){
return (
<learning.Navigator initialRouteName = "ChapterSelection">
<learning.Screen name="ChapterSelection" component={ChapterSelection} />
<learning.Screen name = 'Flashcards' component = {Flashcards}/>
</learning.Navigator>
);
}
export default App;