36 lines
1013 B
JavaScript
36 lines
1013 B
JavaScript
import { h } from 'preact';
|
|
import { Link } from 'preact-router';
|
|
import { useContext } from 'preact/hooks';
|
|
import AppState from '../../store/AppState';
|
|
function Menu({items}) {
|
|
let [ menu_shown, toggle_menu ] = useContext(AppState).menu;
|
|
let menu_items = [
|
|
{ text: "Übersicht", path: "/" },
|
|
{ text: "Benutzer", path: "/users" },
|
|
{ text: "System", path: "/system" },
|
|
{ text: "Backup", path: "/backup" },
|
|
{ text: "Abmelden", path: "/logout" }
|
|
]
|
|
|
|
|
|
const onClick = (e) => {
|
|
e.preventDefault();
|
|
toggle_menu('hide');
|
|
}
|
|
|
|
if (items)
|
|
menu_items = items;
|
|
if (menu_shown)
|
|
return (
|
|
<div class="container" >
|
|
<nav className='menu' >
|
|
<ul>
|
|
{menu_items.map((element, i) => (<li key={i}><Link href={element.path} onClick={onClick} >{element.text}</Link></li>))}
|
|
</ul>
|
|
</nav>
|
|
|
|
</div>)
|
|
|
|
}
|
|
|
|
export default Menu; |