<?php
namespace App\Menu;
use App\Repository\Popup\PopupRepository;
use Sylius\Bundle\UiBundle\Menu\Event\MenuBuilderEvent;
final class AdminMenuListener
{
private PopupRepository $popupRepository;
public function __construct(PopupRepository $popupRepository)
{
$this->popupRepository = $popupRepository;
}
public function addAdminMenuItems(MenuBuilderEvent $event): void
{
$menu = $event->getMenu();
// CMS
$cms_menu = $menu->getChild('bitbag_cms');
$cms_menu->addChild('partners', [
'route' => 'app_admin_partner_index'
])->setLabel('app.menu.admin.partners')->setLabelAttribute('icon', 'users');
$cms_menu->addChild('popup', [
'route' => 'app_admin_popup_index',
])->setLabel('app.menu.admin.popups')->setLabelAttribute('icon', 'window restore');
$cms_menu->reorderChildren(['partners', 'blocks', 'media', 'pages', 'faq', 'sections', 'popup']);
// Marketing
$marketingMenu = $menu->getChild('marketing');
$marketingMenu->addChild('site_review', [
'route' => 'app_admin_site_review_index'
])->setLabel('Avis site')->setLabelAttribute('icon', 'newspaper');
$marketingMenu->removeChild('product_reviews');
// Sales
$salesMenu = $menu->getChild('sales');
$salesMenu->addChild('contact_request', [
'route' => 'app_admin_contact_request_index'
])->setLabel('app.menu.admin.contact_request')->setLabelAttribute('icon', 'users');
$salesMenu->reorderChildren(['orders', 'contact_request', 'payments', 'shipments']);
// Catalog
$catalogMenu = $menu->getChild('catalog');
$catalogMenu->addChild('free_option', [
'route' => 'app_admin_free_option_index'
])->setLabel('app.menu.admin.free_options')->setLabelAttribute('icon', 'server');
$catalogMenu->addChild('free_option_category', [
'route' => 'app_admin_free_option_category_index'
])->setLabel('app.menu.admin.free_option_categories')->setLabelAttribute('icon', 'folder');
}
}