Files
tanami-admin-panel/src/Pages/IO_Management/ViewIO/ViewIOdataHeader.jsx

600 lines
18 KiB
React
Raw Normal View History

import {
2024-12-11 18:47:43 +05:30
Badge,
Box,
HStack,
Icon,
Image,
Menu,
MenuButton,
MenuItem,
MenuList,
Text,
useDisclosure,
2024-11-18 17:54:23 +05:30
useToast,
2024-07-09 12:25:52 +05:30
} from "@chakra-ui/react";
2024-12-11 18:47:43 +05:30
import { useContext, useRef } from "react";
import { GrGallery } from "react-icons/gr";
import { HiDotsVertical } from "react-icons/hi";
2024-12-11 18:47:43 +05:30
import { useParams } from "react-router-dom";
import Loader01 from "../../../Components/Loaders/Loader01";
import ToastBox from "../../../Components/ToastBox";
import {
decryptString,
encryptString,
isMaker,
} from "../../../Constants/Constants";
import GlobalStateContext from "../../../Contexts/GlobalStateContext";
import { useUpdateTransactionMutation } from "../../../Services/io.service";
import AmountInvested from "./HeaderModal/AmountInvested";
2024-12-11 18:47:43 +05:30
import Cancle from "./HeaderModal/Cancle";
import DistributionInvestor from "./HeaderModal/DistributionInvestor";
2024-12-11 18:47:43 +05:30
import DistributionSponsor from "./HeaderModal/DistributionSponsor";
import Exit from "./HeaderModal/Exit";
import FeesExpenses from "./HeaderModal/FeesExpenses";
import UpdateIONav from "./HeaderModal/UpdateIONav";
import UpdateIOStatus from "./HeaderModal/UpdateIOStatus";
2024-12-11 20:30:52 +05:30
import { useAuthProfileQuery } from "../../../Services/token.serivce";
2024-08-20 12:19:02 +05:30
// import { formatCurrency } from "../../../Components/CurrencyInput";
// import { removeTrailingZeros } from "../../../Constants/Constants";
2024-07-05 15:33:08 +05:30
2024-08-22 12:10:07 +05:30
const ViewIOdataHeader = ({ data, isLoading }) => {
2024-12-11 18:47:43 +05:30
const params = useParams();
const toast = useToast();
const id = params?.id;
const { isOpen, onOpen, onClose } = useDisclosure();
2024-07-09 12:25:52 +05:30
const btnRef = useRef();
2024-08-12 17:22:04 +05:30
const { IODetails, isIOloading } = useContext(GlobalStateContext);
2024-08-22 12:10:07 +05:30
2024-12-11 20:30:52 +05:30
const { data: authProfile } = useAuthProfileQuery();
if (authProfile?.data?.role) {
localStorage.setItem("role", encryptString(authProfile.data.role));
} else {
console.warn("Role is undefined or null. Skipping localStorage update.");
}
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();
2024-07-15 12:27:23 +05:30
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",
};
2024-07-09 13:13:39 +05:30
const style = {
fontSize: "0.875rem",
fontWeight: "400",
};
2024-12-12 16:19:36 +05:30
2024-12-11 18:47:43 +05:30
const [updateTransaction] = useUpdateTransactionMutation();
2024-11-18 17:54:23 +05:30
2024-12-11 18:47:43 +05:30
const handleDistributionInvestors = async () => {
2024-11-22 16:19:59 +05:30
try {
2024-12-11 18:47:43 +05:30
const res = await updateTransaction(id);
if (res?.data) {
2024-11-22 16:19:59 +05:30
// toast({
// render: () => (
// <ToastBox status={"success"} message={res?.data?.message} />
// ),
// });
// setIsLoading(false);
2024-12-11 18:47:43 +05:30
onDistInvestorOpen();
} else if (res?.error) {
toast({
render: () => (
<ToastBox status={"error"} message={res?.error?.data?.message} />
),
});
2024-11-22 16:19:59 +05:30
// setIsLoading(false);
2024-12-11 18:47:43 +05:30
}
} catch (error) {
console.log(error);
2024-11-22 16:19:59 +05:30
}
2024-12-11 18:47:43 +05:30
};
2024-11-22 16:19:59 +05:30
2024-12-11 18:47:43 +05:30
const handleExit = async () => {
2024-11-18 17:54:23 +05:30
try {
2024-12-11 18:47:43 +05:30
const res = await updateTransaction(id);
if (res?.data) {
2024-11-22 18:51:05 +05:30
// toast({
// render: () => (
// <ToastBox status={"success"} message={res?.data?.message} />
// ),
// });
2024-11-18 17:54:23 +05:30
// setIsLoading(false);
2024-12-11 18:47:43 +05:30
onExitOpen();
} else if (res?.error) {
toast({
render: () => (
<ToastBox status={"error"} message={res?.error?.data?.message} />
),
});
2024-11-18 17:54:23 +05:30
// setIsLoading(false);
2024-12-11 18:47:43 +05:30
}
} catch (error) {
console.log(error);
2024-11-18 17:54:23 +05:30
}
2024-12-11 18:47:43 +05:30
};
2024-11-18 17:54:23 +05:30
2024-12-11 18:47:43 +05:30
const handleInvestment = async () => {
2024-11-18 17:54:23 +05:30
try {
2024-12-11 18:47:43 +05:30
const res = await updateTransaction(id);
if (res?.data) {
2024-11-22 18:51:05 +05:30
// toast({
// render: () => (
// <ToastBox status={"success"} message={res?.data?.message} />
// ),
// });
2024-11-18 17:54:23 +05:30
// setIsLoading(false);
2024-12-11 18:47:43 +05:30
onInvestmentOpen();
} else if (res?.error) {
toast({
render: () => (
<ToastBox status={"error"} message={res?.error?.data?.message} />
),
});
2024-11-18 17:54:23 +05:30
// setIsLoading(false);
2024-12-11 18:47:43 +05:30
}
} catch (error) {
console.log(error);
2024-11-18 17:54:23 +05:30
}
2024-12-11 18:47:43 +05:30
};
2024-11-18 17:54:23 +05:30
2024-08-07 20:18:36 +05:30
const menu = [
{
2024-08-22 12:10:07 +05:30
id: 1,
title: "Amount Invested",
2024-11-22 16:19:59 +05:30
onClickFunction: handleInvestment,
2024-08-07 20:18:36 +05:30
},
2024-08-12 12:22:01 +05:30
// {
// id:2,
// title:"Fees & Expenses",
// onClickFunction:onFeesOpen
// },
// {
// id:3,
// title:"Distribution From Sponsors",
// onClickFunction:onDistSponsorOpen
// },
2024-08-07 20:18:36 +05:30
{
2024-08-22 12:10:07 +05:30
id: 6,
title: "Distribution To Investors",
2024-11-18 17:54:23 +05:30
onClickFunction: handleDistributionInvestors,
2024-12-11 18:47:43 +05:30
},
2024-08-12 15:35:39 +05:30
{
2024-08-22 12:10:07 +05:30
id: 5,
title: "Update IO NAV",
onClickFunction: onUpdateNavOpen,
2024-08-12 15:35:39 +05:30
},
2024-08-07 20:18:36 +05:30
{
2024-08-22 12:10:07 +05:30
id: 8,
title: "Exit",
2024-11-18 17:54:23 +05:30
onClickFunction: handleExit,
2024-08-07 20:18:36 +05:30
},
{
2024-08-22 12:10:07 +05:30
id: 9,
title: "Cancel",
onClickFunction: onCancleOpen,
2024-08-07 20:18:36 +05:30
},
{
2024-08-22 12:10:07 +05:30
id: 10,
title: "Update IO Status",
onClickFunction: onUpdateStatusOpen,
2024-08-07 20:18:36 +05:30
},
2024-08-22 12:10:07 +05:30
];
2024-08-07 20:18:36 +05:30
2024-08-12 12:22:01 +05:30
// console.log(IODetails?.mainTranscation);
2024-08-07 20:18:36 +05:30
2024-08-22 12:10:07 +05:30
// Extract titles from apiTransaction
const apiTransactionTitles = IODetails?.mainTranscation?.map(
(transaction) => transaction.id
);
// Filter menu items
const filteredMenu = menu?.filter((item) =>
apiTransactionTitles?.includes(item.id)
);
2024-08-07 20:18:36 +05:30
2024-12-11 18:47:43 +05:30
const balanceAmount =
IODetails?.goalAmount - IODetails?.totalAmtInvestmentInUSD;
2024-08-28 19:35:39 +05:30
2024-08-22 12:10:07 +05:30
return IODetails?.investmentNameEnglish ? (
2024-07-05 15:33:08 +05:30
<Box
display={"flex"}
alignItems={"center"}
2024-08-14 12:19:27 +05:30
justifyContent={"space-between"}
2024-07-24 19:58:15 +05:30
gap={8}
2024-08-12 17:22:04 +05:30
bg={
2024-12-20 17:17:18 +05:30
IODetails?.ioStatus?.statusAdmin === import.meta.env.VITE_STATUS_DRAFT
2024-08-12 17:22:04 +05:30
? "#EDF2F7"
2024-12-20 17:17:18 +05:30
: IODetails?.ioStatus?.statusAdmin === import.meta.env.VITE_STATUS_PROCESSING
2024-08-12 17:22:04 +05:30
? "#FEFBBF"
2024-12-20 17:17:18 +05:30
: IODetails?.ioStatus?.statusAdmin === import.meta.env.VITE_STATUS_OPEN
2024-08-12 17:22:04 +05:30
? "#BEE2F8"
2024-12-20 17:17:18 +05:30
: IODetails?.ioStatus?.statusAdmin === import.meta.env.VITE_STATUS_CLOSED
2024-08-12 17:22:04 +05:30
? "#C6F6D5"
2024-12-20 17:17:18 +05:30
: IODetails?.ioStatus?.statusAdmin === import.meta.env.VITE_STATUS_EXITED
2024-08-22 12:10:07 +05:30
? "#FED7D7"
2024-12-20 17:17:18 +05:30
: IODetails?.ioStatus?.statusAdmin === import.meta.env.VITE_STATUS_CANCELLED
2024-10-02 18:41:38 +05:30
? "#E9D8FD"
2024-12-20 17:17:18 +05:30
: IODetails?.ioStatus?.statusAdmin === import.meta.env.VITE_STATUS_DEACTIVATE
2024-08-12 17:22:04 +05:30
? "#E9D8FD"
: null
}
2024-07-08 20:42:55 +05:30
rounded={"md"}
// bgGradient='linear(to-r, #caf5d8, #f5e8ca)'
// bgGradient='linear(to-r, #caf5d8, #d4a5a5)'
// bgGradient='linear(to-r, #caf5d8, #d4a5a5)'
// bgGradient='linear(to-r, #caf5d8, #b3e5fc)'
// bgGradient='linear(to-r, #ffd54f, #caf5d8)'
2024-08-12 17:22:04 +05:30
// bgGradient='linear(to-r, #caf5d8, #a8e6cf)'
2024-07-09 19:05:08 +05:30
boxShadow={"md"}
position={"relative"}
2024-07-05 15:33:08 +05:30
>
2024-08-28 19:35:39 +05:30
<HStack gap={4}>
2024-08-22 12:10:07 +05:30
<Box h={100} w={200} p={1.5}>
{/* <Image rounded={'md'} h={"100%"} src={ " https://tanami.betadelivery.com/" + IODetails?.ioName} alt={IODetails?.ioName}/> */}
{IODetails?.artifactsImage?.[0]?.artifactPathName ? (
<Image
rounded={"md"}
h={"100%"}
w={"100%"}
objectFit={"cover"}
src={
import.meta.env.VITE_IMAGE_URL +
IODetails?.artifactsImage?.[0]?.artifactPathName
}
alt={IODetails?.ioName}
/>
) : (
<Box
w={"100%"}
h={"100%"}
display={"flex"}
justifyContent={"center"}
alignItems={"center"}
bg={"#fff"}
rounded={"md"}
>
<Icon color={"gray.700"} as={GrGallery} />
</Box>
)}
</Box>
2024-08-28 19:35:39 +05:30
<Box>
2024-08-29 17:02:43 +05:30
<Box display={"flex"} gap={2} pb={1}>
2024-08-28 19:35:39 +05:30
<Text
as={"span"}
fontSize={"xs"}
color={"gray.500"}
fontWeight={"500"}
me={2}
>
IO Name :-
</Text>
<Text as={"span"} fontSize={"xs"} fontWeight={"500"}>
{IODetails?.investmentNameEnglish
? IODetails?.investmentNameEnglish
: "---"}
</Text>
</Box>
2024-12-11 18:47:43 +05:30
<Box display={"flex"} gap={2} pb={1}>
2024-08-28 19:35:39 +05:30
<Text
as={"span"}
fontSize={"xs"}
color={"gray.500"}
fontWeight={"500"}
me={2}
>
Sponsor Name :-
</Text>
<Text as={"span"} fontSize={"xs"} fontWeight={"500"}>
{IODetails?.sponsor?.sponsorName
? IODetails?.sponsor?.sponsorName
: "---"}
</Text>
</Box>
2024-08-29 17:02:43 +05:30
2024-12-11 18:47:43 +05:30
<Box display={"flex"} gap={2} pb={1}>
2024-08-29 17:02:43 +05:30
<Text
as={"span"}
fontSize={"xs"}
color={"gray.500"}
fontWeight={"500"}
me={2}
>
IO ID :-
</Text>
<Text as={"span"} fontSize={"xs"} fontWeight={"500"}>
2024-12-11 18:47:43 +05:30
{IODetails?.io_id ? IODetails?.io_id : "---"}
2024-08-29 17:02:43 +05:30
</Text>
</Box>
2024-08-28 19:35:39 +05:30
</Box>
</HStack>
2024-12-11 18:47:43 +05:30
<Box gap={8} me={12} w={"220px"}>
2024-08-28 19:35:39 +05:30
<Box display={"flex"} justifyContent={"space-between"} gap={2} pb={1}>
2024-08-22 12:10:07 +05:30
<Text
as={"span"}
fontSize={"xs"}
color={"gray.500"}
fontWeight={"500"}
>
2024-08-28 19:35:39 +05:30
Goal Amount :-
2024-08-22 12:10:07 +05:30
</Text>
2024-08-28 19:35:39 +05:30
<Text as={"span"} fontSize={"xs"} fontWeight={"500"}>
{/* {IODetails?.ioNAV ? formatCurrency(removeTrailingZeros(IODetails?.ioNAV)) : "00.00"} */}
{parseFloat(IODetails?.goalAmount || 0).toLocaleString(undefined, {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
})}
2024-08-22 12:10:07 +05:30
</Text>
</Box>
2024-08-28 19:35:39 +05:30
<Box display={"flex"} justifyContent={"space-between"} gap={2} pb={1}>
2024-08-22 12:10:07 +05:30
<Text
as={"span"}
fontSize={"xs"}
color={"gray.500"}
fontWeight={"500"}
>
2024-09-13 19:43:38 +05:30
Amount Raised :-
2024-08-22 12:10:07 +05:30
</Text>
2024-08-28 19:35:39 +05:30
<Text as={"span"} fontSize={"xs"} fontWeight={"500"}>
{/* {IODetails?.ioCash ? formatCurrency(removeTrailingZeros(IODetails?.ioCash)) : "00.00"} */}
2024-12-11 18:47:43 +05:30
{parseFloat(IODetails?.totalAmtInvestmentInUSD || 0).toLocaleString(
undefined,
{
minimumFractionDigits: 2,
maximumFractionDigits: 2,
}
)}
2024-08-22 12:10:07 +05:30
</Text>
</Box>
2024-08-14 12:19:27 +05:30
2024-08-28 19:35:39 +05:30
<Box display={"flex"} justifyContent={"space-between"} gap={2}>
<Text
as={"span"}
fontSize={"xs"}
color={"gray.500"}
fontWeight={"500"}
>
Balance :-
</Text>
<Text as={"span"} fontSize={"xs"} fontWeight={"500"}>
{/* {IODetails?.ioMVNAV ? formatCurrency(removeTrailingZeros(IODetails?.ioMVNAV)) : "00.00"} */}
{parseFloat(balanceAmount || 0).toLocaleString(undefined, {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
})}
</Text>
</Box>
</Box>
2024-10-02 18:41:38 +05:30
<Box gap={8} me={12} w={"180px"}>
2024-08-28 19:35:39 +05:30
<Box display={"flex"} justifyContent={"space-between"} gap={2} pb={1}>
2024-08-22 12:10:07 +05:30
<Text
as={"span"}
textAlign={"center"}
fontSize={"xs"}
color={"gray.500"}
fontWeight={"500"}
>
2024-08-28 19:35:39 +05:30
IO Status :-
2024-08-22 12:10:07 +05:30
</Text>
<Badge
rounded={"full"}
pt={0}
pb={0.5}
textTransform={"none"}
// variant={"solid"}
colorScheme={
2024-12-20 17:17:18 +05:30
IODetails?.ioStatus?.statusAdmin === import.meta.env.VITE_STATUS_DRAFT
2024-08-22 12:10:07 +05:30
? "gray"
2024-12-20 17:17:18 +05:30
: IODetails?.ioStatus?.statusAdmin === import.meta.env.VITE_STATUS_PROCESSING
2024-08-22 12:10:07 +05:30
? "yellow"
2024-12-20 17:17:18 +05:30
: IODetails?.ioStatus?.statusAdmin === import.meta.env.VITE_STATUS_OPEN
2024-08-22 12:10:07 +05:30
? "blue"
2024-12-20 17:17:18 +05:30
: IODetails?.ioStatus?.statusAdmin === import.meta.env.VITE_STATUS_CLOSED
2024-08-22 12:10:07 +05:30
? "green"
2024-12-20 17:17:18 +05:30
: IODetails?.ioStatus?.statusAdmin === import.meta.env.VITE_STATUS_EXITED
2024-08-22 12:10:07 +05:30
? "red"
2024-12-20 17:17:18 +05:30
: IODetails?.ioStatus?.statusAdmin === import.meta.env.VITE_STATUS_CANCELLED
2024-10-02 18:41:38 +05:30
? "purple"
2024-08-22 12:10:07 +05:30
: "purple"
}
>
{IODetails?.ioStatus?.statusAdmin
? IODetails?.ioStatus?.statusAdmin
: "---"}
</Badge>
</Box>
2024-08-28 19:35:39 +05:30
<Box display={"flex"} justifyContent={"space-between"} gap={2} pb={1}>
2024-08-22 12:10:07 +05:30
<Text
as={"span"}
fontSize={"xs"}
color={"gray.500"}
fontWeight={"500"}
>
2024-08-28 19:35:39 +05:30
IO MV :-
2024-08-22 12:10:07 +05:30
</Text>
2024-08-28 19:35:39 +05:30
<Text as={"span"} fontSize={"xs"} fontWeight={"500"}>
2024-08-22 12:10:07 +05:30
{/* {IODetails?.ioNAV ? formatCurrency(removeTrailingZeros(IODetails?.ioNAV)) : "00.00"} */}
{parseFloat(IODetails?.ioNAV || 0).toLocaleString(undefined, {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
})}
</Text>
</Box>
2024-08-28 19:35:39 +05:30
<Box display={"flex"} justifyContent={"space-between"} gap={2} pb={1}>
2024-08-22 12:10:07 +05:30
<Text
as={"span"}
fontSize={"xs"}
color={"gray.500"}
fontWeight={"500"}
>
2024-08-28 19:35:39 +05:30
IO cash :-
2024-08-22 12:10:07 +05:30
</Text>
2024-08-28 19:35:39 +05:30
<Text as={"span"} fontSize={"xs"} fontWeight={"500"}>
2024-08-22 12:10:07 +05:30
{/* {IODetails?.ioCash ? formatCurrency(removeTrailingZeros(IODetails?.ioCash)) : "00.00"} */}
{parseFloat(IODetails?.ioCash || 0).toLocaleString(undefined, {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
})}
</Text>
</Box>
2024-08-28 19:35:39 +05:30
<Box display={"flex"} justifyContent={"space-between"} gap={2}>
2024-08-22 12:10:07 +05:30
<Text
as={"span"}
fontSize={"xs"}
color={"gray.500"}
fontWeight={"500"}
>
2024-08-28 19:35:39 +05:30
IO NAV :-
2024-08-22 12:10:07 +05:30
</Text>
2024-08-28 19:35:39 +05:30
<Text as={"span"} fontSize={"xs"} fontWeight={"500"}>
2024-08-22 12:10:07 +05:30
{/* {IODetails?.ioMVNAV ? formatCurrency(removeTrailingZeros(IODetails?.ioMVNAV)) : "00.00"} */}
{parseFloat(IODetails?.ioMVNAV || 0).toLocaleString(undefined, {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
})}
</Text>
</Box>
2024-08-28 19:35:39 +05:30
</Box>
2024-08-14 12:19:27 +05:30
2024-07-09 19:05:08 +05:30
<Box
position={"absolute"}
right={3}
top={2}
display={"flex"}
alignItems={"start"}
height={"95px"}
>
2024-12-11 18:47:43 +05:30
{isMaker() && (
<Menu>
<MenuButton
className="link p-1 rounded-1 "
bg={"#fff"}
_hover={{ backgroundColor: "#fff !important" }}
onClick={onOpen}
ref={btnRef}
2024-07-15 12:27:23 +05:30
>
2024-12-11 18:47:43 +05:30
<HiDotsVertical className="rubix-text-dark fs-6" />
</MenuButton>
<MenuList fontSize={"sm"}>
2024-08-22 12:10:07 +05:30
<MenuItem
2024-12-11 18:47:43 +05:30
_hover={{
bg: "#fff",
}}
as={"span"}
fontWeight={600}
2024-08-22 12:10:07 +05:30
className="border-bottom"
>
2024-12-11 18:47:43 +05:30
Tansaction
2024-08-22 12:10:07 +05:30
</MenuItem>
2024-12-11 18:47:43 +05:30
{filteredMenu?.map(({ id, title, onClickFunction }) => (
<MenuItem
key={id}
onClick={onClickFunction}
className="border-bottom"
>
{title}
</MenuItem>
))}
</MenuList>
</Menu>
)}
{/* Modals */}
<AmountInvested isOpen={isInvestmentOpen} onClose={onInvestmentClose} />
<FeesExpenses isOpen={isFeesOpen} onClose={onFeesClose} />
2024-08-30 16:09:07 +05:30
<Exit isOpen={isExitOpen} onClose={onExitClose} />
2024-07-15 12:27:23 +05:30
<Cancle isOpen={isCancleOpen} onClose={onCancleClose} />
<DistributionSponsor
isOpen={isDistSponsorOpen}
onClose={onDistSponsorClose}
/>
<DistributionInvestor
isOpen={isDistInvestorOpen}
onClose={onDistInvestorClose}
/>
2024-08-22 12:10:07 +05:30
<UpdateIONav isOpen={isUpdateNavOpen} onClose={onUpdateNavClose} />
<UpdateIOStatus
2024-08-12 12:22:01 +05:30
status={IODetails?.nextStatus}
isOpen={isUpdateStatusOpen}
onClose={onUpdateStatusClose}
/>
</Box>
2024-08-22 12:10:07 +05:30
</Box>
) : (
2024-08-13 13:46:41 +05:30
<Box
display={"flex"}
alignItems={"center"}
justifyContent={"center"}
rounded={"md"}
height={100}
bg={"#fff"}
// bgGradient='linear(to-r, #caf5d8, #f5e8ca)'
// bgGradient='linear(to-r, #caf5d8, #d4a5a5)'
// bgGradient='linear(to-r, #caf5d8, #d4a5a5)'
// bgGradient='linear(to-r, #caf5d8, #b3e5fc)'
// bgGradient='linear(to-r, #ffd54f, #caf5d8)'
// bgGradient='linear(to-r, #caf5d8, #a8e6cf)'
boxShadow={"md"}
2024-08-22 12:10:07 +05:30
>
{" "}
<Loader01 />
</Box>
2024-07-05 15:33:08 +05:30
);
};
export default ViewIOdataHeader;