fixed: edit customer company not appearing

This commit is contained in:
AmirReza Jamali
2025-09-23 15:25:30 +03:30
parent 14f36827ab
commit c146f1175c
2 changed files with 14 additions and 2 deletions
@@ -17,7 +17,7 @@ interface IProps {
}
const CreateCustomer = ({ defaultValues, editMode, id }: IProps) => {
const { errors, handleSubmit, register, onSubmit, companies, router } =
const { errors, handleSubmit, register, watch, onSubmit, companies, router } =
useCreateCustomerPresenter({ defaultValues, editMode, id });
return (
@@ -54,6 +54,7 @@ const CreateCustomer = ({ defaultValues, editMode, id }: IProps) => {
<div className="flex flex-col gap-2">
<MultiSelect
label="Select companies"
value={watch("companies")}
items={
companies
? companies?.map((item) => ({
@@ -7,6 +7,7 @@ import {
} from "@/hooks/queries";
import { CreateCustomerCredentials } from "@/lib/api";
import { useRouter } from "next/navigation";
import { useEffect } from "react";
import { SubmitHandler, useForm } from "react-hook-form";
interface IProps {
@@ -24,6 +25,8 @@ const useCreateCustomerPresenter = ({
register,
handleSubmit,
formState: { errors },
setValue,
watch,
} = useForm<CreateCustomerCredentials>({
mode: "onChange",
defaultValues,
@@ -34,6 +37,14 @@ const useCreateCustomerPresenter = ({
id as string,
);
const { data: companies } = useCompanyFullList();
useEffect(() => {
if (defaultValues) {
const companies = defaultValues?.companies?.map(
(company: any) => company.id,
);
setValue("companies", companies);
}
}, [defaultValues]);
const onSubmit: SubmitHandler<CreateCustomerCredentials> = (data) => {
if (editMode) {
updateCustomer({
@@ -41,7 +52,6 @@ const useCreateCustomerPresenter = ({
credentials: data,
});
} else {
createCustomer({
...data,
employee_count: data.employee_count ? +data.employee_count : undefined,
@@ -52,6 +62,7 @@ const useCreateCustomerPresenter = ({
};
return {
handleSubmit,
watch,
register,
errors,
onSubmit,