import { ChangeEvent, Dispatch, FC, SetStateAction, useEffect, useState } from "react"; import { Select } from "@/components/FormElements/select"; import { Building } from "@/components/Layouts/sidebar/icons"; import { useCompanyFullList } from "@/hooks/queries"; import { TAssignCustomerToCompanyCredentials } from "@/lib/api"; import { ILabelValue } from "@/types/shared"; import { useForm } from "react-hook-form"; interface IProps { setCompanies: Dispatch< SetStateAction >; defaultValues?: TAssignCustomerToCompanyCredentials; } const AssignToCompanyModalContent: FC = ({ setCompanies, defaultValues, }) => { const [options, setOptions] = useState([]); const { data, status, isSuccess } = useCompanyFullList(); const { handleSubmit, watch, setValue } = useForm({ mode: "onChange", defaultValues, }); const selectedCompanyId = watch("company_ids")?.[0] || ""; useEffect(() => { if (isSuccess) { setOptions( data.data.companies ? data.data.companies?.map((item) => ({ label: item.name, value: item.id, })) : [], ); } }, [status, isSuccess, data?.data.companies]); useEffect(() => { if (defaultValues?.company_ids?.[0]) { setValue("company_ids", defaultValues.company_ids); } }, [defaultValues, setValue]); const assignCompany = (data: TAssignCustomerToCompanyCredentials) => { setCompanies(data); }; return (