Advertisement
Guest User

Untitled

a guest
Mar 14th, 2018
439
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import * as React from 'react';
  2. import { RouteComponentProps } from 'react-router';
  3. import * as $ from "jquery";
  4. import Errores from '../Errores'
  5. import './css/Registro.css'
  6.  
  7. interface ErroresRegistro
  8. {
  9.     errores: string[]
  10. }
  11.  
  12. export class Registro extends React.Component<RouteComponentProps<{}>, ErroresRegistro>
  13. {
  14.    
  15.     componentWillMount()
  16.     {
  17.         return false;
  18.     }
  19.     constructor()
  20.     {
  21.         super()
  22.         this.state = { errores: [] };
  23.     }
  24.  
  25.     public render() {
  26.                
  27.        //function redireccionar()
  28.        // {
  29.        //     window.location.href = "/IniciarSesion";
  30.        // }
  31.  
  32.         return (
  33.  
  34.             <div className="page-header header-filter" filter-color="purple" id="principal">
  35.                 <div className="container">
  36.                     <div className="row">
  37.                         <div className="col-md-10 ml-auto mr-auto">
  38.                             <div className="card card-signup">
  39.                                 <div className="card-header card-header-la text-center">
  40.                                     <h4>Bienvenido a Limits Arena</h4>
  41.                                 </div>
  42.                                 <div className="card-body">
  43.                                     <div className="row">
  44.                                         <div className="col-md-5 ml-auto">
  45.                                             <div className="info info-horizontal">
  46.                                                 <div className="icon icon-info">
  47.                                                     <i className="fa fa-gamepad"></i>
  48.                                                 </div>
  49.                                                 <div className="description">
  50.                                                     <h4 className="info-title">Hazte Pro</h4>
  51.                                                     <p className="description">
  52.                                                         Crear una cuenta de Limits Arena para iniciar tu carrera profesional en eSports.
  53.                                                     </p>
  54.                                                 </div>
  55.                                             </div>
  56.                                             <div className="info info-horizontal">
  57.                                                 <div className="icon icon-success">
  58.                                                     <i className="fa fa-shield"></i>
  59.                                                 </div>
  60.                                                 <div className="description">
  61.                                                     <h4 className="info-title">Club Profesional</h4>
  62.                                                     <p className="description">
  63.                                                         Crea un Club de eSports profesional y ficha los mejores jugadores con Limits Points.
  64.                                                     </p>
  65.                                                 </div>
  66.                                             </div>
  67.                                             <div className="info info-horizontal">
  68.                                                 <div className="icon icon-rose">
  69.                                                     <i className="fa fa-id-badge"></i>
  70.                                                 </div>
  71.                                                 <div className="description">
  72.                                                     <h4 className="info-title">Jugador Libre</h4>
  73.                                                     <p className="description">
  74.                                                         Sé un jugador libre a espera de ser fichado por un Club profesional. Cada jugador es valorizado en Limits Points.
  75.                                                     </p>
  76.                                                 </div>
  77.                                             </div>
  78.                                             <div className="info info-horizontal">
  79.                                                 <div className="icon icon-primary">
  80.                                                     <i className="fa fa-sitemap"></i>
  81.                                                 </div>
  82.                                                 <div className="description">
  83.                                                     <h4 className="info-title">Limits League Liga Profesional de Video Juegos</h4>
  84.                                                     <p className="description">
  85.                                                         Limits League es un circuito profesional para jugadores talentoso y prometedores de la escena competitiva eSports.
  86.                                                 Compite en nuestros torneos oficiales y gana premios en efectivo.
  87.                                                     </p>
  88.                                                 </div>
  89.                                             </div>
  90.                                         </div>
  91.                                         <div className="col-md-5 mr-auto">
  92.                                             <p className="text-divider">Tú carrera profesional inicia aquí.</p>
  93.                                                 <Errores mensajes={this.state.errores} />
  94.                                                 <div className="card-body">
  95.                                                     <div className="form-group">
  96.                                                     <label htmlFor="" className="bmd-label-floating">Username</label>
  97.                                                     <input type="text" className="form-control" id="inputUsername" defaultValue="AAAAAAAA" />
  98.                                                         <span className="bmd-help">Nombre de usuario debe ser de 3 a 8 digitos</span>
  99.                                                     </div>
  100.                                                     <div className="form-group">
  101.                                                     <label htmlFor="" className="bmd-label-floating">Email</label>
  102.                                                     <input type="email" className="form-control" id="inputEmail" defaultValue="alexorlas96@gmail.com" />
  103.                                                         <span className="bmd-help">Ingresa un email valido para verificar tu cuenta</span>
  104.                                                     </div>
  105.                                                     <div className="form-group">
  106.                                                     <label htmlFor="" className="bmd-label-floating">Password</label>
  107.                                                     <input type="password" className="form-control" id="inputPassword" defaultValue="Alexander.2018" />
  108.                                                         <span className="bmd-help">Ingresa una contraseña con números y letras</span>
  109.                                                     </div>
  110.                                                     <div className="form-group">
  111.                                                         <label htmlFor="" className="bmd-label-floating">Confirmar Password</label>
  112.                                                         <input type="password" className="form-control" id="inputPasswordConfirmation" defaultValue="Alexander.2018" />
  113.                                                         <span className="bmd-help">Por favor confirma tu contraseña</span>
  114.                                                     </div>
  115.                                                     <br />
  116.                                                     <div className="form-check">
  117.                                                         <label className="form-check-label">
  118.                                                             <input className="form-check-input" id="confirmacionEdadMinima" type="checkbox" value="" required></input> Certifico que tengo más de 13 años
  119.                                                             <span className="form-check-sign">
  120.                                                                 <span className="check"></span>
  121.                                                             </span>
  122.                                                         </label>
  123.                                                     </div>
  124.                                                     <br />
  125.                                                     <div className="col-xs-12 text-center">
  126.                                                         <p>Al registrarse usted acepta nuestros
  127.                                                             <a href="#">Términos de Servicio</a> y
  128.                                                             <a href="#">Políticas de Privacidad</a>.
  129.                                                         </p>
  130.                                                     </div>
  131.                                                 </div>
  132.                                                 <div className="footer text-center">
  133.                                                     <button type="submit" onClick={() => { this.ConsumoAPI() }} className="btn btn-la">CREAR UNA CUENTA LIMITS ARENA</button>
  134.                                                 </div>
  135.                                                 <div className="col-xs-12 text-center">
  136.                                                     <p>¿Ya tienes cuenta?
  137.                                                         <a href="/iniciarsesion">Inicia Sesión</a>
  138.                                                     </p>
  139.                                                 </div>
  140.                                         </div>
  141.                                     </div>
  142.                                 </div>
  143.                             </div>
  144.                         </div>
  145.                     </div>
  146.                 </div>
  147.             </div>
  148.         );
  149.     }
  150.  
  151.     ConsumoAPI()
  152.     {
  153.         var username = ((document.getElementById("inputUsername") as HTMLInputElement).value);
  154.         var email = ((document.getElementById("inputEmail") as HTMLInputElement).value);
  155.         var password = ((document.getElementById("inputPassword") as HTMLInputElement).value);
  156.         var passwordConfirmation = ((document.getElementById("inputPasswordConfirmation") as HTMLInputElement).value);
  157.         var checkbox = ((document.getElementById("confirmacionEdadMinima") as HTMLInputElement).checked);
  158.  
  159.         var mAge = false;
  160.  
  161.         if (username.length == 0)
  162.         {
  163.             this.setState({
  164.                 errores: ["El nombre de usuario no se puede dejar sin llenar"]
  165.             });
  166.             return false;
  167.         }
  168.         if (email.trim().length == 0) {
  169.             this.setState({
  170.                 errores: ["El email no se puede dejar sin llenar"]
  171.             });
  172.             return false;
  173.         }
  174.         if (password.length == 0) {
  175.             this.setState({
  176.                 errores: ["La contraseña no se puede dejar sin llenar"]
  177.             });
  178.             return false;
  179.         }
  180.         if (password != passwordConfirmation) {
  181.             this.setState({
  182.                 errores: ["Las contraseñas no coinciden"]
  183.             });
  184.             return false;
  185.         }
  186.         if (!checkbox) {
  187.             this.setState({
  188.                 errores: ["Debe verificar que tiene mínimamente 13 años"]
  189.             });
  190.             return false;
  191.         } else {
  192.             var mAge = true;
  193.         }
  194.         var datosUsuario = { Email: email, password: password, ConfirmPassword: passwordConfirmation, UserName: username };
  195.         let self = this.state;
  196.         fetch('api/Auth', {
  197.             method: 'POST',
  198.             headers: { 'Content-Type': 'application/json' },
  199.             body: JSON.stringify(datosUsuario)
  200.         }).then((res) => {
  201.             if (res.ok) {
  202.                 return res.json().then((mensaje) => {
  203.                     window.location.href="/welcome"
  204.                 });
  205.             } else {
  206.                 return res.json().then((error) => {
  207.                     console.log(error[0])
  208.                 })
  209.                 }
  210.             });
  211.     }
  212. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement