diff --git a/src/pages/master/MasterPage.jsx b/src/pages/master/MasterPage.jsx
index c11f5861..7904e6af 100644
--- a/src/pages/master/MasterPage.jsx
+++ b/src/pages/master/MasterPage.jsx
@@ -1,94 +1,94 @@
import React, { useState, useEffect, useMemo } from "react";
import Breadcrumb from "../../components/common/Breadcrumb";
import MasterModal from "../../components/master/MasterModal";
-import { mastersList} from "../../data/masters";
+import { mastersList } from "../../data/masters";
import { useDispatch, useSelector } from "react-redux";
import { changeMaster } from "../../slices/localVariablesSlice";
import useMaster from "../../hooks/masterHook/useMaster"
import MasterTable from "./MasterTable";
import { getCachedData } from "../../slices/apiDataManager";
-import {useHasUserPermission} from "../../hooks/useHasUserPermission";
+import { useHasUserPermission } from "../../hooks/useHasUserPermission";
import { MANAGE_MASTER } from "../../utils/constants";
-import {useQueryClient} from "@tanstack/react-query";
+import { useQueryClient } from "@tanstack/react-query";
const MasterPage = () => {
-const [modalConfig, setModalConfig] = useState({ modalType: "", item: null, masterType: null });
-const [searchTerm, setSearchTerm] = useState('');
-const [filteredResults, setFilteredResults] = useState([]);
-const [isCreateModalOpen, setIsCreateModalOpen] = useState(false);
+ const [modalConfig, setModalConfig] = useState({ modalType: "", item: null, masterType: null });
+ const [searchTerm, setSearchTerm] = useState('');
+ const [filteredResults, setFilteredResults] = useState([]);
+ const [isCreateModalOpen, setIsCreateModalOpen] = useState(false);
-const hasMasterPermission = useHasUserPermission(MANAGE_MASTER);
-const dispatch = useDispatch();
-const selectedMaster = useSelector((store) => store.localVariables.selectedMaster);
-const queryClient = useQueryClient();
+ const hasMasterPermission = useHasUserPermission(MANAGE_MASTER);
+ const dispatch = useDispatch();
+ const selectedMaster = useSelector((store) => store.localVariables.selectedMaster);
+ const queryClient = useQueryClient();
-const { data: masterData = [], loading, error, RecallApi } = useMaster();
+ const { data: masterData = [], loading, error, RecallApi } = useMaster();
-const openModal = () => setIsCreateModalOpen(true);
+ const openModal = () => setIsCreateModalOpen(true);
-const closeModal = () => {
- setIsCreateModalOpen(false);
- setModalConfig(null);
-
- // Clean up Bootstrap modal manually
- const modalEl = document.getElementById('master-modal');
- modalEl?.classList.remove('show');
- if (modalEl) modalEl.style.display = 'none';
-
- document.body.classList.remove('modal-open');
- document.body.style.overflow = 'auto';
-
- document.querySelectorAll('.modal-backdrop').forEach((el) => el.remove());
-};
-
-const handleModalData = (modalType, item, masterType = selectedMaster) => {
- setModalConfig({ modalType, item, masterType });
-};
-
-const handleSearch = (e) => {
- const value = e.target.value.toLowerCase();
- setSearchTerm(value);
-
- if (!masterData?.length) return;
-
- const results = masterData.filter((item) =>
- Object.values(item).some(
- (field) => field?.toString().toLowerCase().includes(value)
- )
- );
- setFilteredResults(results);
-};
-const displayData = useMemo(() => {
- if (searchTerm) return filteredResults;
- return queryClient.getQueryData(["masterData", selectedMaster]) || masterData;
-}, [searchTerm, filteredResults, selectedMaster, masterData]);
-
-const columns = useMemo(() => {
- if (!displayData?.length) return [];
- return Object.keys(displayData[0]).map((key) => ({
- key,
- label: key.toUpperCase(),
- }));
-}, [displayData]);
-
-useEffect(() => {
- if (modalConfig) openModal();
-}, [modalConfig]);
-
-useEffect(() => {
- return () => {
+ const closeModal = () => {
setIsCreateModalOpen(false);
- closeModal();
+ setModalConfig(null);
+
+ // Clean up Bootstrap modal manually
+ const modalEl = document.getElementById('master-modal');
+ modalEl?.classList.remove('show');
+ if (modalEl) modalEl.style.display = 'none';
+
+ document.body.classList.remove('modal-open');
+ document.body.style.overflow = 'auto';
+
+ document.querySelectorAll('.modal-backdrop').forEach((el) => el.remove());
};
-}, []);
+
+ const handleModalData = (modalType, item, masterType = selectedMaster) => {
+ setModalConfig({ modalType, item, masterType });
+ };
+
+ const handleSearch = (e) => {
+ const value = e.target.value.toLowerCase();
+ setSearchTerm(value);
+
+ if (!masterData?.length) return;
+
+ const results = masterData.filter((item) =>
+ Object.values(item).some(
+ (field) => field?.toString().toLowerCase().includes(value)
+ )
+ );
+ setFilteredResults(results);
+ };
+ const displayData = useMemo(() => {
+ if (searchTerm) return filteredResults;
+ return queryClient.getQueryData(["masterData", selectedMaster]) || masterData;
+ }, [searchTerm, filteredResults, selectedMaster, masterData]);
+
+ const columns = useMemo(() => {
+ if (!displayData?.length) return [];
+ return Object.keys(displayData[0]).map((key) => ({
+ key,
+ label: key.toUpperCase(),
+ }));
+ }, [displayData]);
+
+ useEffect(() => {
+ if (modalConfig) openModal();
+ }, [modalConfig]);
+
+ useEffect(() => {
+ return () => {
+ setIsCreateModalOpen(false);
+ closeModal();
+ };
+ }, []);
return (
<>
{isCreateModalOpen && (
-