import { useEffect, useState } from "react"; import {Link, useLocation} from 'react-router-dom' import RouteLinks from "../../../RouteLinks"; import DummyLogo from "../../DummyLogo"; import MainBtn from "../../MainBtn"; import AsideLink from "./AsideLink"; import AsideLinkWithSubLinks from "./AsideLinkWithSubLinks"; import { useSelector } from "react-redux"; import { GeneralLayoutContext } from "../../../context/GeneralLayoutContext"; import { TbLogout2 } from "react-icons/tb"; export default function DashboardAside({shrinkAside=false}) { const {pathname} = useLocation() const {setLogoutModal} = GeneralLayoutContext() const {userDetails} = useSelector((state) => state.userDetails) // GETS LOGGED IN USER ROLE DETAILS const {role}= userDetails // const [hideSubMenu, setHideSubMenu] = useState('') // const handleHideSubMenu = (name) => { // // e.stopPropagation() // setHideSubMenu((prev) => { // if(prev == name){ // return '' // }else{ // return name // } // }) // } return (

{asideNavLinks.map((link, index) => { let active = link.status == 1 ? true : false let hasSubLinks = (link.subLinks && link.subLinks.length > 0) ? true : false if(active && !hasSubLinks){ return (
) } if(active && hasSubLinks){ // let subLinkList = link.subLinks.filter(value => value.to).map(item => { //any of all open // if(item.to){ // return item.to // } // }) let subLinkList = [] link.subLinks.forEach(item =>{ if(item.to){ subLinkList.push(item.to) }else if(item.subLinks?.length > 0){ item.subLinks.forEach(item => { subLinkList.push(item.to) }) } }) // console.log('subLinkList', subLinkList) return (
{link.title &&

{link.title}

} <> {link.subLinks.map((subItem, index)=>{ let active = subItem.status == 1 ? true : false let hasSubLinks = (subItem.subLinks && subItem.subLinks.length > 0) ? true : false if(active && !hasSubLinks){ return (
) }else if(active && hasSubLinks){ let subLinkList = subItem.subLinks.filter(value => value.to).map(item => { // specific open if(item.to){ return item.to } }) return( <> {subItem.subLinks.map((item, index)=>{ let active = item.status == 1 ? true : false if(active){ return (
) } })}
) }else{ return null } })}
) } })}
setLogoutModal(true)} >
) } const asideNavLinks = [ {name:'Dashboard', status:1, icon: 'dashboard', to: RouteLinks.homePage}, {name:'Salary Loan', title:'Loan', status:1, icon: 'money', subLinks: [ {name: 'Selected Loans', status:1, icon: 'dot', to: RouteLinks.selectedLoanPage}, {name: 'Applications', status:1, icon: 'dot', to: RouteLinks.applicationsLoanPage}, {name: 'Approved Loans', status:1, icon: 'dot', to: RouteLinks.approvedLoansPage}, {name: 'Disbursements', status:1, icon: 'dot', to: RouteLinks.disbursementsLoanPage}, {name: 'Payments', status:1, icon: 'dot', to: ''}, {name: 'Configurations', status:1, icon: 'dot', subLinks: [ {name: 'Loan Offers', status:1, icon: 'dot', to: RouteLinks.loanOffersPage }, ] }, ], }, // {name:'Product 2', title:'Product 2', status:1, icon: 'product', subLinks: [ // {name: 'Applications', status:1, icon: 'dot', to: ''}, // ] // }, // {name:'Product 3', title:'Product 3', status:1, icon: 'product', subLinks: [ // {name: 'Applications', status:1, icon: 'dot', to: ''}, // {name: 'Configuration', status:1, icon: 'dot', to: ''}, // ] // }, // {name:'Administration', title:'Admin', status:1, icon: 'people', subLinks: [ // {name: 'Users', status:1, icon: 'dot', to: RouteLinks.usersPage}, // ] // }, ]