import { Avatar, Badge, Box, Button, HStack, Input, Table, Tag, Tbody, Text, Th, Tooltip, Tr, useDisclosure, useToast, } from "@chakra-ui/react"; import React, { useContext, useEffect, useRef, useState } from "react"; import { OPACITY_ON_LOAD } from "../../../../Layout/animations"; import NormalTable from "../../../../Components/DataTable/NormalTable"; import GlobalStateContext from "../../../../Contexts/GlobalStateContext"; import CustomAlertDialog from "../../../../Components/CustomAlertDialog"; import { CheckIcon, CloseIcon, ViewIcon } from "@chakra-ui/icons"; import RequestApproveModal from "./RequestApproveModal"; import RequestRejectModal from "./RequestRejectModal"; import ViewAmountInvested from "./ViewAmountInvested"; import ViewDistributionInvestor from "./ViewDistributionInvestor"; import ViewExit from "./ViewExit"; import ViewCancel from "./ViewCancel"; const formatDate = (date) => new Date(date).toLocaleDateString(); const Pending = () => { const toast = useToast(); const firstField = useRef(); const { isOpen, onOpen, onClose } = useDisclosure(); const { IODetails, iOTransaction, setIOTransaction } = useContext(GlobalStateContext); const [searchTerm, setSearchTerm] = useState(""); const [isLoading, setIsLoading] = useState(true); const [deleteAlert, setDeleteAlert] = useState(false); const [actionId, setActionId] = useState(false); const [mouseEntered, setMouseEntered] = useState(false); const [mouseEnteredId, setMouseEnteredId] = useState(""); const { isOpen: isConfirmOpen, onOpen: onConfirmOpen, onClose: onConfirmClose, } = useDisclosure(); const { isOpen: isRejectOpen, onOpen: onRejectOpen, onClose: onRejectClose, } = useDisclosure(); const { isOpen: isInvestmentOpen, onOpen: onInvestmentOpen, onClose: onInvestmentClose, } = useDisclosure(); const { isOpen: isDistInvestorOpen, onOpen: onDistInvestorOpen, onClose: onDistInvestorClose, } = useDisclosure(); const { isOpen: isExitOpen, onOpen: onExitOpen, onClose: onExitClose, } = useDisclosure(); const { isOpen: isCancelOpen, onOpen: onCancelOpen, onClose: onCancelClose, } = useDisclosure(); useEffect(() => { // Simulate loading const timer = setTimeout(() => { setIsLoading(false); }, 1500); // Cleanup the timer on component unmount return () => clearTimeout(timer); }, []); const formatDate = (date) => { return new Date(date).toLocaleDateString("en-GB", { day: "2-digit", month: "2-digit", year: "numeric", }); }; console.log( "==============panding", IODetails?.ioTransactionRecords?.Pending ); // Table filter // const filteredData = IODetails?.ioTransactionRecords?.Pending?.filter((item) => { // // Filter by name (case insensitive) // const name = item.transactionName; // const searchLower = searchTerm?.toLowerCase(); // const nameMatches = name?.toLowerCase().includes(searchLower); // return nameMatches; // }); const tableHeadRow = [ "Sr No.", "Transaction Name", "Amount", "Created By", "Created On", "Approved By", "Approved On", "Status", ]; const extractedArray = IODetails?.ioTransactionRecords?.Pending?.map( (item, index) => ({ id: item?.id, "Sr No.": ( {index + 1}. ), "Transaction Name": ( {item?.transactionType} ), Amount: ( $ {item?.transactionAmount} ), "Created By": ( {item?.createdBy} ), "Created On": ( {formatDate(item?.createdAt)} ), "Approved By": ( {item?.modifier ? item?.modifier : "---"} ), "Approved On": ( {item?.modifier ? formatDate(item?.updatedAt) : "---"} ), Status: ( ), }) ); const handleDelete = () => { const updatedSponsors = sponser.filter( (sponsor) => sponsor.id !== actionId ); setTimeout(() => { setCaseDetails(updatedSponsors); setDeleteAlert(false); setIsLoading(false); }, 100); setIsLoading(true); }; return ( setSearchTerm(e.target.value)} /> setDeleteAlert(false)} isOpen={deleteAlert} message={"Are you sure you want to delete sponers?"} alertHandler={handleDelete} isLoading={isLoading} /> ); }; export default Pending;