screens updated

This commit is contained in:
2024-06-25 12:05:39 +05:30
parent ae79f1f561
commit c50f69b9dc
26 changed files with 562 additions and 422 deletions

View File

@@ -160,7 +160,7 @@
/* Total scrollbar width */
::-webkit-scrollbar {
width: 4px;
width: 2px;
height: 12px;
}
@@ -173,14 +173,14 @@
/* The draggable scrollbar handle */
::-webkit-scrollbar-thumb {
background: #004118;
background: #0041184f;
border-radius: 10px;
cursor: grabbing;
}
/* On hover */
::-webkit-scrollbar-thumb:hover {
background: #004118;
background: #0041189a;
}

View File

@@ -4,7 +4,12 @@ import logoMini from "../assets/logo-min.png";
import { useDispatch } from "react-redux";
import { loginUser } from "../Redux/Slice/auth";
import Button02 from "../Components/Buttons/Button02";
import { TbArrowBadgeLeftFilled } from "react-icons/tb";
import {
TbArrowBadgeLeftFilled,
TbListDetails,
TbReportMoney,
TbTransactionDollar,
} from "react-icons/tb";
import { TbArrowBadgeRightFilled } from "react-icons/tb";
import { ArrowBackIcon, ArrowLeftIcon, ArrowRightIcon } from "@chakra-ui/icons";
import {
@@ -39,13 +44,25 @@ import {
AccordionButton,
AccordionIcon,
AccordionPanel,
Image,
} from "@chakra-ui/react";
import GlobalStateContext from "../Contexts/GlobalStateContext";
import Cookies from "js-cookie"; // Import the Cookies library
import Header from "../Components/Header";
import HeaderMain from "../Components/HeaderMain";
import { IoMdSwap } from "react-icons/io";
import { RiExchangeBoxLine, RiMoneyDollarBoxLine } from "react-icons/ri";
import {
RiBankLine,
RiExchangeBoxLine,
RiFileUserLine,
RiMoneyDollarBoxLine,
} from "react-icons/ri";
import { VscSymbolClass } from "react-icons/vsc";
import { MdNotificationsNone, MdOutlineAddChart } from "react-icons/md";
import { HiOutlineChartSquareBar } from "react-icons/hi";
import { GrManual } from "react-icons/gr";
import { LuContact } from "react-icons/lu";
import shield from "../assets/shield.png"
const DashboardLayout = () => {
const navigate = useNavigate();
@@ -80,21 +97,167 @@ const DashboardLayout = () => {
<RiMoneyDollarBoxLine className="h4 m-0" /> Sponser
</span>
);
case "/investment-type":
return (
<span className="d-flex align-items-end gap-2">
<VscSymbolClass className="h4 m-0" /> Investment Type
</span>
);
case "/exchange-rate":
return (
<span className="d-flex align-items-end gap-2">
<RiExchangeBoxLine className="h4 m-0 fw-normal" /> Echange rate
<RiExchangeBoxLine className="h4 m-0 fw-normal" />
Echange rate
</span>
);
case "/community/add-comunity":
case "/create-io":
return (
<Text color={"teal.800"} className="d-flex align-items-center">
<Link to={"/community/"}>
<ArrowBackIcon className="me-2 fs-3 link p-1 rounded-1" />
</Link>
Community
</Text>
<span className="d-flex align-items-end gap-2">
<MdOutlineAddChart className="h4 m-0 fw-normal" />
Create IO
</span>
);
case "/view-io":
return (
<span className="d-flex align-items-end gap-2">
<HiOutlineChartSquareBar className="h4 m-0 fw-normal" />
View IO
</span>
);
case "/investor-details":
return (
<span className="d-flex align-items-end gap-2">
<TbListDetails className="h4 m-0 fw-normal" />
Investor Details
</span>
);
case "/investor-transactions":
return (
<span className="d-flex align-items-end gap-2">
<TbTransactionDollar className="h4 m-0 fw-normal" />
Investor Transactions
</span>
);
case "/withdraw-request":
return (
<span className="d-flex align-items-end gap-2">
<RiMoneyDollarBoxLine className="h4 m-0 fw-normal" />
Withdrawal pending request
</span>
);
case "/withdraw-history":
return (
<span className="d-flex align-items-end gap-2">
<RiExchangeBoxLine className="h4 m-0 fw-normal" />
Withdrawal request
</span>
);
case "/investor-request":
return (
<span className="d-flex align-items-end gap-2">
<RiMoneyDollarBoxLine className="h4 m-0 fw-normal" />
Investor pending request
</span>
);
case "/investor-history":
return (
<span className="d-flex align-items-end gap-2">
<RiExchangeBoxLine className="h4 m-0 fw-normal" />
Investor request
</span>
);
case "/deletion-request":
return (
<span className="d-flex align-items-end gap-2">
<RiMoneyDollarBoxLine className="h4 m-0 fw-normal" />
Deletion pending request
</span>
);
case "/deletion-history":
return (
<span className="d-flex align-items-end gap-2">
<RiExchangeBoxLine className="h4 m-0 fw-normal" />
Deletion request
</span>
);
case "/bank-investor":
return (
<span className="d-flex align-items-end gap-2">
<TbReportMoney className="h4 m-0 fw-normal" />
Ban / Unban Investor
</span>
);
case "/academy":
return (
<span className="d-flex align-items-end gap-2">
<GrManual className="h4 m-0 fw-normal" />
Academy
</span>
);
case "/notification":
return (
<span className="d-flex align-items-end gap-2">
<MdNotificationsNone className="h4 m-0 fw-normal" />
Notification
</span>
);
case "/contact":
return (
<span className="d-flex align-items-end gap-2">
<LuContact className="h4 m-0 fw-normal" />
Contact Details
</span>
);
case "/users":
return (
<span className="d-flex align-items-end gap-2">
<RiFileUserLine className="h4 m-0 fw-normal" />
Users
</span>
);
case "/bank-details":
return (
<span className="d-flex align-items-end gap-2">
<RiBankLine className="h4 m-0 fw-normal" />
Bank Details
</span>
);
case "/deletion-request":
return (
<span className="d-flex align-items-end gap-2">
<RiMoneyDollarBoxLine className="h4 m-0 fw-normal" />
Deletion pending request
</span>
);
case "/deletion-history":
return (
<span className="d-flex align-items-end gap-2">
<RiExchangeBoxLine className="h4 m-0 fw-normal" />
Deletion request
</span>
);
case "/deletion-request":
return (
<span className="d-flex align-items-end gap-2">
<RiMoneyDollarBoxLine className="h4 m-0 fw-normal" />
Deletion pending request
</span>
);
case "/deletion-history":
return (
<span className="d-flex align-items-end gap-2">
<RiExchangeBoxLine className="h4 m-0 fw-normal" />
Deletion request
</span>
);
default:
if (path.startsWith("/community/view/")) {
return (
@@ -159,7 +322,7 @@ const DashboardLayout = () => {
{slideFromRight ? null : (
<aside
className="h-100 position-relative sideBar pe-1"
className="h-100 position-relative sideBar "
// onMouseOver={() => setIsDrawerOpen(true)}
// onMouseLeave={() => setIsDrawerOpen(false)}
style={{
@@ -199,8 +362,8 @@ const DashboardLayout = () => {
</div>
<Box
className="ps-2 scroll-bar"
style={{ height: "85%", overflowY: "scroll", overflowX: "hidden" }}
className="ps-2 pb-5 scroll-bar pe-1"
style={{ height: "90%", overflowY: "scroll", overflowX: "hidden" }}
>
<Accordion m={0} allowToggle>
{nav.map(({ title, type, Icon, submenu, path }, index) => {
@@ -221,13 +384,15 @@ const DashboardLayout = () => {
gap={2}
alignItems={"center"}
>
{Icon && <Icon className="web-text-large" />}
{/* {Icon && title === "Admin" ? <Image w={15} src={shield} /> : <Icon className={`web-text-large`} />} */}
{Icon && <Icon color={title === "Admin" ? "#004118" :""} fontSize={title === "Admin" ? "18px" :"15px"}/>}
<Text
as={"span"}
display={
isDrawerOpen || openDrawerClick ? "flex" : "none"
}
alignItems="center"
overflow="hidden"
textAlign={"left"}
>
@@ -263,7 +428,7 @@ const DashboardLayout = () => {
position: "absolute",
top: 0,
width: 2,
left: 20,
left: 22,
height:
i === submenu?.length - 1 ? "55%" : "120%",
borderRadius: "0 0 10px 10px",
@@ -273,8 +438,8 @@ const DashboardLayout = () => {
backgroundColor={"gray.300"}
style={{
position: "absolute",
width: 8,
left: 20,
width: 10,
left: 22,
height: 2,
}}
/>
@@ -282,7 +447,7 @@ const DashboardLayout = () => {
<NavLink
className={`${
isDrawerOpen || openDrawerClick
? "p-2 ps-1 ms-1 web-text-medium "
? "p-2 ps-1 ms-2 web-text-medium "
: "p-2 ps-0 ms-0 zindex-3 ms-4 web-text-xlarge justify-content-center"
} rounded-1 link d-flex align-items-center gap-2 w-100 `}
to={link}
@@ -318,7 +483,6 @@ const DashboardLayout = () => {
as={"span"}
key={index}
className="web-text-xxsmall fw-600 text-secondary fw-bold"
>
{title}
</Text>
@@ -377,9 +541,11 @@ const DashboardLayout = () => {
)}
</Button>
<Box id="google_translate_element" display="block" className="bg-danger" />
<Box
id="google_translate_element"
display="block"
className="bg-danger"
/>
</aside>
)}
@@ -463,16 +629,16 @@ const DashboardLayout = () => {
? "p-2 web-text-medium ps-3 justify-content-between"
: "p-2 ps-1 web-text-xlarge justify-content-center"
} rounded-1 link d-flex align-items-center gap-2 w-100 mb-1`}
flexDirection={'row-reverse'}
flexDirection={"row-reverse"}
>
<Box
as="span"
display={"flex"}
gap={2}
alignItems={"center"}
flexDirection={'row-reverse'}
flexDirection={"row-reverse"}
>
{Icon && <Icon className="web-text-large" /> }
{Icon && <Icon className="web-text-large" />}
<Text
as={"span"}
display={
@@ -498,7 +664,7 @@ const DashboardLayout = () => {
{ title: subMenuTitle, path: link, icon: SubIcon },
i
) => (
<Box
<Box
key={i}
style={{ height: "auto", position: "relative" }}
className={`${
@@ -529,14 +695,15 @@ const DashboardLayout = () => {
}}
/>
<NavLink flexDirection={'row-reverse'}
<NavLink
flexDirection={"row-reverse"}
className={`${
isDrawerOpen || openDrawerClick
? "p-2 ps-1 me-1 web-text-medium "
: "p-2 ps-0 ms-0 zindex-3 ms-4 web-text-xlarge justify-content-center"
} rounded-1 link d-flex align-items-center gap-2 w-100 flex-direction-row-reverse`}
to={link}
style={{flexDirection:"row-reverse"}}
style={{ flexDirection: "row-reverse" }}
>
{SubIcon && (
<SubIcon
@@ -570,8 +737,8 @@ const DashboardLayout = () => {
key={index}
className="web-text-xxsmall fw-600 mt-1 text-secondary fw-bold me-2"
padding={0}
display={'flex'}
justifyContent={'end'}
display={"flex"}
justifyContent={"end"}
>
{title}
</Text>
@@ -580,17 +747,20 @@ const DashboardLayout = () => {
return (
<NavLink
key={index}
style={{ height: "auto", position: "relative" ,flexDirection:"row-reverse"}}
style={{
height: "auto",
position: "relative",
flexDirection: "row-reverse",
}}
className={`${
isDrawerOpen || openDrawerClick
? "p-2 web-text-medium"
: "p-2 ps-0 web-text-xlarge justify-content-start"
} rounded-1 link d-flex align-items-center gap-2 w-100`}
to={path}
>
{Icon && <Icon className="web-text-large ms-2" />}
<Text
<Text
as={"span"}
display={
isDrawerOpen || openDrawerClick ? "flex" : "none"

View File

@@ -1,12 +1,22 @@
import { Box, Text } from "@chakra-ui/react";
import { OPACITY_ON_LOAD } from "../../Layout/animations";
import { Box, Image, Text } from "@chakra-ui/react"
// import error from "../assets/Error.svg"
import robot from "../../assets/robot.png"
// import robot from "../assets/robot.png"
const DeletionHistory = () => {
return (
<Box {...OPACITY_ON_LOAD} overflowY={"scroll"} height={"100vh"}>
<Text as={"h1"}>Account deletion request</Text>
<Box
h={'100vh'}
display={'flex'}
justifyContent={'center'}
alignItems={'center'}
flexDirection={'column'}
gap={8}
>
<Image src={robot} w={"171px"} />
{/* <Text color={'green.800'} as={'span'} fontSize={'small'}>The requested URL was not found on this server.</Text> */}
</Box>
);
};
)
}
export default DeletionHistory;
export default DeletionHistory

View File

@@ -1,12 +1,22 @@
import { Box, Text } from "@chakra-ui/react";
import { OPACITY_ON_LOAD } from "../../Layout/animations";
import { Box, Image, Text } from "@chakra-ui/react"
// import error from "../assets/Error.svg"
import robot from "../../assets/robot.png"
// import robot from "../assets/robot.png"
const DeletionRequest = () => {
return (
<Box {...OPACITY_ON_LOAD} overflowY={"scroll"} height={"100vh"}>
<Text as={"h1"}>Pending deletion request</Text>
<Box
h={'100vh'}
display={'flex'}
justifyContent={'center'}
alignItems={'center'}
flexDirection={'column'}
gap={8}
>
<Image src={robot} w={"171px"} />
{/* <Text color={'green.800'} as={'span'} fontSize={'small'}>The requested URL was not found on this server.</Text> */}
</Box>
);
};
)
}
export default DeletionRequest;
export default DeletionRequest

View File

@@ -1,12 +1,22 @@
import { Box, Text } from "@chakra-ui/react";
import { OPACITY_ON_LOAD } from "../../Layout/animations";
import { Box, Image, Text } from "@chakra-ui/react"
// import error from "../assets/Error.svg"
import robot from "../../assets/robot.png"
// import robot from "../assets/robot.png"
const Academy = () => {
return (
<Box {...OPACITY_ON_LOAD} overflowY={"scroll"} height={"100vh"}>
<Text as={"h1"}>Academy Page</Text>
<Box
h={'100vh'}
display={'flex'}
justifyContent={'center'}
alignItems={'center'}
flexDirection={'column'}
gap={8}
>
<Image src={robot} w={"171px"} />
{/* <Text color={'green.800'} as={'span'} fontSize={'small'}>The requested URL was not found on this server.</Text> */}
</Box>
);
};
)
}
export default Academy;
export default Academy

View File

@@ -1,12 +1,22 @@
import { Box, Text } from "@chakra-ui/react";
import { OPACITY_ON_LOAD } from "../../Layout/animations";
import { Box, Image, Text } from "@chakra-ui/react"
// import error from "../assets/Error.svg"
import robot from "../../assets/robot.png"
// import robot from "../assets/robot.png"
const BankDetails = () => {
return (
<Box {...OPACITY_ON_LOAD} overflowY={"scroll"} height={"100vh"}>
<Text as={"h1"}>Bank Details</Text>
<Box
h={'100vh'}
display={'flex'}
justifyContent={'center'}
alignItems={'center'}
flexDirection={'column'}
gap={8}
>
<Image src={robot} w={"171px"} />
{/* <Text color={'green.800'} as={'span'} fontSize={'small'}>The requested URL was not found on this server.</Text> */}
</Box>
);
};
)
}
export default BankDetails;
export default BankDetails

View File

@@ -1,12 +1,22 @@
import { Box, Text } from "@chakra-ui/react";
import { OPACITY_ON_LOAD } from "../../Layout/animations";
import { Box, Image, Text } from "@chakra-ui/react"
// import error from "../assets/Error.svg"
import robot from "../../assets/robot.png"
// import robot from "../assets/robot.png"
const BankInvestor = () => {
return (
<Box {...OPACITY_ON_LOAD} overflowY={"scroll"} height={"100vh"}>
<Text as={"h1"}>Admin Bank Investor Page</Text>
<Box
h={'100vh'}
display={'flex'}
justifyContent={'center'}
alignItems={'center'}
flexDirection={'column'}
gap={8}
>
<Image src={robot} w={"171px"} />
{/* <Text color={'green.800'} as={'span'} fontSize={'small'}>The requested URL was not found on this server.</Text> */}
</Box>
);
};
)
}
export default BankInvestor;
export default BankInvestor

View File

@@ -1,12 +1,22 @@
import { Box, Text } from "@chakra-ui/react";
import { OPACITY_ON_LOAD } from "../../Layout/animations";
import { Box, Image, Text } from "@chakra-ui/react"
// import error from "../assets/Error.svg"
import robot from "../../assets/robot.png"
// import robot from "../assets/robot.png"
const Contact = () => {
return (
<Box {...OPACITY_ON_LOAD} overflowY={"scroll"} height={"100vh"}>
<Text as={"h1"}>Contact Us Page</Text>
<Box
h={'100vh'}
display={'flex'}
justifyContent={'center'}
alignItems={'center'}
flexDirection={'column'}
gap={8}
>
<Image src={robot} w={"171px"} />
{/* <Text color={'green.800'} as={'span'} fontSize={'small'}>The requested URL was not found on this server.</Text> */}
</Box>
);
};
)
}
export default Contact;
export default Contact

View File

@@ -1,12 +1,22 @@
import { Box, Text } from "@chakra-ui/react";
import { OPACITY_ON_LOAD } from "../../Layout/animations";
import { Box, Image, Text } from "@chakra-ui/react"
// import error from "../assets/Error.svg"
import robot from "../../assets/robot.png"
// import robot from "../assets/robot.png"
const Notification = () => {
return (
<Box {...OPACITY_ON_LOAD} overflowY={"scroll"} height={"100vh"}>
<Text as={"h1"}>Notification</Text>
<Box
h={'100vh'}
display={'flex'}
justifyContent={'center'}
alignItems={'center'}
flexDirection={'column'}
gap={8}
>
<Image src={robot} w={"171px"} />
{/* <Text color={'green.800'} as={'span'} fontSize={'small'}>The requested URL was not found on this server.</Text> */}
</Box>
);
};
)
}
export default Notification;
export default Notification

View File

@@ -1,12 +1,22 @@
import { Box, Text } from "@chakra-ui/react";
import { OPACITY_ON_LOAD } from "../../Layout/animations";
import { Box, Image, Text } from "@chakra-ui/react"
// import error from "../assets/Error.svg"
import robot from "../../assets/robot.png"
// import robot from "../assets/robot.png"
const Users = () => {
return (
<Box {...OPACITY_ON_LOAD} overflowY={"scroll"} height={"100vh"}>
<Text as={"h1"}>Users Page</Text>
<Box
h={'100vh'}
display={'flex'}
justifyContent={'center'}
alignItems={'center'}
flexDirection={'column'}
gap={8}
>
<Image src={robot} w={"171px"} />
{/* <Text color={'green.800'} as={'span'} fontSize={'small'}>The requested URL was not found on this server.</Text> */}
</Box>
);
};
)
}
export default Users;
export default Users

View File

@@ -1,13 +0,0 @@
import { Box, Text } from "@chakra-ui/react";
import { OPACITY_ON_LOAD } from "../../Layout/animations";
const Create = () => {
return (
<Box {...OPACITY_ON_LOAD} overflowY={"scroll"} height={"100vh"}>
<Text as={"h1"}> IO management Create</Text>
</Box>
);
};
export default Create;

View File

@@ -0,0 +1,22 @@
import { Box, Image, Text } from "@chakra-ui/react"
// import error from "../assets/Error.svg"
import robot from "../../assets/robot.png"
// import robot from "../assets/robot.png"
const CreateIO = () => {
return (
<Box
h={'100vh'}
display={'flex'}
justifyContent={'center'}
alignItems={'center'}
flexDirection={'column'}
gap={8}
>
<Image src={robot} w={"171px"} />
{/* <Text color={'green.800'} as={'span'} fontSize={'small'}>The requested URL was not found on this server.</Text> */}
</Box>
)
}
export default CreateIO

View File

@@ -1,13 +0,0 @@
import { Box, Text } from "@chakra-ui/react";
import { OPACITY_ON_LOAD } from "../../Layout/animations";
const View = () => {
return (
<Box {...OPACITY_ON_LOAD} overflowY={"scroll"} height={"100vh"}>
<Text as={"h1"}> IO management View</Text>
</Box>
);
};
export default View;

View File

@@ -0,0 +1,22 @@
import { Box, Image, Text } from "@chakra-ui/react"
// import error from "../assets/Error.svg"
import robot from "../../assets/robot.png"
// import robot from "../assets/robot.png"
const ViewIO = () => {
return (
<Box
h={'100vh'}
display={'flex'}
justifyContent={'center'}
alignItems={'center'}
flexDirection={'column'}
gap={8}
>
<Image src={robot} w={"171px"} />
{/* <Text color={'green.800'} as={'span'} fontSize={'small'}>The requested URL was not found on this server.</Text> */}
</Box>
)
}
export default ViewIO

View File

@@ -1,12 +1,22 @@
import { Box, Text } from "@chakra-ui/react";
import { OPACITY_ON_LOAD } from "../../Layout/animations";
import { Box, Image, Text } from "@chakra-ui/react"
// import error from "../assets/Error.svg"
import robot from "../../assets/robot.png"
// import robot from "../assets/robot.png"
const InvestorPendingRequest = () => {
return (
<Box {...OPACITY_ON_LOAD} overflowY={"scroll"} height={"100vh"}>
<Text as={"h1"}>Investor pending request</Text>
<Box
h={'100vh'}
display={'flex'}
justifyContent={'center'}
alignItems={'center'}
flexDirection={'column'}
gap={8}
>
<Image src={robot} w={"171px"} />
{/* <Text color={'green.800'} as={'span'} fontSize={'small'}>The requested URL was not found on this server.</Text> */}
</Box>
);
};
)
}
export default InvestorPendingRequest;
export default InvestorPendingRequest

View File

@@ -1,12 +1,22 @@
import { Box, Text } from "@chakra-ui/react";
import { OPACITY_ON_LOAD } from "../../Layout/animations";
const upgradeHistory = () => {
import { Box, Image, Text } from "@chakra-ui/react"
// import error from "../assets/Error.svg"
import robot from "../../assets/robot.png"
// import robot from "../assets/robot.png"
const UpgradeHistory = () => {
return (
<Box {...OPACITY_ON_LOAD} overflowY={"scroll"} height={"100vh"}>
<Text as={"h1"}>Investor upgradation History</Text>
<Box
h={'100vh'}
display={'flex'}
justifyContent={'center'}
alignItems={'center'}
flexDirection={'column'}
gap={8}
>
<Image src={robot} w={"171px"} />
{/* <Text color={'green.800'} as={'span'} fontSize={'small'}>The requested URL was not found on this server.</Text> */}
</Box>
);
};
)
}
export default upgradeHistory;
export default UpgradeHistory

View File

@@ -1,12 +1,22 @@
import { Box, Text } from "@chakra-ui/react";
import { OPACITY_ON_LOAD } from "../../Layout/animations";
import { Box, Image, Text } from "@chakra-ui/react"
// import error from "../assets/Error.svg"
import robot from "../../assets/robot.png"
// import robot from "../assets/robot.png"
const InvestorDetails = () => {
return (
<Box {...OPACITY_ON_LOAD} overflowY={"scroll"} height={"100vh"}>
<Text as={"h1"}> Investor Details Page</Text>
<Box
h={'100vh'}
display={'flex'}
justifyContent={'center'}
alignItems={'center'}
flexDirection={'column'}
gap={8}
>
<Image src={robot} w={"171px"} />
{/* <Text color={'green.800'} as={'span'} fontSize={'small'}>The requested URL was not found on this server.</Text> */}
</Box>
);
};
)
}
export default InvestorDetails;
export default InvestorDetails

