diff --git a/src/pages/auth/SignUpForm.js b/src/pages/auth/SignUpForm.js index ef45b11..05325e7 100644 --- a/src/pages/auth/SignUpForm.js +++ b/src/pages/auth/SignUpForm.js @@ -1,12 +1,20 @@ import React, { useState } from "react"; -import { Link } from "react-router-dom"; +import { Link, useHistory } from "react-router-dom"; import styles from "../../styles/SignInUpForm.module.css"; import btnStyles from "../../styles/Button.module.css"; import appStyles from "../../App.module.css"; -import { Form, Button, Image, Col, Row, Container } from "react-bootstrap"; -import { useHistory } from "react-router-dom"; +import { + Form, + Button, + Image, + Col, + Row, + Container, + Alert, +} from "react-bootstrap"; +import axios from "axios"; const SignUpForm = () => { const [signUpData, setSignUpData] = useState({ @@ -16,6 +24,10 @@ const SignUpForm = () => { }); const { username, password1, password2 } = signUpData; + const [errors, setErrors] = useState({}); + + const history = useHistory(); + const handleChange = (event) => { setSignUpData({ ...signUpData, @@ -23,6 +35,16 @@ const SignUpForm = () => { }); }; + const handleSubmit = async (event) => { + event.preventDefault(); + try { + await axios.post("/dj-rest-auth/registration/", signUpData); + history.push("/signin"); + } catch (err) { + setErrors(err.response?.data); + } + }; + return ( {

sign up

-
+ Username + {errors.username?.map((message, idx) => ( + + {message} + + ))} Password @@ -63,6 +90,11 @@ const SignUpForm = () => { onChange={handleChange} /> + {errors.password1?.map((message, idx) => ( + + {message} + + ))} Confirm password @@ -75,6 +107,11 @@ const SignUpForm = () => { onChange={handleChange} /> + {errors.password2?.map((message, idx) => ( + + {message} + + ))}