import React, { useState, useEffect } from "react"; import CreateRole from "./CreateRole"; import DeleteMaster from "./DeleteMaster"; import EditRole from "./EditRole"; import CreateJobRole from "./CreateJobRole"; import EditJobRole from "./EditJobRole"; import CreateActivity from "./CreateActivity"; import EditActivity from "./EditActivity"; import ConfirmModal from "../common/ConfirmModal"; import { MasterRespository } from "../../repositories/MastersRepository"; import { cacheData, getCachedData } from "../../slices/apiDataManager"; import showToast from "../../services/toastService"; import CreateWorkCategory from "./CreateWorkCategory"; import EditWorkCategory from "./EditWorkCategory"; import CreateCategory from "./CreateContactCategory"; import CreateContactTag from "./CreateContactTag"; import EditContactCategory from "./EditContactCategory"; import EditContactTag from "./EditContactTag"; import { useDeleteMasterItem } from "../../hooks/masterHook/useMaster"; import CreateExpense from "./createExpense"; const MasterModal = ({ modaldata, closeModal }) => { const [isDeleteModalOpen, setIsDeleteModalOpen] = useState(false); const { mutate: deleteMasterItem, isPending } = useDeleteMasterItem(); const handleSelectedMasterDeleted = () => { const { masterType, item, validateFn } = modaldata || {}; if (!masterType || !item?.id) { showToast("Missing master type or item", "error"); return; } deleteMasterItem( { masterType, item, validateFn }, { onSuccess: handleCloseDeleteModal } ); }; const handleCloseDeleteModal = () => { setIsDeleteModalOpen(false); closeModal(); }; useEffect(() => { if (modaldata?.modalType === "delete") { setIsDeleteModalOpen(true); } }, [modaldata]); if (!modaldata?.modalType) { closeModal(); return null; } if (modaldata.modalType === "delete" && isDeleteModalOpen) { return (