refactor(marketing): Restructure marketing wizard components and improve project organization

- Move all marketing wizard components from `create/_components` to `_components` directory
- Update import paths in `create/page.tsx` to reflect new component locations
- Add countries constant to support country selection in page type configuration
- Minor formatting and cleanup of `.vscode/settings.json`
- Prepare for more modular and consistent component structure in marketing wizard
This commit is contained in:
AmirReza Jamali
2025-11-10 12:41:41 +03:30
parent b8169fbcd9
commit 2b9eaa0495
21 changed files with 312 additions and 56 deletions
@@ -0,0 +1,69 @@
"use client";
import { useFieldArray, useForm } from "react-hook-form";
export interface IContactsStepFields {
title: string;
description: string;
submitButtonText: string;
fields: {
name: string;
label: string;
placeholder: string;
required: boolean;
}[];
}
const useContactsStepPresenter = () => {
const {
register,
handleSubmit,
control,
getValues,
formState: { errors },
} = useForm<IContactsStepFields>({
defaultValues: {
fields: [
{
name: "first_name",
label: "",
placeholder: "",
required: false,
},
{
name: "last_name",
label: "",
placeholder: "",
required: false,
},
{ name: "email", label: "", placeholder: "", required: false },
{ name: "phone", label: "", placeholder: "", required: false },
],
},
});
const { fields } = useFieldArray({
control,
name: "fields",
});
const onSubmit = (data: IContactsStepFields) => {
console.log(data);
};
const collectData = async () => {
return getValues();
};
return {
register,
handleSubmit,
errors,
onSubmit,
fields,
control,
collectData,
getValues,
};
};
export default useContactsStepPresenter;