View File

@@ -1,12 +1,22 @@
import { Box, Text } from "@chakra-ui/react";
import { OPACITY_ON_LOAD } from "../../Layout/animations";
import { Box, Image, Text } from "@chakra-ui/react"
// import error from "../assets/Error.svg"
import robot from "../../assets/robot.png"
// import robot from "../assets/robot.png"
const InvestorTransactions = () => {
return (
<Box {...OPACITY_ON_LOAD} overflowY={"scroll"} height={"100vh"}>
<Text as={"h1"}> Investor Transactions Page</Text>
<Box
h={'100vh'}
display={'flex'}
justifyContent={'center'}
alignItems={'center'}
flexDirection={'column'}
gap={8}
>
<Image src={robot} w={"171px"} />
{/* <Text color={'green.800'} as={'span'} fontSize={'small'}>The requested URL was not found on this server.</Text> */}
</Box>
);
};
)
}
export default InvestorTransactions;
export default InvestorTransactions

View File

@@ -1,225 +1,22 @@
import {
Avatar,
Badge,
Box,
Button,
HStack,
Input,
Menu,
MenuButton,
MenuItem,
MenuList,
Portal,
Select,
Switch,
Tag,
Text,
} from "@chakra-ui/react";
import React, { useContext, useEffect, useState } from "react";
import { OPACITY_ON_LOAD } from "../../../Layout/animations";
import DataTable from "../../../Components/DataTable/DataTable";
import { HiDotsVertical } from "react-icons/hi";
import { Link, Link as RouterLink } from "react-router-dom";
import { AddIcon, EmailIcon } from "@chakra-ui/icons";
import Pagination from "../../../Components/Pagination";
import GlobalStateContext from "../../../Contexts/GlobalStateContext";
import CustomAlertDialog from "../../../Components/CustomAlertDialog";
const formatDate = (date) => new Date(date).toLocaleDateString(); // Simple date formatter
import { Box, Image, Text } from "@chakra-ui/react"
// import error from "../assets/Error.svg"
import robot from "../../../assets/robot.png"
// import robot from "../assets/robot.png"
const ExchangeRate = () => {
const { sponser, setSponser } = useContext(GlobalStateContext);
const [searchTerm, setSearchTerm] = useState("");
const [isLoading, setIsLoading] = useState(true);
const [deleteAlert, setDeleteAlert] = useState(false);
const [actionId, setActionId] = useState(false);
useEffect(() => {
// Simulate loading
const timer = setTimeout(() => {
setIsLoading(false);
}, 1500);
// Cleanup the timer on component unmount
return () => clearTimeout(timer);
}, []);
// ====================================================[Table Setup]================================================================
const tableHeadRow = [
"Sponser name",
"Address",
"Mobile no",
"Status",
"Created At",
];
const handleUpdateStatus = (id) => {
console.log(`Status updated for id: ${id}`);
// Add your status update logic here
};
// ====================================================[Table Filter]================================================================
const filteredData = sponser.filter((item) => {
// Filter by name (case insensitive)
const name = item.sponserName;
const searchLower = searchTerm.toLowerCase();
const nameMatches = name.toLowerCase().includes(searchLower);
// Filter by status
// const status = item.status;
// const statusLower = status ? "active" : "inactive";
// const statusMatches =
// statusFilter === "all" ||
// (statusFilter === "active" && status === true) ||
// (statusFilter === "inactive" && status === false);
return nameMatches;
});
const extractedArray = filteredData?.map((item) => ({
"Sponser name": (
<Text
as={"span"}
color={"gray.600"}
className="d-flex align-items-center fw-bold web-text-small"
>
{item.sponserName}
</Text>
),
Address: (
<Box w={350} isTruncated={true}>
<Text as={"span"} color={"teal.900"}>
{item.sponserAddress}
</Text>
</Box>
),
"Mobile no": (
<Box w={"auto"} isTruncated={true}>
<Text as={"span"} color={"teal.900"}>
{item.mobileNo}
</Text>
</Box>
),
Status:
// <Switch
// size={"sm"}
// colorScheme="teal"
// onChange={() => handleUpdateStatus(item.id)}
// isChecked={item.status}
// />
item?.status ? (
<Badge variant={"outline"} colorScheme="green">
Passed
</Badge>
) : (
<Badge variant={"outline"} colorScheme="red">
Not passes
</Badge>
),
"Created At": (
<span className="d-flex justify-content-between align-items-center">
<Text as={"span"} color={"gray.600"} className=" fw-bold">
{formatDate(item.createdAt)}
</Text>
<Menu>
<MenuButton className="link p-1 rounded-1">
<HiDotsVertical className="rubix-text-dark fs-6" />
</MenuButton>
<Portal>
<MenuList minWidth="80px">
<RouterLink to={`edit/${item.id}`}>
<MenuItem className="web-text-medium">Edit</MenuItem>
</RouterLink>
<RouterLink to={`view/${item.id}`}>
<MenuItem className="web-text-medium">View</MenuItem>
</RouterLink>
<MenuItem
onClick={() => {
setActionId(item?.id);
setDeleteAlert(true);
}}
className="web-text-medium"
>
Delete
</MenuItem>
</MenuList>
</Portal>
</Menu>
</span>
),
}));
const handleDelete = () => {
const updatedSponsors = sponser.filter(
(sponsor) => sponsor.id !== actionId
);
setTimeout(() => {
setSponser(updatedSponsors);
setDeleteAlert(false);
setIsLoading(false);
}, 100);
setIsLoading(true);
};
return (
<Box {...OPACITY_ON_LOAD} overflowY={"scroll"} height={"100vh"}>
<Box bg="white.500">
<HStack
display={"flex"}
justifyContent={"space-between"}
ps={1}
pe={1}
pb={4}
pt={4}
spacing="24px"
>
<Input
type="search"
width={300}
placeholder="Search..."
size="sm"
rounded="sm"
value={searchTerm}
onChange={(e) => setSearchTerm(e.target.value)}
/>
<HStack display={"flex"} alignItems={"center"}>
<Pagination totalItems={10} />
<Link to={"/sponser/add-sponser"}>
<Button
leftIcon={<AddIcon />}
colorScheme={"green"}
rounded={"sm"}
size={"sm"}
>
Add Exchange Rate
</Button>
</Link>
</HStack>
</HStack>
</Box>
<DataTable
emptyMessage={`We don't have any Sponers `}
tableHeadRow={tableHeadRow}
data={extractedArray}
isLoading={isLoading}
// totalPages={10}
/>
<CustomAlertDialog
onClose={() => setDeleteAlert(false)}
isOpen={deleteAlert}
message={"Are you sure you want to delete sponers?"}
alertHandler={handleDelete}
isLoading={isLoading}
/>
<Box
h={'100vh'}
display={'flex'}
justifyContent={'center'}
alignItems={'center'}
flexDirection={'column'}
gap={8}
>
<Image src={robot} w={"171px"} />
{/* <Text color={'green.800'} as={'span'} fontSize={'small'}>The requested URL was not found on this server.</Text> */}
</Box>
);
};
)
}
export default ExchangeRate;
export default ExchangeRate

View File

@@ -1,12 +1,22 @@
import { Box, Text } from "@chakra-ui/react";
import { OPACITY_ON_LOAD } from "../../../Layout/animations";
import { Box, Image, Text } from "@chakra-ui/react"
// import error from "../assets/Error.svg"
import robot from "../../../assets/robot.png"
// import robot from "../assets/robot.png"
const InvestmentType = () => {
return (
<Box {...OPACITY_ON_LOAD} overflowY={"scroll"} height={"100vh"}>
<Text as={"h1"}> Investment type page</Text>
<Box
h={'100vh'}
display={'flex'}
justifyContent={'center'}
alignItems={'center'}
flexDirection={'column'}
gap={8}
>
<Image src={robot} w={"171px"} />
{/* <Text color={'green.800'} as={'span'} fontSize={'small'}>The requested URL was not found on this server.</Text> */}
</Box>
);
};
)
}
export default InvestmentType;
export default InvestmentType

View File

@@ -1,7 +1,7 @@
import { Box, Image, Text } from "@chakra-ui/react"
import error from "../assets/Error.svg"
// import robot from "../assets/404.png"
import robot from "../assets/robot.png"
import robot from "../assets/404.png"
// import robot from "../assets/robot.png"
const NotFound = () => {
return (
@@ -14,7 +14,7 @@ const NotFound = () => {
gap={8}
>
<Image src={robot} w={"171px"} />
{/* <Text color={'green.800'} as={'span'} fontSize={'small'}>The requested URL was not found on this server.</Text> */}
<Text color={'green.800'} as={'span'} fontSize={'small'}>The requested URL was not found on this server.</Text>
</Box>
)
}

View File

@@ -1,12 +1,22 @@
import { Box, Text } from "@chakra-ui/react";
import { OPACITY_ON_LOAD } from "../../Layout/animations";
import { Box, Image, Text } from "@chakra-ui/react"
// import error from "../assets/Error.svg"
import robot from "../../assets/robot.png"
// import robot from "../assets/robot.png"
const PendingRequest = () => {
return (
<Box {...OPACITY_ON_LOAD} overflowY={"scroll"} height={"100vh"}>
<Text as={"h1"}>Pending Request Page</Text>
<Box
h={'100vh'}
display={'flex'}
justifyContent={'center'}
alignItems={'center'}
flexDirection={'column'}
gap={8}
>
<Image src={robot} w={"171px"} />
{/* <Text color={'green.800'} as={'span'} fontSize={'small'}>The requested URL was not found on this server.</Text> */}
</Box>
);
};
)
}
export default PendingRequest;
export default PendingRequest

