123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- import React, { Component } from 'react';
- import { connect } from 'react-redux';
- import { bindActionCreators } from 'redux';
- import firebase from 'firebase';
- import { Text, View, ImageBackground } from 'react-native';
- import MaterialIcons from 'react-native-vector-icons/MaterialIcons';
-
- import { fetchUser } from '../redux/actions/index'
- //import Loading from '../components/Loading'
- import Loading from './main/Loading'
- import { styles } from '../config/styles'
-
- export class HomeScreen extends Component {
- constructor(props){
- super(props);
- this.state = {
- interpreter: false,
- };
- this.onLogout = this.onLogout.bind(this)
- };
-
- componentDidMount(){
- this.props.fetchUser();
- firebase.firestore()
- .collection("Interpreters")
- .doc(firebase.auth().currentUser.uid)
- .get()
- .then((snapshot) => {
- if(snapshot.exists){
- this.setState({interpreter: true})
- }
- })
- }
-
- onLogout(){
- firebase.auth().signOut();
- }
-
- render() {
- const { currentUser } = this.props;
-
- if(currentUser == undefined){
- return <Loading/>
- }
- if(this.state.interpreter){
- return(
- <View style={styles.regcontainer}>
- <ImageBackground style={styles.home} source={require("../assets/yellow-white.jpg")}>
- <View style={styles.homeTopView}>
- <MaterialIcons name='logout' size={30} color='dodgerblue' onPress={() => this.onLogout()}/>
- <MaterialIcons name='event' size={30} color='dodgerblue' style={styles.homeIcon} onPress={() => this.props.navigation.navigate('Availability')}/>
- <MaterialIcons name='mail' size={30} color='dodgerblue' onPress={() => this.props.navigation.navigate('Mail')}/>
- </View>
- </ImageBackground>
- <View style={styles.regcontainer}></View>
- </View>
- );
- }
- else{
- return(
- <View style={styles.regcontainer}><Text>You are a user</Text></View>
- );
- }
- }
- }
-
- const mapStateProps = (store) => ({currentUser: store.userState.currentUser})
- const mapDispatchProps = (dispatch) => bindActionCreators({fetchUser}, dispatch)
- export default connect(mapStateProps, mapDispatchProps)(HomeScreen)
-
- /*export default function HomeScreen({navigation}) {
- const [threads, setThreads] = useState([]);
- const [loading, setLoading] = useState(true);
-
- useEffect(() => {
-
- const fire = firebase.firestore()
- .collection('THREADS')
-
- .onSnapshot(querySnapshot => {
- const threads = querySnapshot.docs.map(documentSnapshot => {
- return{
- _id:documentSnapshot.id,
- name:'',
- ...documentSnapshot.data()
- };
-
- });
-
- setThreads(threads);
-
- if(loading){
- setLoading(false);
- }
-
- });
-
- return () => fire();
- }, []);
-
- if (loading) {
- return <Loading />;
- }
-
- return (
- <View style={styles.container}>
- <FlatList
- data={threads}
- keyExtractor = {item => item._id}
- ItemSeparatorComponent={() => <Divider />}
- renderItem = {({item}) => (
-
- <TouchableOpacity
- onPress={() => navigation.navigate('Room', {thread: item})}
-
- >
- <List.Item
- title={item.name}
- description='Item description'
- titleNumberOfLines={1}
- titleStyle={styles.listTitle}
- descriptionStyle={styles.listDescription}
- descriptionNumberOfLines={1}
- />
- </TouchableOpacity>
- )}
- />
-
- <Button
- title='Add Room'
- onPress={() => navigation.navigate('Add')}
- />
-
- <Button
- title ='Room'
- onPress= {() => navigation.navigate('Room')}
- />
-
- </View>
- );
- }
- */
|