import SelectField from "../../common/Forms/SelectField"; import Error from "../../common/Error"; import { z } from "zod"; import { AppFormController, AppFormProvider, useAppForm, } from "../../../hooks/appHooks/useAppForm"; import { zodResolver } from "@hookform/resolvers/zod"; import { useDispatch, useSelector } from "react-redux"; import { closePopup } from "../../../slices/localVariablesSlice"; import { useUpdateServiceProjectJob } from "../../../hooks/useServiceProject"; import { useJobStatus } from "../../../hooks/masterHook/useMaster"; export const ChangeStatusSchema = z.object({ statusId: z.string().min(1, { message: "Please select status" }), }); const ChangeStatus = ({ statusId, projectId, jobId, popUpId }) => { const { data, isLoading, isError, error } = useJobStatus(statusId, projectId); const dispatch = useDispatch(); const methods = useAppForm({ resolver: zodResolver(ChangeStatusSchema), defaultValues: { statusId: "" }, }); const { control, handleSubmit, reset, formState: { errors }, } = methods; const { mutate: UpdateStatus, isPending } = useUpdateServiceProjectJob(() => { handleClose(); }); const onSubmit = (formData) => { const payload = [ { op: "replace", path: "/statusId", value: formData.statusId, }, ]; UpdateStatus({ id: jobId, payload }); }; const handleClose = () => { dispatch(closePopup(popUpId)); }; return (
Change Status
( )} /> {errors.statusId && ( {errors.statusId.message} )}
); }; export default ChangeStatus;