Advertisement
code_paster

Untitled

Jun 18th, 2018
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import React from 'react';
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8. class Signin extends React.Component {
  9.   constructor(props){
  10.     super(props);
  11.     this.state = {
  12.       signInEmail: '',
  13.       signInPassword: ''
  14.     }
  15.   }
  16.   onEmailChange = (event) => {
  17.     this.setState({signInEmail: event.target.value})
  18.   }
  19.   onPasswordChange = (event) => {
  20.     this.setState({signInPassword: event.target.value})
  21.   }
  22.  
  23.   onSubmitSignIn = () => {
  24.     fetch('https://guarded-hollows-87945.herokuapp.com/signin', {
  25.       method: 'post',
  26.       headers: {'Content-Type': 'application/json'},
  27.       body: JSON.stringify({
  28.       email: this.state.signInEmail,
  29.       password: this.state.signInPassword
  30.       })
  31.     })
  32.     .then(response => response.json())
  33.     .then(user => {
  34.       if (user.id){
  35.         this.props.loadUser(user);
  36.         this.props.onRouteChange('home');
  37.  
  38.       }
  39.     })
  40.   }
  41.   render() {
  42.     const { onRouteChange } = this.props;
  43.     return(
  44.         <article className="br3 ba b--black-10 mv4 w-100 w-50-m w-25-l mw6 shadow-5 center">
  45.         <main className="pa4 black-80">
  46.           <div className="measure">
  47.             <fieldset id="sign_up" className="ba b--transparent ph0 mh0">
  48.               <legend className="f1 fw6 ph0 mh0">Sign In</legend>
  49.               <div className="mt3">
  50.                 <label className="db fw6 lh-copy f6" htmlFor="email-address">Email</label>
  51.                 <input onChange={this.onEmailChange}
  52.                       className="pa2 input-reset ba bg-transparent hover-bg-black hover-white w-100"
  53.                       type="email" name="email-address"  id="email-address" />
  54.               </div>
  55.               <div className="mv3">
  56.                 <label className="db fw6 lh-copy f6" htmlFor="password">Password</label>
  57.                 <input onChange={this.onPasswordChange} className="b pa2 input-reset ba bg-transparent hover-bg-black hover-white w-100" type="password" name="password"  id="password" />
  58.               </div>
  59.             </fieldset>
  60.             <div className="">
  61.               <input
  62.                   onClick={this.onSubmitSignIn}
  63.                  className="b ph3 pv2 input-reset ba b--black bg-transparent grow pointer f6 dib"
  64.                  type="submit"
  65.                   value="Sign in"
  66.                  />
  67.             </div>
  68.             <div className="lh-copy mt3">
  69.  
  70.               <p onClick={() => onRouteChange('register')} className="f6 link dim black db pointer">Register</p>
  71.             </div>
  72.           </div>
  73.         </main>
  74.         </article>
  75.     );
  76.   }
  77. }
  78.  
  79. export default Signin;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement