feat(marketing): Refactor marketing wizard steps and add data collection methods

- Moved all marketing wizard step components to `create/_components` directory
- Added `collectData` static method to each step component for data retrieval
- Reorganized file structure to improve component modularity
- Prepared steps for dynamic data collection in wizard workflow
- Added VSCode settings file for project configuration
- Introduced new CMS-related components and services
- Updated API endpoints and added new query hooks
This commit is contained in:
AmirReza Jamali
2025-11-09 14:53:36 +03:30
parent f9bd7fce4b
commit cdc8cde6a4
26 changed files with 414 additions and 63 deletions
@@ -1,62 +0,0 @@
"use client";
import { useFieldArray, useForm } from "react-hook-form";
export interface IContactsStepFields {
title: string;
description: string;
submit_button_title: string;
fields: {
field_name: string;
label: string;
placeholder: string;
required: boolean;
}[];
}
const useContactsStepPresenter = () => {
const {
register,
handleSubmit,
control,
formState: { errors },
} = useForm<IContactsStepFields>({
defaultValues: {
fields: [
{
field_name: "first_name",
label: "",
placeholder: "",
required: false,
},
{
field_name: "last_name",
label: "",
placeholder: "",
required: false,
},
{ field_name: "email", label: "", placeholder: "", required: false },
{ field_name: "phone", label: "", placeholder: "", required: false },
],
},
});
const { fields } = useFieldArray({
control,
name: "fields",
});
const onSubmit = (data: IContactsStepFields) => {
console.log(data);
};
return {
register,
handleSubmit,
errors,
onSubmit,
fields,
control,
};
};
export default useContactsStepPresenter;