Advertisement
Guest User

Untitled

a guest
Jun 16th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.94 KB | None | 0 0
  1. import React, { Component } from 'react';
  2. import firebase from 'firebase';
  3. import ForgotPss from './components/ForgotPss';
  4. import Home from './components/Home.js';
  5. import Modal from 'react-modal';
  6. import './App.css';
  7.  
  8.  
  9. const customStyles = {
  10. content : {
  11. top : '50%',
  12. left : '50%',
  13. right : 'auto',
  14. bottom : 'auto',
  15. marginRight : '-50%',
  16. transform : 'translate(-50%, -50%)'
  17. }
  18. };
  19.  
  20. class App extends Component {
  21.  
  22. constructor () {
  23. super();
  24. this.state = {
  25. user: null,
  26. email: null,
  27. password: null,
  28. modalIsOpen: false
  29. };
  30.  
  31. this.openModal = this.openModal.bind(this);
  32. this.closeModal = this.closeModal.bind(this);
  33.  
  34. this.handleLogout = this.handleLogout.bind(this);
  35. this.handleAuth = this.handleAuth.bind(this);
  36. this.handleInputChange = this.handleInputChange.bind(this);
  37. }
  38.  
  39. openModal() {
  40. this.setState({modalIsOpen: true});
  41. }
  42.  
  43.  
  44. closeModal() {
  45. this.setState({modalIsOpen: false});
  46. const recover = firebase.auth();
  47. recover.sendPasswordResetEmail(this.state.email).then( response => {
  48. console.log('Se envio un correo a su cuenta.',response);
  49. }).catch( error => {
  50. console.log('error', error);
  51. });
  52. }
  53.  
  54. recoverPass(mailAddres){
  55.  
  56. }
  57.  
  58. componentWillMount (){
  59. firebase.auth().onAuthStateChanged(user => {
  60. this.setState({user});
  61. });
  62. }
  63.  
  64.  
  65. handleAuth(){
  66. //const provider = new firebase.auth.GoogleAuthProvider();
  67. firebase.auth().signInWithEmailAndPassword(this.state.email, this.state.password)
  68. .then(result => console.log(`${result.user.email} ha iniciado sesion`))
  69. .catch(error => console.log(`Error ${error.code} : ${error.message} `));
  70. }
  71.  
  72. handleLogout(){
  73. firebase.auth().signOut()
  74. .then(result => console.log(`${result.user.email} ha salido`))
  75. .catch(error => console.log(`Error ${error.code} : ${error.message} `));
  76. }
  77.  
  78. handleForgotPassword(){
  79. return <ForgotPss />;
  80. }
  81.  
  82.  
  83. handleInputChange(event) {
  84. const target = event.target;
  85. const value = target.value;
  86. const name = target.name;
  87.  
  88. this.setState({
  89. [name]: value
  90. });
  91. }
  92.  
  93. renderLoginButton(){
  94. if(this.state.user){
  95. return(
  96. <Home onLogOut={this.handleLogout}/>
  97. )
  98. }else{
  99. return(
  100. <div className="row">
  101. <div className="col-md-4 col-md-offset-4">
  102. <div className="panel panel-default">
  103. <div className="panel-heading">
  104. <h3 className="panel-title">Ingresar</h3>
  105. </div>
  106. <div className="panel-body">
  107. <form accept-charset="UTF-8" >
  108. <fieldset>
  109. <div className="form-group">
  110. <input className="form-control" placeholder="E-mail" name="email" type="email" value={this.state.email} onChange={this.handleInputChange} />
  111. </div>
  112. <div className="form-group">
  113. <input className="form-control" placeholder="Contraseña" name="password" type="password" value={this.state.password} onChange={this.handleInputChange} />
  114. </div>
  115.  
  116. <div className="form-group">
  117. <a onClick={this.openModal} >Olvido su contraseña?</a>
  118. </div>
  119. <input className="btn btn-lg btn-success btn-block" onClick={this.handleAuth} value="login Google"/>
  120. </fieldset>
  121. </form>
  122. </div>
  123. </div>
  124. </div>
  125. </div>
  126. )
  127. }
  128. }
  129.  
  130. render() {
  131. return (
  132. <div className="container">
  133. {this.renderLoginButton()}
  134. <Modal
  135. isOpen={this.state.modalIsOpen}
  136. onAfterOpen={this.afterOpenModal}
  137. onRequestClose={this.closeModal}
  138. style={customStyles}
  139. contentLabel="Example Modal"
  140. >
  141.  
  142.  
  143. <div className="panel panel-default">
  144. <div className="panel-heading">
  145. <h3 className="panel-title">Ingresa el email que validara tu contraseña</h3>
  146. </div>
  147. <div className="panel-body">
  148. <form accept-charset="UTF-8" >
  149. <fieldset>
  150. <div className="form-group">
  151. <input className="form-control" placeholder="E-mail" name="email" type="email" value={this.state.email} onChange={this.handleInputChange} />
  152. </div>
  153.  
  154. <input className="btn btn-lg btn-success btn-block" onClick={this.closeModal} value="Recuperar Contrasena"/>
  155. </fieldset>
  156. </form>
  157. </div>
  158. </div>
  159.  
  160. </Modal>
  161. </div>
  162. );
  163. }
  164. }
  165.  
  166. export default App;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement