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

41 lines
1011 B
TypeScript

"use client";
import { withFormik, type FormikBag } from "formik";
import type { ReferralFormProps, ReferralFormValues } from "./types";
import { REFERRAL_EMPTY_VALUES } from "./constant";
import { ReferralValidationSchema } from "./validation";
import InnerReferralForm from "./InnerReferralForm";
const ReferralForm = withFormik<ReferralFormProps, ReferralFormValues>({
displayName: "ReferralForm",
enableReinitialize: true,
mapPropsToValues: (props) => {
return {
referrals:
props.data?.referrals?.length > 0
? props.data.referrals
: REFERRAL_EMPTY_VALUES.referrals,
};
},
validationSchema: ReferralValidationSchema,
handleSubmit: async (
values,
bag: FormikBag<ReferralFormProps, ReferralFormValues>,
) => {
const { props, setSubmitting } = bag;
props.update({
referrals: values.referrals,
});
props.setStep((prev) => prev + 1);
setSubmitting(false);
},
})(InnerReferralForm);
export default ReferralForm;