{"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 { 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';\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 children: [/*#__PURE__*/_jsxDEV(FormGroup, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 78,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(FormGroup, {\n children: /*#__PURE__*/_jsxDEV(Input, {\n autoComplete: \"new-password\",\n type: \"password\",\n name: \"password\",\n id: \"password\",\n placeholder: \"Enter Password\",\n onChange: event => setPassword(event.target.value),\n value: password\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 82,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 81,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(FormGroup, {\n children: /*#__PURE__*/_jsxDEV(Input, {\n autoComplete: \"new-password\",\n type: \"password\",\n name: \"confirm\",\n id: \"confirm\",\n placeholder: \"Confirm Password\",\n onChange: event => setConfirm(event.target.value),\n value: confirm\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 93,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 92,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(Button, {\n disabled: registering,\n color: \"success\",\n block: true,\n onClick: () => signUpWithEmailAndPassword(),\n children: \"Sign Up\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 103,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"small\", {\n children: /*#__PURE__*/_jsxDEV(\"p\", {\n className: \"m-1 text-center\",\n children: [\"Already have an account? \", /*#__PURE__*/_jsxDEV(Link, {\n to: \"/login\",\n children: \"Login.\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 112,\n columnNumber: 73\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 112,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 111,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(ErrorText, {\n error: error\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 114,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\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","Link","useHistory","Button","FormGroup","Input","AuthContainer","ErrorText","auth","logging","RegisterPage","props","registering","setRegistering","email","setEmail","password","setPassword","confirm","setConfirm","error","setError","history","signUpWithEmailAndPassword","createUserWithEmailAndPassword","then","result","info","push","catch","code","includes","event","target","value"],"mappings":"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","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 = props => {\n // Variables:\n // registering == será booleana y su estado por defeto sera false:\n const [registering, setRegistering] = useState(false);\n // Las demás serán string y son las que necesitaremos para el registro:\n const [email, setEmail] = useState('');\n const [password, setPassword] = useState('');\n const [confirm, setConfirm] = useState('');\n const [error, setError] = useState('');\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 \n \n \n \n \n setPassword(event.target.value)}\n value={password}\n />\n \n \n setConfirm(event.target.value)}\n value={confirm}\n />\n \n signUpWithEmailAndPassword()}\n >\n Sign Up\n \n \n

Already have an account? Login.

\n
\n \n
\n );\n}\n\nexport default RegisterPage;"]},"metadata":{},"sourceType":"module"}