Files
hounam-submit-form-frontend/ui/forms/jobRequest/JobRequestForm.tsx
2026-06-02 17:08:52 +03:30

43 lines
1.1 KiB
TypeScript

"use client";
import React from "react";
import { withFormik, type FormikBag } from "formik";
import InnerJobRequestForm from "./InnerJobRequestForm";
import type { JobRequestFormProps, JobRequestFormValues } from "./types";
import { JobRequestValidationSchema } from "./validation";
import { JOB_REQUEST_EMPTY_VALUES } from "./constant";
const JobRequestForm = withFormik<JobRequestFormProps, JobRequestFormValues>({
displayName: "JobRequestForm",
enableReinitialize: true,
mapPropsToValues: (props) => {
return {
jobRequests:
props.data?.jobRequests?.length > 0
? props.data.jobRequests
: JOB_REQUEST_EMPTY_VALUES.jobRequests,
};
},
validationSchema: JobRequestValidationSchema,
handleSubmit: async (
values,
bag: FormikBag<JobRequestFormProps, JobRequestFormValues>,
) => {
const { props, setSubmitting } = bag;
props.update({
jobRequests: values.jobRequests,
});
props.setStep((prev) => prev + 1);
setSubmitting(false);
},
})(InnerJobRequestForm);
export default JobRequestForm;