import React, { useContext, useEffect, useRef, useState } from 'react' import GlobalStateContext from '../../../Contexts/GlobalStateContext'; import { Box, HStack, Input,Text, Table, Tbody, Th, Tr, Avatar, useDisclosure,Button } from '@chakra-ui/react'; import { OPACITY_ON_LOAD } from '../../../Layout/animations'; import Pagination from '../../../Components/Pagination'; import NormalTable from '../../../Components/DataTable/NormalTable'; import CustomAlertDialog from '../../../Components/CustomAlertDialog'; import { formatDatee } from '../../../Components/FormField'; import { AddIcon } from '@chakra-ui/icons'; import AddIONav from './AddIONav'; const IONAVDetails = () => { const { navDetails, setNavDetails, IODetails } = useContext(GlobalStateContext); const firstField = useRef(); const { isOpen, onOpen, onClose } = useDisclosure(); 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(""); console.log(IODetails?.ioNAVHistory); useEffect(() => { // Simulate loading const timer = setTimeout(() => { setIsLoading(false); }, 1500); // Cleanup the timer on component unmount return () => clearTimeout(timer); }, []); // Table setup const tableHeadRow = [ // "Sr.No", "Valuation Date", "NAV", "Last NAV update", "Investment Closed", "Comments", "Update by ", // "Update On", ]; // Table filter const filteredData = IODetails?.ioNAVHistory?.filter((item) => { const name = item.transactionType; const searchLower = searchTerm.toLowerCase(); const nameMatches = name.toLowerCase().includes(searchLower); return nameMatches; }).sort((b, a) => new Date(a.transactionDate) - new Date(b.transactionDate)); const extractedArray=filteredData?.map((item, index) => ({ id: item?.id, "Sr.No": index +1, "Valuation Date": ( {formatDatee(item.transactionDate)} ), "NAV": ( {/* {`${item.transactionAmount}`} */} {`$${parseFloat(item.transactionAmount||0).toLocaleString()}`} ), "Last NAV update": ( {item.previousNAVvalue && `${item.previousNAVvalue}`} ), "Investment Closed": ( {item.initialNAVvalue&& `${item.initialNAVvalue}`} ), "Comments": ( {item.comments} ), "Update by ": ( Faisal ), "Update On": ( {item.updateOn} ), })); const handleDelete = () => { const updatedNav = navDetails.filter( (sponsor) => sponsor.id !== actionId ); setTimeout(() => { setNavDetails(updatedNav); setDeleteAlert(false); setIsLoading(false); }, 100); setIsLoading(true); }; return ( setSearchTerm(e.target.value)} /> {/* */} {/* {IODetails?.isInvestedAmount ? :null} */} {IODetails?.isInvestedAmount ? :null} setDeleteAlert(false)} isOpen={deleteAlert} message={"Are you sure you want to delete sponers?"} alertHandler={handleDelete} isLoading={isLoading} /> ) } export default IONAVDetails