-
Notifications
You must be signed in to change notification settings - Fork 37
/
MenuSubComponent.jsx
44 lines (36 loc) · 1.28 KB
/
MenuSubComponent.jsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import React from 'react'
import classnames from 'classnames'
import PropTypes from 'prop-types'
import { translate } from 'react-i18next'
require('./MenuSubComponent.styl')
export const MenuSubComponent = props => {
const activeSubMenu = (props.menu.find(scm => scm.active) || { name: '' }).name
return (
<nav className='menusubcomponent navbar'>
<div className='menusubcomponent__header'>
<div className='menusubcomponent__menutitle primaryColorFontDarken'>Menu</div>
</div>
<ul className='menusubcomponent__list nav flex-column'>
{props.menu.map(menu =>
<li
className={classnames('menusubcomponent__list__item nav-item', { 'active primaryColorBgLighten': menu.name === activeSubMenu })}
data-cy={`menusubcomponent__list__${menu.name}`}
onClick={() => props.onClickMenuItem(menu.name)}
key={menu.name}
>
<div className='menusubcomponent__list__item__link nav-link'>{props.t(menu.label)}</div>
</li>
)}
</ul>
</nav>
)
}
export default translate()(MenuSubComponent)
MenuSubComponent.propTypes = {
menu: PropTypes.arrayOf(PropTypes.object),
onClickMenuItem: PropTypes.func
}
MenuSubComponent.defaultProps = {
menu: [],
onClickMenuItem: () => {}
}