diff options
Diffstat (limited to 'src/pages/AuthPage/SignUpForm.tsx')
| -rw-r--r-- | src/pages/AuthPage/SignUpForm.tsx | 62 | 
1 files changed, 62 insertions, 0 deletions
| diff --git a/src/pages/AuthPage/SignUpForm.tsx b/src/pages/AuthPage/SignUpForm.tsx new file mode 100644 index 0000000..2769eb0 --- /dev/null +++ b/src/pages/AuthPage/SignUpForm.tsx @@ -0,0 +1,62 @@ +import React, { useRef } from 'react'; +import { makeStyles } from '@material-ui/core/styles'; +import TextField from '@material-ui/core/TextField'; +import Button from '@material-ui/core/Button'; +import { post } from '../../requests'; + +interface PropTypes { +  logIn: (name: string, password: string) => Promise<boolean>; +} + +const useStyles = makeStyles(theme => ({ +  root: { +    '& > *': { +      margin: theme.spacing(1), +      width: theme.spacing(35) +    }, +    display: 'flex', +    flexDirection: 'column', +    alignItems: 'center', +    textAlign: 'center' +  }, +  formHeader: { +    textAlign: 'center', +    fontSize: 25 +  } +})); + +const SignUpForm: React.FC<PropTypes> = ({ logIn }) => { +  const classes = useStyles(); +  const inputRef = useRef<HTMLInputElement>(); +  const inputRefPassword = useRef<HTMLInputElement>(); + +  const onClick = () => { +    const name = inputRef.current?.value; +    const password = inputRefPassword.current?.value; +    const newUser = { name, password }; +    if (name && password) { +      post('/users', newUser).then(() => { +        logIn(name, password); +      }); +    } +  }; + +  return ( +    <> +      <div className={classes.formHeader}>Sign Up</div> +      <form className={classes.root} noValidate autoComplete="off"> +        <TextField inputRef={inputRef} id="standard-basic" label="Name" /> +        <TextField id="standard-basic" label="Email" /> +        <TextField +          inputRef={inputRefPassword} +          id="standard-password-input" +          label="Password" +          type="password" +        /> +        <Button variant="contained" onClick={onClick}>submit</Button> +      </form> +    </> +  ); +}; + +export default SignUpForm; | 
