<?php
namespace App\Controller\Admin;
use App\Entity\ActivityConfig;
use App\Entity\BetConfig;
use App\Entity\Config;
use App\Entity\Contest;
use App\Entity\Game;
use App\Entity\Player;
use App\Entity\PrizeBundle;
use App\Entity\PsRequest;
use App\Entity\ShopItem;
use App\Entity\Tournament;
use App\Entity\User;
use EasyCorp\Bundle\EasyAdminBundle\Config\Dashboard;
use EasyCorp\Bundle\EasyAdminBundle\Config\MenuItem;
use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractDashboardController;
use EasyCorp\Bundle\EasyAdminBundle\Router\AdminUrlGenerator;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class DashboardController extends AbstractDashboardController
{
public function __construct(private AdminUrlGenerator $adminUrlGenerator)
{
}
#[Route(name: 'admin', host: '%app.admin_domain%')]
public function index(): Response
{
return $this->redirect($this->adminUrlGenerator
->setController(ContestCrudController::class)
->generateUrl()
);
}
public function configureDashboard(): Dashboard
{
return Dashboard::new()
->setTitle('<img src="/assets/img/logo.png" style="height: 50px;"> Backoffice')
;
}
public function configureMenuItems(): iterable
{
yield MenuItem::linkToDashboard('Dashboard', 'fa fa-home');
yield MenuItem::linkToCrud('Tournois', 'fas fa-trophy', Tournament::class);
yield MenuItem::linkToCrud('Matchs', 'fas fa-futbol', Contest::class);
yield MenuItem::linkToCrud('Jeux', 'fas fa-gamepad', Game::class);
yield MenuItem::linkToCrud('Joueurs', 'fas fa-headset', Player::class);
yield MenuItem::linkToCrud('Utilisateurs', 'fas fa-user', User::class);
yield MenuItem::linkToCrud('Demandes de reversion', 'fas fa-money-check', PsRequest::class);
yield MenuItem::linkToCrud('Boutique', 'fas fa-shopping-cart', ShopItem::class);
yield MenuItem::linkToRoute('Statistiques', 'fas fa-chart-line', 'admin.show_stats');
yield MenuItem::section('Configuration', 'fas fa-cog');
yield MenuItem::linkToCrud('Config. globale', 'fa fa-sliders', Config::class);
yield MenuItem::linkToCrud('Jauge d\'activité', 'fas fa-chart-line', ActivityConfig::class);
yield MenuItem::linkToCrud('Mises & gains', 'fas fa-exchange-alt', BetConfig::class);
yield MenuItem::linkToCrud('Gains des tournois', 'fas fa-coins', PrizeBundle::class);
}
}