Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev Autor Línea Nro. Línea
6632 stevensc 1
import React from 'react'
6797 stevensc 2
import { Link } from 'react-router-dom'
6632 stevensc 3
 
4
const ListItemDropdown = ({ options = [], isShow }) => {
5
  if (!options.length) return null
6
  return (
7
    <nav className={`nav__options-dropdown ${isShow && 'show'}`}>
8
      <ul>
9
        {options.map((linkOption, index) => (
10
          <li key={index}>
11
            {linkOption.childs?.length ? (
6797 stevensc 12
              <Link href="/" onClick={(e) => e.preventDefault()}>
6632 stevensc 13
                {linkOption.label}
6797 stevensc 14
              </Link>
6632 stevensc 15
            ) : (
6797 stevensc 16
              <Link
6632 stevensc 17
                href={
18
                  linkOption.href[0] === '/'
19
                    ? linkOption.href
20
                    : `/${linkOption.href}`
21
                }
22
              >
23
                {linkOption.label}
24
                {Boolean(linkOption.count) && (
25
                  <span
26
                    className="badge position-relative ml-2"
27
                    style={{ left: 'auto', transform: 'none' }}
28
                  >
29
                    {linkOption.count}
30
                  </span>
31
                )}
6797 stevensc 32
              </Link>
6632 stevensc 33
            )}
34
            {!!linkOption.childs?.length && (
35
              <nav className="navigation-level_three">
36
                <ul>
37
                  {linkOption.childs?.map((optionsChild, index) => (
38
                    <li key={index}>
6797 stevensc 39
                      <Link href={`/${optionsChild.href}`} target="framename">
6632 stevensc 40
                        {optionsChild.label}
6797 stevensc 41
                      </Link>
6632 stevensc 42
                    </li>
43
                  ))}
44
                </ul>
45
              </nav>
46
            )}
47
          </li>
48
        ))}
49
      </ul>
50
    </nav>
51
  )
52
}
53
 
54
export default ListItemDropdown