import { Button, Divider, Image, Menu, MenuButton, MenuItem, MenuList, Modal, ModalBody, ModalCloseButton, ModalContent, ModalFooter, ModalHeader, ModalOverlay, Portal, Text, useDisclosure, MenuItemOption, MenuGroup, MenuOptionGroup, MenuDivider, Badge, Box, Icon, HStack, } from "@chakra-ui/react"; import header from "../../../assets/IOheader.png"; import { HiDotsVertical } from "react-icons/hi"; import { Link, useParams } from "react-router-dom"; import AmountInvested from "./HeaderModal/AmountInvested"; import FeesExpenses from "./HeaderModal/FeesExpenses"; import DistributionSponsor from "./HeaderModal/DistributionSponsor"; import DistributionInvestor from "./HeaderModal/DistributionInvestor"; import UpdateIONav from "./HeaderModal/UpdateIONav"; import UpdateIOStatus from "./HeaderModal/UpdateIOStatus"; import { useContext, useRef } from "react"; import GlobalStateContext from "../../../Contexts/GlobalStateContext"; import Exit from "./HeaderModal/Exit"; import Cancle from "./HeaderModal/Cancle"; import { AddIcon } from "@chakra-ui/icons"; import { GrGallery } from "react-icons/gr"; import Loader01 from "../../../Components/Loaders/Loader01"; // import { formatCurrency } from "../../../Components/CurrencyInput"; // import { removeTrailingZeros } from "../../../Constants/Constants"; const ViewIOdataHeader = ({ data, isLoading }) => { const params = useParams(); const id = params?.id; const { isOpen, onOpen, onClose } = useDisclosure(); const btnRef = useRef(); const { IODetails, isIOloading } = useContext(GlobalStateContext); const { isOpen: isInvestmentOpen, onOpen: onInvestmentOpen, onClose: onInvestmentClose, } = useDisclosure(); const { isOpen: isFeesOpen, onOpen: onFeesOpen, onClose: onFeesClose, } = useDisclosure(); const { isOpen: isDistSponsorOpen, onOpen: onDistSponsorOpen, onClose: onDistSponsorClose, } = useDisclosure(); const { isOpen: isDistInvestorOpen, onOpen: onDistInvestorOpen, onClose: onDistInvestorClose, } = useDisclosure(); const { isOpen: isUpdateNavOpen, onOpen: onUpdateNavOpen, onClose: onUpdateNavClose, } = useDisclosure(); const { isOpen: isUpdateStatusOpen, onOpen: onUpdateStatusOpen, onClose: onUpdateStatusClose, } = useDisclosure(); const { isOpen: isExitOpen, onOpen: onExitOpen, onClose: onExitClose, } = useDisclosure(); const { isOpen: isCancleOpen, onOpen: onCancleOpen, onClose: onCancleClose, } = useDisclosure(); const bg = { bg: "#fff", }; const hover = { textDecoration: "underline", background: "#fff", }; const style = { fontSize: "0.875rem", fontWeight: "400", }; console.log( import.meta.env.VITE_IMAGE_URL + IODetails?.artifactsImage?.[0]?.artifactPathName ); const menu = [ { id: 1, title: "Amount Invested", onClickFunction: onInvestmentOpen, }, // { // id:2, // title:"Fees & Expenses", // onClickFunction:onFeesOpen // }, // { // id:3, // title:"Distribution From Sponsors", // onClickFunction:onDistSponsorOpen // }, { id: 6, title: "Distribution To Investors", onClickFunction: onDistInvestorOpen, }, { id: 5, title: "Update IO NAV", onClickFunction: onUpdateNavOpen, }, { id: 8, title: "Exit", onClickFunction: onExitOpen, }, { id: 9, title: "Cancel", onClickFunction: onCancleOpen, }, { id: 10, title: "Update IO Status", onClickFunction: onUpdateStatusOpen, }, ]; // console.log(IODetails?.mainTranscation); // Extract titles from apiTransaction const apiTransactionTitles = IODetails?.mainTranscation?.map( (transaction) => transaction.id ); // Filter menu items const filteredMenu = menu?.filter((item) => apiTransactionTitles?.includes(item.id) ); const balanceAmount = IODetails?.goalAmount - IODetails?.totalAmtInvestmentInUSD return IODetails?.investmentNameEnglish ? ( {/* {IODetails?.ioName}/ */} {IODetails?.artifactsImage?.[0]?.artifactPathName ? ( {IODetails?.ioName} ) : ( )} IO Name :- {IODetails?.investmentNameEnglish ? IODetails?.investmentNameEnglish : "---"} Sponsor Name :- {IODetails?.sponsor?.sponsorName ? IODetails?.sponsor?.sponsorName : "---"} IO ID :- {IODetails?.io_id ? IODetails?.io_id : "---"} Goal Amount :- {/* {IODetails?.ioNAV ? formatCurrency(removeTrailingZeros(IODetails?.ioNAV)) : "00.00"} */} {parseFloat(IODetails?.goalAmount || 0).toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2, })} Amount Invested :- {/* {IODetails?.ioCash ? formatCurrency(removeTrailingZeros(IODetails?.ioCash)) : "00.00"} */} {parseFloat(IODetails?.totalAmtInvestmentInUSD || 0).toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2, })} Balance :- {/* {IODetails?.ioMVNAV ? formatCurrency(removeTrailingZeros(IODetails?.ioMVNAV)) : "00.00"} */} {parseFloat(balanceAmount || 0).toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2, })} IO Status :- {IODetails?.ioStatus?.statusAdmin ? IODetails?.ioStatus?.statusAdmin : "---"} IO MV :- {/* {IODetails?.ioNAV ? formatCurrency(removeTrailingZeros(IODetails?.ioNAV)) : "00.00"} */} {parseFloat(IODetails?.ioNAV || 0).toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2, })} IO cash :- {/* {IODetails?.ioCash ? formatCurrency(removeTrailingZeros(IODetails?.ioCash)) : "00.00"} */} {parseFloat(IODetails?.ioCash || 0).toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2, })} IO NAV :- {/* {IODetails?.ioMVNAV ? formatCurrency(removeTrailingZeros(IODetails?.ioMVNAV)) : "00.00"} */} {parseFloat(IODetails?.ioMVNAV || 0).toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2, })} Tansaction {filteredMenu?.map(({ id, title, onClickFunction }) => ( {title} ))} {/* Modals */} ) : ( {" "} ); }; export default ViewIOdataHeader;