<?php
declare(strict_types=1);
namespace App\Menu;
use Sylius\Bundle\ApiBundle\Context\UserContextInterface;
use Sylius\Bundle\UiBundle\Menu\Event\MenuBuilderEvent;
use Symfony\Component\Security\Core\Security;
final class ContentManagementMenuBuilder
{
public function __construct(private Security $security) {}
public function buildMenu(MenuBuilderEvent $menuBuilderEvent): void
{
if (in_array('ROLE_SUPERADMIN', $this->security->getUser()->getRoles())) {
$menu = $menuBuilderEvent->getMenu();
$cmsRootMenuItem = $menu
->addChild('bitbag_cms')
->setLabel('bitbag_sylius_cms_plugin.ui.cms');
$cmsRootMenuItem
->addChild('blocks', [
'route' => 'bitbag_sylius_cms_plugin_admin_block_index',
])
->setLabel('bitbag_sylius_cms_plugin.ui.blocks')
->setLabelAttribute('icon', 'block layout');
$cmsRootMenuItem
->addChild('media', [
'route' => 'bitbag_sylius_cms_plugin_admin_media_index',
])
->setLabel('bitbag_sylius_cms_plugin.ui.media')
->setLabelAttribute('icon', 'file');
$cmsRootMenuItem
->addChild('pages', [
'route' => 'bitbag_sylius_cms_plugin_admin_page_index',
])
->setLabel('bitbag_sylius_cms_plugin.ui.pages')
->setLabelAttribute('icon', 'sticky note');
$cmsRootMenuItem
->addChild('faq', [
'route' => 'bitbag_sylius_cms_plugin_admin_frequently_asked_question_index',
])
->setLabel('bitbag_sylius_cms_plugin.ui.faq')
->setLabelAttribute('icon', 'help');
$cmsRootMenuItem
->addChild('sections', [
'route' => 'bitbag_sylius_cms_plugin_admin_section_index',
])
->setLabel('bitbag_sylius_cms_plugin.ui.sections')
->setLabelAttribute('icon', 'grid layout');
}
}
}