import React, { useEffect } from "react"; import { useForm } from "react-hook-form"; import { z } from "zod"; import { zodResolver } from "@hookform/resolvers/zod"; import { useCreateExpenseCategory, useUpdateExpenseCategory } from "../../hooks/masterHook/useMaster"; import Label from "../common/Label"; const ExpnseSchema = z.object({ name: z.string().min(1, { message: "Name is required" }), noOfPersonsRequired: z.boolean().default(false), description: z.string().min(1, { message: "Description is required" }), }); const ManageExpenseCategory = ({ data = null, onClose }) => { const { register, handleSubmit, reset, formState: { errors }, } = useForm({ resolver: zodResolver(ExpnseSchema), defaultValues: { name: "", noOfPersonsRequired: false, description: "" }, }); const { mutate: UpdateExpenseCategory, isPending:isPendingUpdate } = useUpdateExpenseCategory( () => onClose?.() ); const { mutate: CreateExpenseCategory, isPending } = useCreateExpenseCategory(() => onClose?.() ); const onSubmit = (payload) => { if (data) { UpdateExpenseCategory({ id: data.id, payload: { ...payload, id: data.id }, }); } else { CreateExpenseCategory(payload); } }; useEffect(() => { if (data) { reset({ name: data.name ?? "", noOfPersonsRequired: data.noOfPersonsRequired ?? false, description: data.description ?? "", }); } }, [data]); return (
); }; export default ManageExpenseCategory;