piral-menu
Version:
Plugin for the integration of menu items in Piral.
18 lines • 838 B
JavaScript
import * as React from 'react';
import { useGlobalState } from 'piral-core';
import { PiralMenuContainer, PiralMenuItem } from './components';
export const Menu = ({ type = 'general' }) => {
const menuItems = useGlobalState((s) => s.registry.menuItems);
const renderItems = Object.keys(menuItems)
.filter((name) => menuItems[name].settings.type === type)
.map((name) => ({
name,
Component: menuItems[name].component,
meta: menuItems[name].settings,
}));
const children = renderItems.map(({ name, Component, meta }) => (React.createElement(PiralMenuItem, { key: name, type: type, meta: meta },
React.createElement(Component, null))));
return React.createElement(PiralMenuContainer, { type: type }, children);
};
Menu.displayName = 'Menu';
//# sourceMappingURL=Menu.js.map