diff --git a/src/components/Estilo/Toggle.css b/src/components/Estilo/Toggle.css new file mode 100644 index 00000000..53827c61 --- /dev/null +++ b/src/components/Estilo/Toggle.css @@ -0,0 +1,9 @@ +.toggle-title{ + color:#25396f; + font-weight: 1000; + font-size: 20px; +} + +.container-title{ + display: flex; +} \ No newline at end of file diff --git a/src/components/ToggleSidebar.jsx b/src/components/ToggleSidebar.jsx new file mode 100644 index 00000000..fc8e1038 --- /dev/null +++ b/src/components/ToggleSidebar.jsx @@ -0,0 +1,104 @@ +import React from 'react' +import {useState} from 'react' +import { Link } from 'react-router-dom' +import "./Estilo/Toggle.css" + +const ToggleSidebar = ({perfil, items}) => { + const [isOpen, setOpen] = useState(false) + + const [openSubmenu, setOpenSubmenu] = useState(null); + + console.log(items) + + const renderLink = (item) => { + if (item.url && item.url.startsWith("/")) { + return ( + + {item.icon && } + {item.name} + + ); + } + return ( + + {item.icon && } + {item.name} + + ); + }; + + const OpenClose = () => { + if(isOpen){ + setOpen(false) + }else if(!isOpen){ + setOpen(true) + } + } + + return ( +
+
+

OpenClose()} className='toggle-title' > {perfil}

+ + {isOpen ? : } +
+ {isOpen && +
+ {items.map((item, index) => { + + if (item.isTitle) + return ( +
  • + {null} +
  • + ); + + if (item.submenu) + return ( +
  • + +
      + {item.submenu.map((subItem, subIndex) => ( +
    • + {renderLink(subItem)} +
    • + ))} +
    +
  • + ); + + return ( +
  • + {renderLink(item)} +
  • + ); + +})} + + +
    + + + + } +
    + ) +} + +export default ToggleSidebar \ No newline at end of file