import React, { Component } from 'react';
import firebase from 'firebase'
import { NavigationContainer } from '@react-navigation/native';
import { createStackNavigator } from '@react-navigation/stack';
import RegisterScreen from './screens/auth/RegisterScreen';
import LoginScreen from './screens/auth/LoginScreen';
import { firebaseConfig } from './config/firebaseConfig';
import { Text, View } from 'react-native';
import { styles } from './config/styles';
import HomeScreen from './screens/main/Home_page';
import { Provider} from 'react-redux'
import { createStore, applyMiddleware } from 'redux';
import rootReducer from './redux/reducers'
import thunk from 'redux-thunk'
import { connect } from 'react-redux'
import { bindActionCreators } from 'redux'
import { fetchUser } from './redux/actions/index'
/*const seConfig = {
apiKey: "AIzaSyDW-ABAQ3r_WR7C7WC_3VprL77NcAoitJI",
authDomain: "freehand-d8ecd.firebaseapp.com",
projectId: "freehand-d8ecd",
storageBucket: "freehand-d8ecd.appspot.com",
messagingSenderId: "48371388186",
appId: "1:48371388186:web:9a5a4bf1218e17ac6326a3"
};
*/
// Initialize Firebase
//const app = firebase.initializeApp(seConfig);
if (firebase.apps.length === 0) {
firebase.initializeApp(firebaseConfig)
}
const store = createStore(rootReducer, applyMiddleware(thunk));
const Stack = createStackNavigator();
export class App extends Component {
constructor(props){
super(props);
this.state = {
loaded: false,
}
}
componentDidMount(){
firebase.auth().onAuthStateChanged((user) => {
if (!user){
this.setState({
loggedIn: false,
loaded: true,
})
}
else{
this.setState({
loggedIn: true,
loaded: true,
})
}
})
}
render() {
const { loggedIn, loaded } = this.state
if(!loaded){
return(
Hopper
);
}
if(!loggedIn){
return (
);
}
return(
);
}
}
const mapStateToProps = (store) => ({
currentUser: store.userState.currentUser
})
const mapDispatchProps = (dispatch) => bindActionCreators({fetchUser}, dispatch);
export default connect(mapStateToProps, mapDispatchProps)(App);