Menu component format

This commit is contained in:
tmshv committed 2019-10-14 18:18:45 +03:00
1 parent 34354e9577
commit 3f4ffdb93a
1 file changed
+36 -35
+36 -35
View File
@@ -6,51 +6,52 @@ const doDrawSubmenu = item => false //item.active && hasSubmenu(item)
const itemUrl = url => getPathWithNoTrailingSlas(url)
const selectedClassName = flag => flag
? 'selected'
: ''
? 'selected'
: ''
const hmenuCurClassName = flag => flag
? 'HMenu__item--cur'
: ''
? 'HMenu__item--cur'
: ''
const MenuItem = ({active, text, url}) => (active
? <span>{text}</span>
: <a href={itemUrl(url)}>{text}</a>
const MenuItem = ({ active, text, url }) => (active
? <span>{text}</span>
: <a href={itemUrl(url)}>{text}</a>
)
const MenuToggle = () => (
<div className="HMenu__toggle">
<a href="#"></a>
</div>
<div className="HMenu__toggle">
<a href="#"></a>
</div>
)
export const Menu = ({items}) => {
const content = items.map((item, index) => (
<li key={index}
className={`HMenu__item ${hmenuCurClassName(item.highlighted)} ${item.color} ${selectedClassName(item.highlighted)}`}
>
<MenuItem {...item}/>
export const Menu = ({ items }) => {
const content = items.map((item, index) => (
<li key={index}
className={`HMenu__item ${hmenuCurClassName(item.highlighted)} ${item.color} ${selectedClassName(item.highlighted)}`}
>
<MenuItem {...item} />
{!doDrawSubmenu(item) ? null : (
<Submenu key={index} items={item.items}/>
)}
</li>
))
return (
<menu className="main-menu HMenu" data-toggle-width="1024">
<MenuToggle/>
{!doDrawSubmenu(item) ? null : (
<Submenu key={index} items={item.items} />
)}
</li>
))
{content}
</menu>
)
return (
<menu className="main-menu HMenu" data-toggle-width="1024">
<MenuToggle />
{content}
</menu>
)
}
const Submenu = ({items}) => (
<menu className="main-menu__submenu">
{items.map((item, index) => (
<li key={index} className={`${item.color} ${selectedClassName(item.active)}`}>
<MenuItem {...item}/>
</li>
))}
</menu>
const Submenu = ({ items }) => (
<menu className="main-menu__submenu">
{items.map((item, index) => (
<li key={index} className={`${item.color} ${selectedClassName(item.active)}`}>
<MenuItem {...item} />
</li>
))}
</menu>
)