Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | 1x 2x 2x 2x 2x 2x 2x 1x 1x 2x 2x | import Modal from "react-bootstrap/Modal"; import '../../index.css'; import React, { useState, useEffect } from 'react'; const Signup = () => { const [email, setEmail] = useState(''); const [password1, setPassword1] = useState(''); const [password2, setPassword2] = useState(''); const [errors, setErrors] = useState(false); const [loading, setLoading] = useState(true); useEffect(() => { Iif (localStorage.getItem('token') !== null) { window.location.replace('/'); } else { setLoading(false); } }, []); const onSubmit = e => { e.preventDefault(); const user = { email: email, password1: password1, password2: password2 }; fetch('http://pear-backend-slempp.apps.cloudapps.unc.edu/api/v1/users/auth/register/', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(user) }) .then(res => res.json()) .then(data => { if (data.key) { localStorage.clear(); localStorage.setItem('token', data.key); window.location.replace('/home'); } else { setEmail(''); setPassword1(''); setPassword2(''); localStorage.clear(); setErrors(true); } }); }; return ( <div> {loading === false && <h1>Signup</h1>} {errors === true && <h2>Cannot signup with provided credentials</h2>} <form onSubmit={onSubmit}> <label htmlFor='email'>Email address:</label> <br /> <input name='email' type='email' value={email} onChange={e => setEmail(e.target.value)} required />{' '} <br /> <label htmlFor='password1'>Password:</label> <br /> <input name='password1' type='password' value={password1} onChange={e => setPassword1(e.target.value)} required />{' '} <br /> <label htmlFor='password2'>Confirm password:</label> <br /> <input name='password2' type='password' value={password2} onChange={e => setPassword2(e.target.value)} required />{' '} <br /> <input type='submit' value='Signup' /> </form> </div> ); }; export default Signup; |