UNPKG

@anterostecnologia/anteros-react-admin

Version:

Anteros components for React - Admin menu

102 lines (90 loc) 3.95 kB
import React, { Component } from 'react'; import { Redirect } from 'react-router-dom'; import axios from 'axios'; import { convertJsonToObject } from '../../app/utils/AnterosJacksonParser'; import { connect } from "react-redux"; import { handleLogin, handleLogout, setToken } from '../actions/authenticationActions'; import PropTypes from 'prop-types'; class AnterosLogin extends Component { constructor(props) { super(props); this.login = this.login.bind(this); this.state = { redirectToReferrer: false } } login(event) { event.preventDefault(); this.props.handleLogin(this.props.currentUser); // axios.get('http://localhost:8090/AnterosCFC-Service/resource/buscaTodos', { // auth: { // username: 'EDSON', // password: '727204' // } // }).then(function (response) { // console.log(convertJsonToObject(response.data)); // }) // .catch(function (error) { // console.log(error); // }); this.setState({ redirectToReferrer: true }); } render() { const { from } = this.props.location.state || { from: { pathname: '/' } } const { redirectToReferrer } = this.state if (redirectToReferrer) { return ( <Redirect to={from} /> ) } return ( <div className="auth"> <div className="auth-container"> <div className="card"> <header className="auth-header"> <img src={require('../assets/img/security-menu-1.png')} /> </header> <div className="auth-content"> <p className="text-xs-center">LOGIN</p> <form id="login-form" onSubmit={this.login} method="GET" > <div className="form-group"> <label>Username</label> <input type="email" className="form-control underlined" name="username" id="username" placeholder="Your email address" required="" aria-required="true" /> </div> <div className="form-group"> <label>Password</label> <input type="password" className="form-control underlined" name="password" id="password" placeholder="Your password" required="" aria-required="true" /> </div> <div className="form-group"> <label> <input className="checkbox" id="remember" type="checkbox" /> <span>Remember me</span> </label> <a href="reset.html" className="forgot-btn pull-right">Forgot password?</a> </div> <div className="form-group"> <button type="submit" className="btn btn-block btn-primary">Login</button> </div> <div className="form-group"> <p className="text-muted text-xs-center">Do not have an account? <a href="signup.html">Sign Up!</a></p> </div> </form> </div> </div> </div> </div> ) } } const mapStateToProps = (state) => { return { currentUser: state.authentication.currentUser, isLoggedIn: state.authentication.isLoggedIn, token: state.authentication.token }; }; const mapDispatchToProps = (dispatch) => { return { handleLogin: (currentUser) => { dispatch(handleLogin(currentUser)); }, handleLogout: () => { dispatch(handleLogout()); }, setToken: (token) => { dispatch(setToken(token)); }, }; }; export default connect(mapStateToProps, mapDispatchToProps)(AnterosLogin);