diff options
author | Eug-VS <eug-vs@keemail.me> | 2020-01-12 15:35:46 +0300 |
---|---|---|
committer | Eug-VS <eug-vs@keemail.me> | 2020-01-12 18:11:45 +0300 |
commit | 3ef3cb7f0b25a448e81e5b81738758f4545337cc (patch) | |
tree | 51919958c4c0b3f2bf2f2e0e0cb7b97a09022ad9 /src/pages/Profile/Registration/Registration.js | |
parent | c06bce7fdab23e52d33636e3585c86d48c0bfa91 (diff) | |
download | chrono-cube-ui-3ef3cb7f0b25a448e81e5b81738758f4545337cc.tar.gz |
Implement Registration component
Diffstat (limited to 'src/pages/Profile/Registration/Registration.js')
-rw-r--r-- | src/pages/Profile/Registration/Registration.js | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/src/pages/Profile/Registration/Registration.js b/src/pages/Profile/Registration/Registration.js new file mode 100644 index 0000000..8853a7a --- /dev/null +++ b/src/pages/Profile/Registration/Registration.js @@ -0,0 +1,66 @@ +import React, {useState} from 'react'; + +import { + TextField, + Button, + Checkbox, + FormControlLabel, + Grid, +} from "@material-ui/core"; + +import ContentSection from "../../../components/ContentSection/ContentSection"; +import {get, post} from "../../../requests"; + + +const Registration = ({ setUser }) => { + + const [username, setUsername] = useState(''); + + const handleChange = (event) => { + setUsername(event.target.value); + }; + + const handleSubmit = () => { + post('users/', { username }) + .then(response => { + setUser(response.data); + }) + .catch(err => { + get('users/').then(response => { + setUser(response.data.filter(user => user.username === username)[0]); + }); + }); + }; + + return ( + <ContentSection sectionName="Tell us who you are"> + <p> Choose yourself a username to track your progress and compete with others: </p> + <Grid container direction="column"> + <Grid item> + <TextField + variant="outlined" + color="secondary" + label="Username" + value={username} + onChange={handleChange} + /> + </Grid> + <Grid item> + <FormControlLabel + control={<Checkbox color="secondary" />} + label="Remember me" + /> + </Grid> + <Grid item> + <Button variant="contained" color="secondary" size="large" onClick={handleSubmit}> + Submit! + </Button> + </Grid> + </Grid> + + </ContentSection> + ); +}; + + +export default Registration; |