diff options
author | Jeff <jeffkleinaitis@gmail.com> | 2024-04-10 15:09:22 -0400 |
---|---|---|
committer | Jeff <jeffkleinaitis@gmail.com> | 2024-04-10 15:09:22 -0400 |
commit | 62b647ab76a7066da1a11fdcebbbd31118dac72f (patch) | |
tree | 7c1f94ee4120b937435d6ebe3279aea8f65a857a /src/components | |
parent | 0d9bcefbd37e48e732299799f636c9994cdd9e24 (diff) |
refactor: Moved handling API requests out of FlexibleForm
Diffstat (limited to 'src/components')
-rw-r--r-- | src/components/FlexibleForm.js | 30 |
1 files changed, 9 insertions, 21 deletions
diff --git a/src/components/FlexibleForm.js b/src/components/FlexibleForm.js index 831f972..d8c959d 100644 --- a/src/components/FlexibleForm.js +++ b/src/components/FlexibleForm.js @@ -2,27 +2,13 @@ import React from 'react'; import { Link } from "react-router-dom"; import logo from "../assets/img/logo.svg"; -const FlexibleForm = ({ data, onSuccess }) => { - const handleSubmit = async (event) => { - event.preventDefault(); - const formData = new FormData(event.target); - - try { - const response = await fetch(process.env.NEXT_PUBLIC_HOST + data.formAction, { - method: data.formMethod, - body: JSON.stringify(Object.fromEntries(formData)), - headers: { - 'Content-Type': 'application/json' - }, - }); - - const token = response.headers.get('Authorization'); - onSuccess(token); - - } catch (error) { - console.error('Error submitting form:', error); - } - } +const FlexibleForm = ({ data, onFormSubmit }) => { + const handleSubmit = (event) => { + event.preventDefault(); + if (typeof onFormSubmit === 'function') { + onFormSubmit(event); + } + }; return ( <div className="flex flex-col items-center justify-center min-h-screen"> @@ -56,6 +42,8 @@ const FlexibleForm = ({ data, onSuccess }) => { type={field.type} autoComplete={field.autoComplete} required={field.required} + value={field.value} + onChange={field.onChange} className="block w-full rounded-md border-0 py-1.5 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6" /> </div> |