Browse Source

added sign in/up post redirection

= 6 years ago
parent
commit
edd01b5128
3 changed files with 37 additions and 12 deletions
  1. 17 5
      src/containers/auth/SignInPage/index.js
  2. 18 6
      src/containers/auth/SignUpPage/index.js
  3. 2 1
      src/router.js

+ 17 - 5
src/containers/auth/SignInPage/index.js

@@ -3,22 +3,34 @@ import { signInRequest } from './../../../actions/auth/signIn'
 import { bindActionCreators } from 'redux';
 import { connect } from 'react-redux';
 
+import { Redirect } from 'react-router';
+import { HOME } from './../../../constants/routes';
+
 import SignInForm from './../../../components/auth/signInForm'
 
 class SignInPage extends React.Component {
 
     render() {
         console.log("SignInPage containers props:", this.props);
-        const { signInRequest } = this.props;
+        const { signInRequest, user } = this.props;
         return (
-            <div className="page sign-in">
-                <SignInForm actions={{ signInRequest }} />
-            </div>
+            !(user.data)
+                ? (
+                    <div className="page sign-in">
+                        <SignInForm actions={{ signInRequest }} />
+                    </div>
+                )
+                : (
+                    <Redirect to={HOME} />
+                )
         )
     }
 }
 
 const
+    mapStateToProps = ({ user }) => ({
+        user
+    }),
     mapDispatchToProps = dispatch => bindActionCreators({ signInRequest }, dispatch)
 
-export default connect(null, mapDispatchToProps)(SignInPage)
+export default connect(mapStateToProps, mapDispatchToProps)(SignInPage)

+ 18 - 6
src/containers/auth/SignUpPage/index.js

@@ -1,24 +1,36 @@
 import React from 'react';
-import { signUpRequest } from './../../../actions/auth/signUp'
+import { signUpRequest } from './../../../actions/auth/signUp';
 import { bindActionCreators } from 'redux';
 import { connect } from 'react-redux';
 
+import { Redirect } from 'react-router'
+import { HOME } from './../../../constants/routes';
+
 import SignUpForm from './../../../components/auth/signUpForm'
 
 class SignUpPage extends React.Component {
 
     render() {
         console.log("SignInPage containers props:", this.props);
-        const { signUpRequest } = this.props;
+        const { signUpRequest, user } = this.props;
         return (
-            <div className="page sign-up">
-                <SignUpForm actions={{ signUpRequest }} />
-            </div>
+            !(user.data)
+                ? (
+                    <div className="page sign-up">
+                        <SignUpForm actions={{ signUpRequest }} />
+                    </div>
+                )
+                : (
+                    <Redirect to={HOME} />
+                )
         )
     }
 }
 
 const
+    mapStateToProps = ({ user }) => ({
+        user
+    }),
     mapDispatchToProps = dispatch => bindActionCreators({ signUpRequest }, dispatch)
 
-export default connect(null, mapDispatchToProps)(SignUpPage)
+export default connect(mapStateToProps, mapDispatchToProps)(SignUpPage)

+ 2 - 1
src/router.js

@@ -24,8 +24,9 @@ export default () => (
                 <Route path={routes.LANDING} exact component={landingPage} />
                 <Route path={routes.SIGN_IN} exact component={signInPage} />
                 <Route path={routes.SIGN_UP} exact component={signUpPage} />
+                <Route path={routes.HOME} exact component={homePage} />
 
-                <PrivateRouter path={routes.HOME} user={false} component={homePage}/>
+                {/* <PrivateRouter path={routes.HOME} user={false} component={homePage}/> */}
                 <PrivateRouter path={routes.TESTS} user={false} component={null}/>
                 <PrivateRouter path={routes.CATEGORIES} user={false} component={null}/>
                 <PrivateRouter path={routes.PROFILE} user={false} component={null} />