2020-08-09 17:01:25 -04:00
|
|
|
import React from 'react';
|
|
|
|
import {
|
|
|
|
SafeAreaView,
|
|
|
|
StyleSheet,
|
|
|
|
ScrollView,
|
|
|
|
View,
|
|
|
|
Text,
|
|
|
|
StatusBar,
|
2020-08-09 20:56:12 -04:00
|
|
|
FlatList,
|
|
|
|
TouchableOpacity
|
2020-08-09 17:01:25 -04:00
|
|
|
} from 'react-native';
|
|
|
|
|
|
|
|
import {
|
|
|
|
Header,
|
|
|
|
LearnMoreLinks,
|
|
|
|
Colors,
|
|
|
|
DebugInstructions,
|
|
|
|
ReloadInstructions,
|
|
|
|
} from 'react-native/Libraries/NewAppScreen';
|
|
|
|
|
2020-08-09 20:56:12 -04:00
|
|
|
import { NavigationContainer } from '@react-navigation/native'
|
|
|
|
import { createStackNavigator } from '@react-navigation/stack'
|
|
|
|
|
|
|
|
import styles from './styles/morestyles'
|
2020-08-14 20:03:40 -04:00
|
|
|
import Announcements, {TeacherList} from './Announcements'
|
2020-08-09 20:56:12 -04:00
|
|
|
import Resources from './Resources'
|
|
|
|
import StudentWeek from './StudentWeek'
|
2020-11-06 16:34:17 -05:00
|
|
|
import SSLOps, {SSLInfo} from './SSLOps'
|
|
|
|
import LunchEvents, {LunchInfo} from './LunchEvents'
|
2020-08-14 11:57:45 -04:00
|
|
|
import ChallengeWeek from './ChallengeWeek'
|
2020-11-07 08:55:23 -05:00
|
|
|
import LinearGradient from 'react-native-linear-gradient'
|
2020-08-09 20:56:12 -04:00
|
|
|
|
|
|
|
const Stack = createStackNavigator()
|
|
|
|
|
|
|
|
class MoreSwitch extends React.Component {
|
|
|
|
constructor(props) {
|
|
|
|
super(props)
|
|
|
|
this.props = props
|
|
|
|
}
|
|
|
|
|
2020-08-09 17:01:25 -04:00
|
|
|
render() {
|
|
|
|
return (
|
2020-08-09 21:27:58 -04:00
|
|
|
<View style={{flex:1,backgroundColor:'red'}}>
|
2020-08-09 20:56:12 -04:00
|
|
|
<FlatList
|
|
|
|
data={[
|
|
|
|
{name:"Announcements",key:"announce"},
|
|
|
|
{name:"Resources",key:"resources"},
|
|
|
|
{name:"Student of the Week",key:"studentweek"},
|
2020-08-09 21:27:58 -04:00
|
|
|
{name:"Lunch Events",key:"lunchevent"},
|
2020-08-14 11:57:45 -04:00
|
|
|
{name:"SSL Opportunities",key:"sslops"},
|
|
|
|
{name:"Challenge of the Week",key:"challengeweek"},
|
2020-08-09 20:56:12 -04:00
|
|
|
]}
|
|
|
|
renderItem={({item})=>
|
|
|
|
<TouchableOpacity style={styles.moreitem} onPress={()=>this.props.navigation.navigate(item.key)}>
|
|
|
|
<Text style={styles.moretext}>{item.name}</Text>
|
|
|
|
</TouchableOpacity>
|
|
|
|
}
|
|
|
|
/>
|
2020-08-09 17:01:25 -04:00
|
|
|
</View>
|
|
|
|
)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-11-07 08:55:23 -05:00
|
|
|
const background = (<LinearGradient
|
|
|
|
colors={['#f99', 'white']}
|
|
|
|
style = {{flex:1,borderBottomColor:'black',borderBottomWidth:0.5}}
|
|
|
|
/>)
|
|
|
|
|
2020-08-09 20:56:12 -04:00
|
|
|
class More extends React.Component {
|
|
|
|
render() {
|
|
|
|
return (
|
|
|
|
<NavigationContainer independent={true}>
|
|
|
|
<Stack.Navigator>
|
|
|
|
<Stack.Screen
|
|
|
|
name="Chooser"
|
|
|
|
component={MoreSwitch}
|
|
|
|
options={{
|
|
|
|
title:'More',
|
2020-08-09 21:27:58 -04:00
|
|
|
headerTitleStyle:styles.headerTitle,
|
2020-11-07 08:55:23 -05:00
|
|
|
headerBackground: ()=>background
|
2020-08-09 20:56:12 -04:00
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="announce"
|
|
|
|
component={Announcements}
|
|
|
|
options={{
|
|
|
|
title:'Announcements',
|
2020-08-09 21:27:58 -04:00
|
|
|
headerTitleStyle:[styles.headerTitle,{alignSelf:'center'}],
|
2020-08-10 16:06:01 -04:00
|
|
|
headerLeft:null,
|
2020-11-07 08:55:23 -05:00
|
|
|
headerBackground: ()=>background
|
2020-08-09 20:56:12 -04:00
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="resources"
|
|
|
|
component={Resources}
|
|
|
|
options={{
|
|
|
|
title:'Resources',
|
2020-08-09 21:27:58 -04:00
|
|
|
headerTitleStyle:[styles.headerTitle,{alignSelf:'center'}],
|
2020-11-07 08:55:23 -05:00
|
|
|
headerLeft:null,
|
|
|
|
headerBackground: ()=>background
|
2020-08-09 20:56:12 -04:00
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="studentweek"
|
|
|
|
component={StudentWeek}
|
|
|
|
options={{
|
|
|
|
title:'Student of the Week',
|
2020-08-09 21:27:58 -04:00
|
|
|
headerTitleStyle:[styles.headerTitle,{alignSelf:'center'}],
|
2020-11-07 08:55:23 -05:00
|
|
|
headerLeft:null,
|
|
|
|
headerBackground: ()=>background
|
2020-08-09 21:27:58 -04:00
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="lunchevent"
|
|
|
|
component={LunchEvents}
|
|
|
|
options={{
|
|
|
|
title:'Lunch Events',
|
|
|
|
headerTitleStyle:[styles.headerTitle,{alignSelf:'center'}],
|
2020-11-07 08:55:23 -05:00
|
|
|
headerLeft:null,
|
|
|
|
headerBackground: ()=>background
|
2020-08-09 20:56:12 -04:00
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="sslops"
|
|
|
|
component={SSLOps}
|
|
|
|
options={{
|
|
|
|
title:'SSL Opportunities',
|
2020-08-09 21:27:58 -04:00
|
|
|
headerTitleStyle:[styles.headerTitle,{alignSelf:'center'}],
|
2020-11-07 08:55:23 -05:00
|
|
|
headerLeft:null,
|
|
|
|
headerBackground: ()=>background
|
2020-08-09 20:56:12 -04:00
|
|
|
}}
|
|
|
|
/>
|
2020-08-14 11:57:45 -04:00
|
|
|
<Stack.Screen
|
|
|
|
name="challengeweek"
|
|
|
|
component={ChallengeWeek}
|
|
|
|
options={{
|
|
|
|
title:'Challenge of the Week',
|
|
|
|
headerTitleStyle:[styles.headerTitle,{alignSelf:'center'}],
|
2020-11-07 08:55:23 -05:00
|
|
|
headerLeft:null,
|
|
|
|
headerBackground: ()=>background
|
2020-08-14 11:57:45 -04:00
|
|
|
}}
|
|
|
|
/>
|
2020-08-14 20:03:40 -04:00
|
|
|
<Stack.Screen
|
|
|
|
name="TeacherList"
|
|
|
|
component={TeacherList}
|
|
|
|
options={({route})=>({
|
2020-11-07 08:55:23 -05:00
|
|
|
headerTitleStyle:[styles.headerTitle,{alignSelf:'center',fontSize:Math.min(24,24*23/route.params.name.length)}],
|
2020-11-06 16:34:17 -05:00
|
|
|
title:route.params.name,
|
2020-11-07 08:55:23 -05:00
|
|
|
headerRight:()=>(<></>),
|
|
|
|
headerBackground: ()=>background
|
2020-11-06 16:34:17 -05:00
|
|
|
})}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="LunchInfo"
|
|
|
|
component={LunchInfo}
|
|
|
|
options={({route})=>({
|
2020-11-07 08:55:23 -05:00
|
|
|
headerTitleStyle:[styles.headerTitle,{alignSelf:'center',fontSize:Math.min(24,24*23/route.params.name.length)}],
|
2020-11-06 20:39:39 -05:00
|
|
|
title:route.params.name,
|
2020-11-07 08:55:23 -05:00
|
|
|
headerRight:()=>(<></>),
|
|
|
|
headerBackground: ()=>background
|
2020-11-06 16:34:17 -05:00
|
|
|
})}
|
|
|
|
/>
|
|
|
|
<Stack.Screen
|
|
|
|
name="SSLInfo"
|
|
|
|
component={SSLInfo}
|
|
|
|
options={({route})=>({
|
2020-11-07 08:55:23 -05:00
|
|
|
headerTitleStyle:[styles.headerTitle,{alignSelf:'center',fontSize:Math.min(24,24*23/route.params.name.length)}],
|
2020-11-06 20:39:39 -05:00
|
|
|
title:route.params.name,
|
2020-11-07 08:55:23 -05:00
|
|
|
headerBackground: ()=>background,
|
2020-11-06 20:39:39 -05:00
|
|
|
headerRight:()=>(<></>)
|
2020-08-14 20:03:40 -04:00
|
|
|
})}
|
|
|
|
/>
|
2020-08-09 20:56:12 -04:00
|
|
|
</Stack.Navigator>
|
|
|
|
</NavigationContainer>
|
|
|
|
)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-08-09 17:01:25 -04:00
|
|
|
export default More;
|