Skip to content
Snippets Groups Projects
Commit 1994958c authored by Ismail's avatar Ismail
Browse files

root reducer created, auth action modified, firebase config modified!

parent ee15d60b
No related branches found
No related tags found
No related merge requests found
......@@ -2,6 +2,7 @@ import React, { Component } from 'react';
import Logo from '../images/header-logo.png';
import { connect } from 'react-redux';
import { signIn } from '../../store/actions/authAction';
import { Redirect } from 'react-router-dom';
class Signin extends Component {
state = {
......@@ -20,6 +21,7 @@ class Signin extends Component {
this.props.signIn(this.state);
}
render(){
console.log(this.props);
return(
<div className="Login">
<div className="login-wrap">
......@@ -36,16 +38,26 @@ class Signin extends Component {
<input type="password" className="form-control" id="password" onChange={this.handleChange} placeholder="Enter password" name="pwd" />
</div>
<button className="btn btn-primary">Submit</button>
</form>
</div>
</div>
)
}
}
const mapStateToProps = (state) => {
console.log(state);
return {
//authError: state.auth.authError,
auth: state.firebase.auth
}
}
const mapDisToProps = (dispatch) => {
return {
signIn: (credentials) => dispatch(signIn(credentials))
}
}
export default connect(null, mapDisToProps)(Signin);
\ No newline at end of file
export default connect(mapStateToProps, mapDisToProps)(Signin);
\ No newline at end of file
......@@ -15,6 +15,6 @@ var firebaseConfig = {
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
firebase.analytics();
//firebase.analytics();
export default firebase;
\ No newline at end of file
......@@ -3,17 +3,42 @@ import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import * as serviceWorker from './serviceWorker';
import { createStore, applyMiddleware } from 'redux';
import authReducer from './store/reducers/authReducer';
import { createStore, applyMiddleware, compose } from 'redux';
import rootReducer from './store/reducers/authReducer';
import { Provider } from 'react-redux';
import thunk from 'redux-thunk';
import { reduxFirestore, getFirestore, createFirestoreInstance } from 'redux-firestore';
import { ReactReduxFirebaseProvider, getFirebase } from 'react-redux-firebase';
import fbConfig from './config/firebaseConfig';
import firebase from 'firebase/app';
const store = createStore(authReducer, applyMiddleware(thunk));
const store = createStore(rootReducer,
compose(
applyMiddleware(thunk.withExtraArgument({getFirebase, getFirestore})),
reduxFirestore(fbConfig)
));
const profileSpecificProps = {
userProfile: 'Employees',
useFirestoreForProfile: true,
enableRedirectHandling: false,
resetBeforeLogin: false
}
const rrfProps = {
firebase,
config: fbConfig,
config: profileSpecificProps,
dispatch: store.dispatch,
createFirestoreInstance
};
ReactDOM.render(
<React.StrictMode>
<Provider store = { store }>
<App />
<Provider store = {store}>
<ReactReduxFirebaseProvider {...rrfProps}>
<App />
</ReactReduxFirebaseProvider>
</Provider>
</React.StrictMode>,
document.getElementById('root')
......
export const signIn = (credentials) => {
return (dispatch, getState) => {
dispatch({ type: 'LOGIN', credentials})
return (dispatch, getState, { getFirebase}) => {
const firebase = getFirebase();
firebase.auth().signInWithEmailAndPassword(
credentials.email,
credentials.password
).then(() => {
dispatch({ type: 'LOGIN_SUCCESS'})
}).catch((err) => {
dispatch({ type: 'LOGIN_FAIL', err})
})
}
}
\ No newline at end of file
const initialState = {}
const initState = {}
const authReducer = (state = initialState, action) => {
const authReducer = (state = initState, action) => {
switch (action.type) {
case 'LOGIN':
console.log('Login check', action.credentials);
case 'LOGIN_FAIL':
//console.log('Login error');
return {
...state,
authError: 'Login Failed'
}
case 'LOGIN_SUCCESS':
//console.log('Login success');
return {
...state,
authError: null
}
default:
return state;
}
return state;
}
export default authReducer
\ No newline at end of file
import authReducer from './authReducer'
import { combineReducers } from 'redux'
import { firestoreReducer } from 'redux-firestore'
import { firebaseReducer } from 'react-redux-firebase'
const rootReducer = combineReducers({
auth: authReducer,
firestore: firestoreReducer,
firebase: firebaseReducer
});
export default rootReducer
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment