import React, { useContext, useState } from "react"; import logo from "../assets/logo2.png"; 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, TbListDetails, TbReportMoney, TbTransactionDollar, } from "react-icons/tb"; import { TbArrowBadgeRightFilled } from "react-icons/tb"; import { ArrowBackIcon, ArrowLeftIcon, ArrowRightIcon } from "@chakra-ui/icons"; import { Link, NavLink, Route, Routes, useLocation, useNavigate, } from "react-router-dom"; import { RouteLink } from "../Routes/Routes"; import NotFound from "../Pages/NotFound"; import { nav } from "../Routes/Nav"; import { Avatar, Box, Button, PopoverArrow, PopoverBody, PopoverCloseButton, PopoverContent, PopoverFooter, PopoverHeader, PopoverTrigger, Portal, Text, WrapItem, Popover, Tag, Accordion, AccordionItem, 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 { 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(); const dispach = useDispatch(); const location = useLocation(); const path = location.pathname; const [isDrawerOpen, setIsDrawerOpen] = useState(false); const [openDrawerClick, setOpenDrawerClick] = useState(true); const { setIsAuthenticate } = useContext(GlobalStateContext); const [slideFromRight, setSlideFormRight] = useState(false); const openDrawerOnClick = () => { setOpenDrawerClick(!openDrawerClick); }; const logOutHandler = () => { // dispach(loginUser(false)); setIsAuthenticate(false); Cookies.remove("isAuthenticated"); navigate("/login"); }; // // Function to get the title based on the route const getTitle = () => { switch (path) { case "/": return "👋🏻 Hi, Admin"; case "/sponser": case "/sponser/add-sponser": return ( Sponser ); case "/investment-type": return ( Investment Type ); case "/exchange-rate": return ( Echange rate ); case "/create-io": return ( Create IO ); case "/view-io": return ( View IO ); case "/investor-details": return ( Investor Details ); case "/investor-transactions": return ( Investor Transactions ); case "/withdraw-request": return ( Withdrawal pending request ); case "/withdraw-history": return ( Withdrawal request ); case "/investor-request": return ( Investor pending request ); case "/investor-history": return ( Investor request ); case "/deletion-request": return ( Deletion pending request ); case "/deletion-history": return ( Deletion request ); case "/bank-investor": return ( Ban / Unban Investor ); case "/academy": return ( Academy ); case "/notification": return ( Notification ); case "/contact": return ( Contact Details ); case "/users": return ( Users ); case "/bank-details": return ( Bank Details ); case "/deletion-request": return ( Deletion pending request ); case "/deletion-history": return ( Deletion request ); case "/deletion-request": return ( Deletion pending request ); case "/deletion-history": return ( Deletion request ); default: if (path.startsWith("/community/view/")) { return ( Community ); } else if (path.startsWith("/community/edit/")) { return ( Community ); } return "Tanami"; } }; return ( setSlideFormRight(!slideFromRight)} _hover={{ opacity: 1, }} zIndex={999} > {slideFromRight ? null : ( )} {/* {getTitle()} */} {/* =======[ Left ]============ */} {slideFromRight ? ( ) : null} ); }; export default DashboardLayout; const AppContent = () => { return ( {RouteLink.map(({ path, Component }, index) => ( } /> ))} } /> ); };