{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"/home/sonia/VisualStudioCode/Proyecto-React-Firebase/client/src/pages/auth/register.tsx\",\n    _s = $RefreshSig$();\n\nimport React, { useState } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport AuthContainer from '../../components/AuthContainer';\nimport { auth } from '../../config/firebase';\nimport logging from '../../config/logging';\n\nconst RegisterPage = props => {\n  _s();\n\n  // Variables:\n  // registering == será booleana y su estado por defeto sera false:\n  const [registering, setRegistering] = useState(false); // Las demás serán string y son las que necesitaremos para el registro:\n\n  const [email, setEmail] = useState('');\n  const [password, setPassword] = useState('');\n  const [confirm, setConfirm] = useState('');\n  const [error, setError] = useState(''); // history = A la devolución de la llamada del historial de uso de (react-router-dom), esto nos permitirá cambiar a la página con el comando en lugar\n  // de devolver una redirección:\n\n  const history = useHistory(); // Función de registro: (Constante con correo electronico y contraseña) No es asincrónica\n\n  const signUpWithEmailAndPassword = () => {\n    // Si da error la autotentificación\n    if (password !== confirm) {\n      setError('Please make sure your passwords match.');\n      return;\n    } // Establecer el error en vacío para que no aparezcan de nuevo \n\n\n    if (error !== '') setError(''); // Registro igual a verdadero\n\n    setRegistering(true); // Importamos auth y hacemos una autentificación con el email y la password\n\n    auth.createUserWithEmailAndPassword(email, password) // Devolvemos un bloque de then \n    .then(result => {\n      // En el login le añadimos al history el resultado para iniciar la sesion \n      // (Si hay exito esto nos redirigira a la página de inicio directamente)\n      logging.info(result);\n      history.push('/login');\n    }).catch(error => {\n      // Error si no nos redirige\n      logging.error(error); //Miramos los tipos de errores:\n\n      if (error.code.includes('auth/weak-password')) {\n        //Contraseña debil:\n        setError('Please enter a stronger password.');\n      } else if (error.code.includes('auth/email-already-in-use')) {\n        // El correo ya esta en uso:\n        setError('Email already in use.');\n      } else {\n        // Error del sistema (base de datos, etc...)\n        setError('Unable to register.  Please try again later.');\n      } // Si da false nos devolverá directamente a la página de inicio:\n\n\n      setRegistering(false);\n    });\n  };\n\n  return (\n    /*#__PURE__*/\n    // LLamamos al contenedor creado para los diferentes componentes\n    _jsxDEV(AuthContainer, {\n      header: \"Register\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 77,\n      columnNumber: 9\n    }, this)\n  );\n};\n\n_s(RegisterPage, \"fuIV3JDq3pO+vQ/0Lb/q6MZ5NZo=\", false, function () {\n  return [useHistory];\n});\n\n_c = RegisterPage;\nexport default RegisterPage;\n\nvar _c;\n\n$RefreshReg$(_c, \"RegisterPage\");","map":{"version":3,"sources":["/home/sonia/VisualStudioCode/Proyecto-React-Firebase/client/src/pages/auth/register.tsx"],"names":["React","useState","useHistory","AuthContainer","auth","logging","RegisterPage","props","registering","setRegistering","email","setEmail","password","setPassword","confirm","setConfirm","error","setError","history","signUpWithEmailAndPassword","createUserWithEmailAndPassword","then","result","info","push","catch","code","includes"],"mappings":";;;;;AAAA,OAAOA,KAAP,IAAgBC,QAAhB,QAAgC,OAAhC;AACA,SAAeC,UAAf,QAAiC,kBAAjC;AAEA,OAAOC,aAAP,MAA0B,gCAA1B;AAEA,SAASC,IAAT,QAAqB,uBAArB;AACA,OAAOC,OAAP,MAAoB,sBAApB;;AAGA,MAAMC,YAAiD,GAAGC,KAAK,IAAI;AAAA;;AAC/D;AACA;AACA,QAAM,CAACC,WAAD,EAAcC,cAAd,IAAgCR,QAAQ,CAAU,KAAV,CAA9C,CAH+D,CAI/D;;AACA,QAAM,CAACS,KAAD,EAAQC,QAAR,IAAoBV,QAAQ,CAAS,EAAT,CAAlC;AACA,QAAM,CAACW,QAAD,EAAWC,WAAX,IAA0BZ,QAAQ,CAAS,EAAT,CAAxC;AACA,QAAM,CAACa,OAAD,EAAUC,UAAV,IAAwBd,QAAQ,CAAS,EAAT,CAAtC;AACA,QAAM,CAACe,KAAD,EAAQC,QAAR,IAAoBhB,QAAQ,CAAS,EAAT,CAAlC,CAR+D,CAU/D;AACA;;AACA,QAAMiB,OAAO,GAAGhB,UAAU,EAA1B,CAZ+D,CAc/D;;AACA,QAAMiB,0BAA0B,GAAG,MAAM;AAErC;AACA,QAAIP,QAAQ,KAAKE,OAAjB,EACA;AACIG,MAAAA,QAAQ,CAAC,wCAAD,CAAR;AACA;AACH,KAPoC,CASrC;;;AACA,QAAID,KAAK,KAAK,EAAd,EAAkBC,QAAQ,CAAC,EAAD,CAAR,CAVmB,CAYrC;;AACAR,IAAAA,cAAc,CAAC,IAAD,CAAd,CAbqC,CAerC;;AACAL,IAAAA,IAAI,CAACgB,8BAAL,CAAoCV,KAApC,EAA2CE,QAA3C,EACA;AADA,KAECS,IAFD,CAEMC,MAAM,IAAI;AACZ;AACA;AACAjB,MAAAA,OAAO,CAACkB,IAAR,CAAaD,MAAb;AACAJ,MAAAA,OAAO,CAACM,IAAR,CAAa,QAAb;AACH,KAPD,EAQCC,KARD,CAQOT,KAAK,IAAI;AACZ;AACAX,MAAAA,OAAO,CAACW,KAAR,CAAcA,KAAd,EAFY,CAIZ;;AACA,UAAIA,KAAK,CAACU,IAAN,CAAWC,QAAX,CAAoB,oBAApB,CAAJ,EACA;AACI;AACAV,QAAAA,QAAQ,CAAC,mCAAD,CAAR;AACH,OAJD,MAKK,IAAID,KAAK,CAACU,IAAN,CAAWC,QAAX,CAAoB,2BAApB,CAAJ,EACL;AACI;AACAV,QAAAA,QAAQ,CAAC,uBAAD,CAAR;AACH,OAJI,MAML;AACI;AACAA,QAAAA,QAAQ,CAAC,8CAAD,CAAR;AACH,OAnBW,CAqBZ;;;AACAR,MAAAA,cAAc,CAAC,KAAD,CAAd;AACH,KA/BD;AAgCH,GAhDD;;AAkDA;AAAA;AACI;AACA,YAAC,aAAD;AAAe,MAAA,MAAM,EAAC;AAAtB;AAAA;AAAA;AAAA;AAAA;AAFJ;AAMH,CAvED;;GAAMH,Y;UAYcJ,U;;;KAZdI,Y;AAyEN,eAAeA,YAAf","sourcesContent":["import React, { useState } from 'react';\nimport { Link, useHistory } from 'react-router-dom';\nimport { Button, FormGroup, Input } from 'reactstrap';\nimport AuthContainer from '../../components/AuthContainer';\nimport ErrorText from '../../components/ErrorText';\nimport { auth } from '../../config/firebase';\nimport logging from '../../config/logging';\nimport IPageProps from '../../interfaces/page';\n\nconst RegisterPage: React.FunctionComponent<IPageProps> = props => {\n    // Variables:\n    // registering == será booleana y su estado por defeto sera false:\n    const [registering, setRegistering] = useState<boolean>(false);\n    // Las demás serán string y son las que necesitaremos para el registro:\n    const [email, setEmail] = useState<string>('');\n    const [password, setPassword] = useState<string>('');\n    const [confirm, setConfirm] = useState<string>('');\n    const [error, setError] = useState<string>('');\n\n    // history = A la devolución de la llamada del historial de uso de (react-router-dom), esto nos permitirá cambiar a la página con el comando en lugar\n    // de devolver una redirección:\n    const history = useHistory();\n\n    // Función de registro: (Constante con correo electronico y contraseña) No es asincrónica\n    const signUpWithEmailAndPassword = () => {\n\n        // Si da error la autotentificación\n        if (password !== confirm)\n        {\n            setError('Please make sure your passwords match.');\n            return;\n        }\n\n        // Establecer el error en vacío para que no aparezcan de nuevo \n        if (error !== '') setError('');\n\n        // Registro igual a verdadero\n        setRegistering(true);\n\n        // Importamos auth y hacemos una autentificación con el email y la password\n        auth.createUserWithEmailAndPassword(email, password)\n        // Devolvemos un bloque de then \n        .then(result => {\n            // En el login le añadimos al history el resultado para iniciar la sesion \n            // (Si hay exito esto nos redirigira a la página de inicio directamente)\n            logging.info(result);\n            history.push('/login');\n        })\n        .catch(error => {\n            // Error si no nos redirige\n            logging.error(error);\n\n            //Miramos los tipos de errores:\n            if (error.code.includes('auth/weak-password'))\n            {\n                //Contraseña debil:\n                setError('Please enter a stronger password.');\n            }\n            else if (error.code.includes('auth/email-already-in-use'))\n            {\n                // El correo ya esta en uso:\n                setError('Email already in use.');\n            }\n            else\n            {\n                // Error del sistema (base de datos, etc...)\n                setError('Unable to register.  Please try again later.')\n            }\n\n            // Si da false nos devolverá directamente a la página de inicio:\n            setRegistering(false);\n        });\n    }\n\n    return (\n        // LLamamos al contenedor creado para los diferentes componentes\n        <AuthContainer header=\"Register\">\n           \n        </AuthContainer>\n    );\n}\n\nexport default RegisterPage;"]},"metadata":{},"sourceType":"module"}