diff options
author | Jeff Kleinaitis <jeffkleinaitis@gmail.com> | 2024-04-18 10:28:13 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-18 10:28:13 -0700 |
commit | 0af66ac5c814b9cf01e60f13a4c174722d33d939 (patch) | |
tree | 56812cfb8e5401981015f0b77ffcd76244d02d29 /src/pages/SignUp.js | |
parent | 04694856be7624ae9e80f673effc3104d7842e34 (diff) | |
parent | 3a5e9dfee0f26c03e12bb2940ca42bba1f172f7c (diff) |
Merge pull request #27 from digadoo/develop
4/18 PR
Diffstat (limited to 'src/pages/SignUp.js')
-rw-r--r-- | src/pages/SignUp.js | 52 |
1 files changed, 45 insertions, 7 deletions
diff --git a/src/pages/SignUp.js b/src/pages/SignUp.js index 038b75c..11ab367 100644 --- a/src/pages/SignUp.js +++ b/src/pages/SignUp.js @@ -1,23 +1,61 @@ -import React from "react"; +import React, {useState} from "react"; +import { useNavigate } from "react-router-dom"; import FlexibleForm from "../components/FlexibleForm"; import benefitTwoImg from "../assets/img/benefit-two.png"; const SignUp = () => { + const navigate = useNavigate(); + + const [formData, setFormData] = useState({ + name: "", + email: "", + password: "", + }); + + const handleChange = (e) => { + const { name, value } = e.target; + setFormData((prevData) => ({ + ...prevData, + [name]: value, + })); + }; + + + const handleSubmit = async (event) => { + event.preventDefault(); + + try { + const response = await fetch(process.env.REACT_APP_REGISTER_ROUTE, { + method: "POST", + body: JSON.stringify(formData), + headers: { + 'Content-Type': 'application/json' + }, + }); + + if (!response.ok) { + throw new Error(await response.text()); + } + + console.log('Form submitted successfully'); + navigate("/login"); + } catch (error) { + console.error('Error submitting form:', error); + } + } return ( <> <FlexibleForm - onSuccess={''} + onFormSubmit={handleSubmit} data={{ image: benefitTwoImg, title: "Create your account", subtitle: "maybe edit this text hmm", - formAction: "/register", - formMethod: "POST", formFields: [ - { label: "Full Name", name: "name", type: "text", autoComplete: "name", required: true }, - { label: "Email address", name: "email", type: "email", autoComplete: "email", required: true }, - { label: "Password", name: "password", type: "password", autoComplete: "new-password", required: true }, + { label: "Full Name", name: "name", type: "text", autoComplete: "name", required: true, value: formData.name, onChange: handleChange }, + { label: "Email address", name: "email", type: "email", autoComplete: "email", required: true, value: formData.email, onChange: handleChange }, + { label: "Password", name: "password", type: "password", autoComplete: "new-password", required: true, value: formData.password, onChange: handleChange }, ], ctaText: "Create Account", ctaLink: { text: "Already have an account?", linkText: "Log in instead!", url: "/login" }, |