Rev 6695 | Rev 6728 | Ir a la última revisión | 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, img, 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)
}
}
return (
<>
<Link
to={`/${href}`}
onClick={(e) => {
if (ajax) {
handleAjaxRequest(e, href)
return
}
if (childs.length) {
e.preventDefault()
}
}}
>
<img src={img} className="img-icon lg" />
<p>{label}</p>
</Link>
{Boolean(childs.length) && (
<nav className="navLinkDropdown">
<ul>
{childs.map((child, _i) => (
<li key={_i}>
<Link
to={`/${child.href}`}
target="framename"
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