Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 4738 | Rev 4741 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
4243 stevensc 1
/* eslint-disable react/prop-types */
2
import React from 'react'
4247 stevensc 3
import './HeaderOptions.scss'
4432 stevensc 4
import './Dropdowns.scss'
4243 stevensc 5
 
4427 stevensc 6
const HeaderOptions = ({ Icon, title, url, childs = [] }) => {
4243 stevensc 7
 
8
    return (
4248 stevensc 9
        <li>
4739 stevensc 10
            <a href={url} className="header__option" onClick={(e) => childs.length && e.preventDefault()}>
4243 stevensc 11
                {Icon && <Icon className="header__option-icon" />}
4253 stevensc 12
                <span>{title}</span>
4243 stevensc 13
            </a>
4427 stevensc 14
            {!!childs.length &&
4430 stevensc 15
                <nav className='nav__options-dropdown'>
4427 stevensc 16
                    <ul>{childs.map((linkOption, index) =>
17
                        <li key={index}>
4449 stevensc 18
                            {linkOption.childs?.length
4427 stevensc 19
                                ? <a href='/' onClick={(e) => e.preventDefault()}>{linkOption.label}</a>
20
                                : <a href={linkOption.href}>{linkOption.label}</a>
21
                            }
4448 stevensc 22
                            {!!linkOption.childs?.length &&
4427 stevensc 23
                                <nav className='navLinkLevelThree'>
24
                                    <ul>
25
                                        {linkOption.childs?.map((optionsChild, index) =>
26
                                            <li key={index}>
27
                                                <a href={optionsChild.href}>{optionsChild.label}</a>
28
                                            </li>
29
                                        )}
30
                                    </ul>
31
                                </nav>
32
                            }
33
                        </li>
34
                    )}
35
                    </ul>
36
                </nav>
37
            }
4247 stevensc 38
        </li>
4243 stevensc 39
    )
40
}
41
 
42
export default HeaderOptions