import { Box, Button, HStack, Input, Text, Tooltip, useDisclosure, Image, useToast, } from "@chakra-ui/react"; import React, { useContext, useEffect, useRef, useState } from "react"; import InvestmentDocuments from "../InvestmentDocuments"; import DataTable from "../../../Components/DataTable/DataTable"; import CustomAlertDialog from "../../../Components/CustomAlertDialog"; import GlobalStateContext from "../../../Contexts/GlobalStateContext"; import { debounce } from "../../Master/Sponser/AddSponser"; import { formatDate } from "../../../Components/Functions/UTCConvertor"; import { AddIcon, DeleteIcon, DownloadIcon, EditIcon, ViewIcon, } from "@chakra-ui/icons"; import KeyMeritsAdd from "../KeyMeritsAdd"; import { useParams } from "react-router-dom"; import { useDeleteKeyMeritsMutation, useGetKeyMeritsQuery, } from "../../../Services/io.service"; import FullscreenLoaders from "../../../Components/Loaders/FullscreenLoaders"; import ToastBox from "../../../Components/ToastBox"; import KeyMeritsEdit from "../KeyMeritsEdit"; import SetDisplayOrder from "./SetDisplayOrder"; const KeyMerits = ({ enableNextTab, index, data: prepopData }) => { const toast = useToast(); const params = useParams(); // =====================[ variables ] const id = params?.id; const { data, isLoading, error } = useGetKeyMeritsQuery(id, { skip: !id, }); console.log(data?.data); const { keyMerits, setKeyMerits, slideFromRight } = useContext(GlobalStateContext); const firstField = useRef(); const [searchTerm, setSearchTerm] = useState(""); const [deleteAlert, setDeleteAlert] = useState(false); const [actionId, setActionId] = useState(false); const [mouseEntered, setMouseEntered] = useState(false); const [isBtnLoading, setIsBtnLoading] = useState(false); const [mouseEnteredId, setMouseEnteredId] = useState(""); const { isOpen, onOpen, onClose } = useDisclosure(); const { isOpen: isEditOpen, onOpen: onEditOpen, onClose: onEditCloseOpen, } = useDisclosure(); const [deleteKeyMerits] = useDeleteKeyMeritsMutation(); const tableHeadRow = ["Sr.no", "Title", "Sub title", "Icon", "Action"]; const handleUpdateStatus = debounce((id) => { setKeyMerits((prevKeyMerits) => prevKeyMerits.map((keyMerits) => keyMerits.id === id ? { ...keyMerits, status: !keyMerits.status } : keyMerits ) ); toast({ render: () => , }); }, 300); const filteredData = data?.data?.filter((item) => { // Filter by name (case insensitive) const name = item.meritsHeader; const searchLower = searchTerm.toLowerCase(); const nameMatches = name.toLowerCase().includes(searchLower); return nameMatches; }); // console.log(filteredData); const sortedData = filteredData?.sort( (a, b) => a.displayOder - b.displayOder ); const handleDelete = async () => { setIsBtnLoading(true); try { const res = await deleteKeyMerits(actionId); if (res?.data?.statusCode === 200) { toast({ render: () => , }); setIsBtnLoading(false); setDeleteAlert(false); } } catch (error) {} }; const extractedArray = sortedData?.map((item, index) => ({ id: item.id, "Sr.no": ( {index + 1} ), Title: ( {item.meritsHeader} ), "Sub title": ( {item.meritsDescription} ), Icon: item?.icon?.iconFilePath && ( ), // https://tanami.betadelivery.com/public/icons/linkedin.png Action: ( {/* */} ), })); return isLoading ? ( ) : ( {/* setSearchTerm(e.target.value)} /> */} {/* */} setDeleteAlert(false)} isOpen={deleteAlert} message={"Are you sure you want to delete key merit?"} alertHandler={handleDelete} isLoading={isBtnLoading} /> ); }; export default KeyMerits;