{"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    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('');\n    setRegistering(true); // Importamos auth\n\n    auth.createUserWithEmailAndPassword(email, password).then(result => {\n      logging.info(result);\n      history.push('/login');\n    }).catch(error => {\n      logging.error(error);\n\n      if (error.code.includes('auth/weak-password')) {\n        setError('Please enter a stronger password.');\n      } else if (error.code.includes('auth/email-already-in-use')) {\n        setError('Email already in use.');\n      } else {\n        setError('Unable to register.  Please try again later.');\n      }\n\n      setRegistering(false);\n    });\n  };\n\n  return /*#__PURE__*/_jsxDEV(AuthContainer, {\n    header: \"Register\",\n    children: [/*#__PURE__*/_jsxDEV(FormGroup, {\n      children: /*#__PURE__*/_jsxDEV(Input, {\n        type: \"email\",\n        name: \"email\",\n        id: \"email\",\n        placeholder: \"Email Address\",\n        onChange: event => setEmail(event.target.value),\n        value: email\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 67,\n        columnNumber: 17\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 66,\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: 77,\n        columnNumber: 17\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 76,\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: 88,\n        columnNumber: 17\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 87,\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: 98,\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: 107,\n          columnNumber: 73\n        }, this)]\n      }, void 0, true, {\n        fileName: _jsxFileName,\n        lineNumber: 107,\n        columnNumber: 17\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 106,\n      columnNumber: 13\n    }, this), /*#__PURE__*/_jsxDEV(ErrorText, {\n      error: error\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 109,\n      columnNumber: 13\n    }, this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 65,\n    columnNumber: 9\n  }, this);\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<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        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        setRegistering(true);\n\n        // Importamos auth\n        auth.createUserWithEmailAndPassword(email, password)\n        .then(result => {\n            logging.info(result);\n            history.push('/login');\n        })\n        .catch(error => {\n            logging.error(error);\n\n            if (error.code.includes('auth/weak-password'))\n            {\n                setError('Please enter a stronger password.');\n            }\n            else if (error.code.includes('auth/email-already-in-use'))\n            {\n                setError('Email already in use.');\n            }\n            else\n            {\n                setError('Unable to register.  Please try again later.')\n            }\n\n            setRegistering(false);\n        });\n    }\n\n    return (\n        <AuthContainer header=\"Register\">\n            <FormGroup>\n                <Input \n                    type=\"email\"\n                    name=\"email\"\n                    id=\"email\"\n                    placeholder=\"Email Address\"\n                    onChange={event => setEmail(event.target.value)}\n                    value={email}\n                />\n            </FormGroup>\n            <FormGroup>\n                <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                />\n            </FormGroup>\n            <FormGroup>\n                <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                />\n            </FormGroup>\n            <Button\n                disabled={registering}\n                color=\"success\"\n                block\n                onClick={() => signUpWithEmailAndPassword()}\n            >\n                Sign Up\n            </Button>\n            <small>\n                <p className='m-1 text-center'>Already have an account? <Link to=\"/login\">Login.</Link></p>\n            </small>\n            <ErrorText error={error} />\n        </AuthContainer>\n    );\n}\n\nexport default RegisterPage;"]},"metadata":{},"sourceType":"module"}