Advertisement
Guest User

Untitled

a guest
Mar 12th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.58 KB | None | 0 0
  1. import React, { Component } from 'react';
  2. import axios from 'axios';
  3. class Login extends Component {
  4.  
  5. constructor(props) {
  6. super(props);
  7. this.state = {user: {email: '', password: ''}};
  8.  
  9. this.handleChange = this.handleChange.bind(this);
  10. this.handleClick = this.handleClick.bind(this);
  11. }
  12. login(event) {
  13. console.log("Login");
  14. console.log(this.state.user);
  15. let config = {
  16. headers : {'x-authorization' : process.env.REACT_APP_API_KEY}
  17. };
  18. axios.post(process.env.REACT_APP_API_URL + '/api/loginPersonalTrainer',
  19. {
  20. email: this.state.user.email,
  21. password: this.state.user.password},
  22. config
  23. ).then(response=>{
  24. console.log(response);
  25. }).catch(error => {
  26. console.log(error);
  27. });
  28. }
  29. handleChange(event) {
  30. let userCopy = this.state.user;
  31. switch(event.target.id) {
  32. case 'email':
  33. userCopy.email = event.target.value;
  34. break;
  35.  
  36. case 'password':
  37. userCopy.password = event.target.value;
  38.  
  39. break;
  40. default:
  41. break;
  42. }
  43.  
  44. this.setState({ user:userCopy });
  45.  
  46. }
  47.  
  48. handleClick(event){
  49. event.preventDefault();
  50. switch(event.target.id) {
  51. case 'login':
  52. this.login();
  53. break;
  54. default:
  55. break;
  56. }
  57. }
  58. render(){
  59. return (
  60. <main className="page-content">
  61. <div className="page-inner">
  62. <div id="main-wrapper">
  63. <div className="row">
  64. <div className="col-md-3 center">
  65. <div className="login-box">
  66. <a href="index.html" className="logo-name text-lg text-center">PTGuide</a>
  67. <p className="text-center m-t-md">Please login into your account.</p>
  68. <form className="m-t-md">
  69. <div className="form-group">
  70. <input type="text" className="form-control" placeholder="Your email" id="email" value={this.state.user.email} onChange={this.handleChange}/>
  71. </div>
  72. <div className="form-group">
  73. <input type="password" className="form-control" id="password" placeholder="Your password" value={this.state.user.password} onChange={this.handleChange}/>
  74. </div>
  75. <button className="btn btn-success btn-block" id="login" onClick={this.handleClick}>Login</button>
  76. <a href="forgot.html" className="display-block text-center m-t-md text-sm">Forgot Password?</a>
  77. <p className="text-center m-t-xs text-sm">Do not have an account?</p>
  78. <a href="/register" className="btn btn-default btn-block m-t-md">Create an account</a>
  79. </form>
  80. <p className="text-center m-t-xs text-sm">2015 &copy; Modern by Steelcoders.</p>
  81. </div>
  82. </div>
  83. </div>
  84. </div>
  85. </div>
  86. </main>
  87. );
  88. }
  89. }
  90.  
  91. export default Login;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement