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, Badge, } 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 Destribution = () => { 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); const formatDate = (date) => { return new Date(date).toLocaleDateString("en-GB", { day: "2-digit", month: "2-digit", year: "numeric", }); }; useEffect(() => { // Simulate loading const timer = setTimeout(() => { setIsLoading(false); }, 1500); // Cleanup the timer on component unmount return () => clearTimeout(timer); }, []); // Table setup const tableHeadRow = [ // "Sr.No", "Date", "Amount", "% of Investment", ]; // Table filter const filteredData = IODetails?.distributionToInvestor ?.filter((item) => { const name = item?.transactionAmount; 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": ( {item?.id} ), Date: ( {formatDate(item.transactionDate)} ), Amount: ( $ {`${parseFloat(item.transactionAmount || 0).toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2, })}`} ), "% of Investment": ( {parseFloat(item.percentage).toFixed(2)}% ), })); const handleDelete = () => { const updatedNav = navDetails.filter((sponsor) => sponsor.id !== actionId); setTimeout(() => { setNavDetails(updatedNav); setDeleteAlert(false); setIsLoading(false); }, 100); setIsLoading(true); }; const Total = () => { return (
Total $ {IODetails?.total_distributeToInvestor_amt?.toLocaleString( undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 } )} {" "}
); }; return ( setSearchTerm(e.target.value)} /> } setMouseEnteredId={setMouseEnteredId} setMouseEntered={setMouseEntered} /> setDeleteAlert(false)} isOpen={deleteAlert} message={"Are you sure you want to delete sponers?"} alertHandler={handleDelete} isLoading={isLoading} /> ); }; export default Destribution;