View File

@@ -1,12 +1,22 @@
import { Box, Text } from "@chakra-ui/react";
import { OPACITY_ON_LOAD } from "../../Layout/animations";
import { Box, Image, Text } from "@chakra-ui/react"
// import error from "../assets/Error.svg"
import robot from "../../assets/robot.png"
// import robot from "../assets/robot.png"
const ViewHistory = () => {
return (
<Box {...OPACITY_ON_LOAD} overflowY={"scroll"} height={"100vh"}>
<Text as={"h1"}>View History Page</Text>
<Box
h={'100vh'}
display={'flex'}
justifyContent={'center'}
alignItems={'center'}
flexDirection={'column'}
gap={8}
>
<Image src={robot} w={"171px"} />
{/* <Text color={'green.800'} as={'span'} fontSize={'small'}>The requested URL was not found on this server.</Text> */}
</Box>
);
};
)
}
export default ViewHistory;
export default ViewHistory

View File

@@ -4,7 +4,7 @@ import { RiBankLine, RiFileUserLine, RiMoneyDollarBoxLine } from "react-icons/ri
import { RiExchangeBoxLine } from "react-icons/ri";
import { VscGitPullRequestGoToChanges, VscSymbolClass } from "react-icons/vsc";
import { FiUsers } from "react-icons/fi";
import { PiCrown } from "react-icons/pi";
import { MdOutlineAddChart, MdOutlineAdminPanelSettings } from "react-icons/md";
import { HiOutlineChartSquareBar } from "react-icons/hi";
import { TbListDetails } from "react-icons/tb";
@@ -18,6 +18,8 @@ import { AiOutlineUserDelete } from "react-icons/ai";
import { MdNotificationsNone } from "react-icons/md";
import { SiAcademia } from "react-icons/si";
import { LuContact } from "react-icons/lu";
import { LiaCrownSolid } from "react-icons/lia";
import { PiCrownDuotone } from "react-icons/pi";
export const nav = [
{
@@ -51,12 +53,12 @@ export const nav = [
submenu: [
{
title: "Create IO",
path: "/create",
path: "/create-io",
icon: MdOutlineAddChart
},
{
title: "View IO",
path: "/view",
path: "/view-io",
icon: HiOutlineChartSquareBar
},
],
@@ -88,12 +90,12 @@ export const nav = [
submenu: [
{
title: "Pending Request",
path: "/pending-request",
path: "/withdraw-request",
icon: RiMoneyDollarBoxLine
},
{
title: "View History",
path: "/view-history",
path: "/withdraw-history",
icon: RiExchangeBoxLine
}
],
@@ -110,7 +112,7 @@ export const nav = [
},
{
title: "View History",
path: "/upgrade-history",
path: "/investor-history",
icon: RiExchangeBoxLine
}
],
@@ -141,14 +143,14 @@ export const nav = [
title: "Admin",
submenu: [
{
title: "Bank / Urban Investor",
title: "Ban / Unban Investor",
path: "/bank-investor",
icon: TbReportMoney
},
{
title: "Academy",
path: "/academy",
icon: SiAcademia
icon: GrManual
},
{
title: "Notification",

View File

@@ -7,9 +7,12 @@ import BankInvestor from "../Pages/Admin/BankInvestor";
import Contact from "../Pages/Admin/Contact";
import Notification from "../Pages/Admin/Notification";
import Users from "../Pages/Admin/Users";
import Create from "../Pages/IO_Management/Create";
import View from "../Pages/IO_Management/View";
import CreateIO from "../Pages/IO_Management/CreateIO";
import Create from "../Pages/IO_Management/CreateIO";
import ViewIO from "../Pages/IO_Management/ViewIO";
import View from "../Pages/IO_Management/ViewIO";
import InvestorPendingRequest from "../Pages/InvestorUpgrade/InvestorPendingRequest";
import UpgradeHistory from "../Pages/InvestorUpgrade/UpgradeHistory";
import upgradeHistory from "../Pages/InvestorUpgrade/UpgradeHistory";
import InvestorDetails from "../Pages/Investor_Management/InvestorDetails";
import InvestorTransactions from "../Pages/Investor_Management/InvestorTransactions";
@@ -29,19 +32,19 @@ export const RouteLink = [
{ path: "/investment-type", Component: InvestmentType },
// ===============[ IO Management]===============
{ path: "/create", Component: Create },
{ path: "/view", Component: View },
{ path: "/create-io", Component: CreateIO },
{ path: "/view-io", Component: ViewIO },
// ===============[ Investor Management]===============
{ path: "/investor-details", Component: InvestorDetails },
{ path: "/investor-transactions", Component: InvestorTransactions },
// ===============[ Withdrawal]===============
{ path: "/pending-request", Component: PendingRequest },
{ path: "/view-history", Component: ViewHistory },
{ path: "/withdraw-request", Component: PendingRequest },
{ path: "/withdraw-history", Component: ViewHistory },
// ===============[ Withdrawal]===============
{ path: "/upgrade-history", Component: upgradeHistory },
{ path: "/investor-history", Component: UpgradeHistory },
{ path: "/investor-request", Component: InvestorPendingRequest },
// ===============[ Deletion]===============

BIN
src/assets/shield.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB