index.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import React from 'react';
  2. import { signInRequest } from './../../../actions/auth/signIn'
  3. import { bindActionCreators } from 'redux';
  4. import { connect } from 'react-redux';
  5. import { Redirect } from 'react-router';
  6. import { HOME } from './../../../constants/routes';
  7. import Spinner from './../../../components/common/spinner';
  8. import SignInForm from './../../../components/public-components/auth/signInForm';
  9. class SignInPage extends React.Component {
  10. render() {
  11. const { signInRequest, user } = this.props;
  12. return (
  13. user.isFetching
  14. ? <Spinner />
  15. : user.error
  16. ?
  17. (
  18. <div className="page sign-in">
  19. <SignInForm actions={{ signInRequest }} requestError={user.error} />
  20. </div>
  21. )
  22. : user.data
  23. ?
  24. < Redirect to={HOME} />
  25. :
  26. (
  27. <div className="page sign-in">
  28. <SignInForm actions={{ signInRequest }} />
  29. </div>
  30. )
  31. )
  32. }
  33. }
  34. const
  35. mapStateToProps = ({ user }) => ({
  36. user
  37. }),
  38. mapDispatchToProps = dispatch => bindActionCreators({ signInRequest }, dispatch)
  39. export default connect(mapStateToProps, mapDispatchToProps)(SignInPage)