Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 8747 | Rev 8909 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

import React, { useState } from 'react'

const MenuItem = ({ item }) => {

    const [levelOneDisplay, setLevelOneDisplay] = useState(false)
    const [levelTwoDisplay, setLevelTwoDisplay] = useState(false)
    const path = window.location.pathname

    return (
        <li className={(path.includes(item.route) || levelOneDisplay) ? "nav-item menu-is-opening menu-open" : "nav-item"}>
            {
                item.pages
                    ?
                    <a
                        href='#'
                        className="nav-link"
                        onClick={() => setLevelOneDisplay(!levelOneDisplay)}
                    >
                        <i className={`nav-icon ${item.class}`}></i>
                        <p>{item.label}</p>
                        <i className="fa fa-angle-left menu_dropdown-arrow"></i>
                    </a>
                    :
                    <a href={`/${item.route}`} className="nav-link">
                        <i className={`nav-icon ${item.class}`}></i>
                        <p>{item.label}</p>
                    </a>
            }
            {
                item.pages
                &&
                <ul className="nav nav-treeview">
                    {
                        item.pages.map((levelTwo) =>
                            <li className={(path.includes(item.route) || levelTwoDisplay) ? "nav-item menu-is-opening menu-open" : "nav-item"}>
                                {
                                    levelTwo.pages
                                        ?
                                        <a
                                            href='#'
                                            className="nav-link"
                                            onClick={() => setLevelTwoDisplay(!levelTwoDisplay)}
                                        >
                                            <i className="fa fa-circle nav-icon"></i>
                                            <p>{levelTwo.label}</p>
                                            <i className="fa fa-angle-left menu_dropdown-arrow"></i>
                                        </a>
                                        :
                                        <a href={`/${levelTwo.route}`} className="nav-link">
                                            <i className="fa fa-circle nav-icon"></i>
                                            <p>{levelTwo.label}</p>
                                        </a>

                                }
                                {
                                    levelTwo.pages
                                    &&
                                    <ul className="nav nav-treeview">
                                        {
                                            levelTwo.pages.map((levelThree) =>
                                                <li className={`nav-item`}>
                                                    <a href={`/${levelThree.route}`} className="nav-link">
                                                        <i className="fa fa-circle-o nav-icon"></i>
                                                        <p>{levelThree.label}</p>
                                                    </a>
                                                </li>)
                                        }
                                    </ul>
                                }
                            </li>)
                    }
                </ul>
            }
        </li>
    )
}

export default MenuItem