Rev 6753 | AutorÃa | Comparar con el anterior | Ultima modificación | Ver Log |
import React from 'react'import { axios } from '../../../../utils'import { Link } from 'react-router-dom'const LinkItem = ({ href, ajax, childs, icon, label }) => {const handleAjaxRequest = async (event, url) => {event.preventDefault()try {const { data } = await axios.get(url)if (data.success) window.open(data.data, '_backend')} catch (error) {console.log('>>: error > ', error)throw new Error(error)}}return (<><Linkto={`/${href}`}onClick={(e) => {if (ajax) {handleAjaxRequest(e, href)return}if (childs.length) {e.preventDefault()}}}>{icon}<p>{label}</p></Link>{Boolean(childs.length) && (<nav className="navLinkDropdown"><ul>{childs.map((child, _i) => (<li key={_i}><Linkto={`/${child.href}`}onClick={(e) => child.childs?.length && e.preventDefault()}>{child.label}{Boolean(child.childs?.length) && (<i className="fa fa-angle-right" />)}</Link>{Boolean(child.childs?.length) && (<nav className="navigation-level_three"><ul>{child.childs?.map((levelThree, index) => (<li key={index}><Link to={`/${levelThree.href}`}>{levelThree.label}</Link></li>))}</ul></nav>)}</li>))}</ul></nav>)}</>)}export default LinkItem