aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJeff <jeffkleinaitis@gmail.com>2024-04-10 15:09:22 -0400
committerJeff <jeffkleinaitis@gmail.com>2024-04-10 15:09:22 -0400
commit62b647ab76a7066da1a11fdcebbbd31118dac72f (patch)
tree7c1f94ee4120b937435d6ebe3279aea8f65a857a /src
parent0d9bcefbd37e48e732299799f636c9994cdd9e24 (diff)
refactor: Moved handling API requests out of FlexibleForm
Diffstat (limited to 'src')
-rw-r--r--src/components/FlexibleForm.js30
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>