Guest User

Untitled

a guest
Jan 17th, 2018
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import React, { Component } from 'react';
  2. import { Link } from 'react-router';
  3. import { firebaseApp } from '../firebase';
  4. import { Box } from 'bloomer/lib/elements/Box';
  5. import { Label } from 'bloomer/lib/elements/Form/Label';
  6.  
  7. class SignUp extends Component {
  8.     constructor(props) {
  9.         super(props);
  10.         this.state = {
  11.             email: '',
  12.             password: '',
  13.             showError: false,
  14.             error: {
  15.                 message: ''
  16.             }
  17.         }
  18.     }
  19.  
  20.     signUp() {
  21.         console.log(this.state);
  22.         const {email, password} = this.state;
  23.         firebaseApp.auth().createUserWithEmailAndPassword(email, password)
  24.             .then(() => {
  25.                 var user = firebaseApp.auth().currentUser;
  26.                 user.sendEmailVerification().then(function() {
  27.                     console.log("verification email sent")
  28.                   }).catch(function(error) {
  29.                     console.log(error);
  30.                     this.setState({error});
  31.                   });
  32.             })
  33.             .catch(error => {
  34.                 console.log(error);
  35.  
  36.                 this.setState({
  37.                     showError: true,
  38.                     error
  39.                 });
  40.             })
  41.     }
  42.  
  43.     render() {
  44.         return (
  45.             <div className = "Sign-Up-Form">
  46.                 <h1> Goal Coach </h1>
  47.                 <div className = "signup-form">
  48.                     <Box className = "signup-box">
  49.                         <div className = "form-horizontal">
  50.                             <h2>Sign Up</h2>
  51.                             <hr />
  52.                             <div className = "form-group">
  53.                                  
  54.                                 <Label className = "label">Name</Label>
  55.                                 <input
  56.                                     className = "form-control name-input"
  57.                                     type = "text"
  58.                                     onChange = {
  59.                                         event => this.setState({
  60.                                             name: event.target.value
  61.                                         })
  62.                                     }
  63.                                 />
  64.                                 <Label className = "label">Email</Label>
  65.                                 <input
  66.                                     className = "form-control email-input"
  67.                                     type = "text"
  68.                                     onChange = {
  69.                                         event => this.setState({
  70.                                             email: event.target.value
  71.                                         })
  72.                                     }
  73.                                 />
  74.                                 <Label className = "label">Password</Label>
  75.                                 <input
  76.                                     className = "form-control password-input"
  77.                                     type = "password"
  78.                                     onChange = {
  79.                                         event => this.setState({
  80.                                             password: event.target.value
  81.                                         })
  82.                                     }
  83.                                 />
  84.                                 <button
  85.                                     className = "btn signup-btn"
  86.                                     type = "button"
  87.                                     onClick = {() => this.signUp()}
  88.                                 >
  89.                                     SIGN UP
  90.                                 </button>
  91.                             </div>
  92.                             {
  93.                                 // (this.state.error.message !== '' && this.state.showError === true) ? alert(this.state.error.message) : <p></p>
  94.                                 {
  95.                                     if(this.state.error.message !== '' && this.state.showError === true) {
  96.                                         alert(this.state.error.message);
  97.                                         let state = state;
  98.                                         this.setState({
  99.                                             showError: false
  100.                                         })
  101.                                     }
  102.                                 }
  103.                             }
  104.                             <hr />
  105.                             <p className = "signin-link"><Link to = {'/signin'} className = "link">Already a user ? Sign in instead</Link></p>
  106.                         </div>
  107.                     </Box>
  108.                 </div>
  109.             </div>
  110.         )
  111.     }
  112. }
  113.  
  114. export default SignUp;
Add Comment
Please, Sign In to add comment