import React from 'react' import { useState, useEffect } from 'react' import { Link, useLocation } from 'react-router-dom' import "./Estilo/Toggle.css" const ToggleSidebar = ({ perfil, items, defaultOpen = false }) => { const [isOpen, setOpen] = useState(defaultOpen) const [openSubmenu, setOpenSubmenu] = useState(null) const [activeLink, setActiveLink] = useState('') const location = useLocation() useEffect(() => { const currentPath = location.pathname setActiveLink(currentPath) const findActiveSubmenu = () => { for (let item of items) { if (item.submenu) { const activeSubItem = item.submenu.find(subItem => subItem.url === currentPath ) if (activeSubItem) { setOpenSubmenu(item.key) return } } else if (item.url === currentPath) { setActiveLink(currentPath) } } } findActiveSubmenu() }, [location.pathname, items]) const OpenClose = () => { setOpen(!isOpen) } const handleSubmenuClick = (key) => { setOpenSubmenu(openSubmenu === key ? null : key) } const isLinkActive = (url) => { return activeLink === url } const renderLink = (item, isSubmenu = false) => { const isActive = isLinkActive(item.url) const linkClass = `sidebar-link ${isActive ? 'active' : ''} ${isSubmenu ? 'submenu-link' : ''}` if (item.url && item.url.startsWith("/")) { return ( !isSubmenu && setActiveLink(item.url)} > {item.icon && } {item.name} {isActive &&
} ) } return ( {item.icon && } {item.name} ) } return ({perfil}
{isOpen ? : }