2025-01-10 21:33:20 +03:30
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Controller\Admin;
|
|
|
|
|
|
|
|
use EasyCorp\Bundle\EasyAdminBundle\Config\Dashboard;
|
|
|
|
use EasyCorp\Bundle\EasyAdminBundle\Config\MenuItem;
|
|
|
|
use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractDashboardController;
|
|
|
|
use Symfony\Component\HttpFoundation\Response;
|
|
|
|
use Symfony\Component\Routing\Attribute\Route;
|
2025-01-10 21:39:29 +03:30
|
|
|
use EasyCorp\Bundle\EasyAdminBundle\Dto\LocaleDto;
|
2025-01-10 21:33:20 +03:30
|
|
|
|
|
|
|
class DashboardController extends AbstractDashboardController
|
|
|
|
{
|
|
|
|
#[Route('/admin', name: 'admin')]
|
|
|
|
public function index(): Response
|
|
|
|
{
|
|
|
|
return parent::index();
|
|
|
|
|
|
|
|
// Option 1. You can make your dashboard redirect to some common page of your backend
|
|
|
|
//
|
|
|
|
// $adminUrlGenerator = $this->container->get(AdminUrlGenerator::class);
|
|
|
|
// return $this->redirect($adminUrlGenerator->setController(OneOfYourCrudController::class)->generateUrl());
|
|
|
|
|
|
|
|
// Option 2. You can make your dashboard redirect to different pages depending on the user
|
|
|
|
//
|
|
|
|
// if ('jane' === $this->getUser()->getUsername()) {
|
|
|
|
// return $this->redirect('...');
|
|
|
|
// }
|
|
|
|
|
|
|
|
// Option 3. You can render some custom template to display a proper dashboard with widgets, etc.
|
|
|
|
// (tip: it's easier if your template extends from @EasyAdmin/page/content.html.twig)
|
|
|
|
//
|
|
|
|
// return $this->render('some/path/my-dashboard.html.twig');
|
|
|
|
}
|
|
|
|
|
|
|
|
public function configureDashboard(): Dashboard
|
|
|
|
{
|
|
|
|
return Dashboard::new()
|
2025-01-10 21:39:29 +03:30
|
|
|
// the name visible to end users
|
|
|
|
->setTitle('ACME Corp.')
|
|
|
|
// you can include HTML contents too (e.g. to link to an image)
|
|
|
|
->setTitle('<img src="..."> ACME <span class="text-small">Corp.</span>')
|
|
|
|
|
|
|
|
// by default EasyAdmin displays a black square as its default favicon;
|
|
|
|
// use this method to display a custom favicon: the given path is passed
|
|
|
|
// "as is" to the Twig asset() function:
|
|
|
|
// <link rel="shortcut icon" href="{{ asset('...') }}">
|
|
|
|
->setFaviconPath('favicon.svg')
|
|
|
|
|
|
|
|
// the domain used by default is 'messages'
|
|
|
|
->setTranslationDomain('my-custom-domain')
|
|
|
|
|
|
|
|
// there's no need to define the "text direction" explicitly because
|
|
|
|
// its default value is inferred dynamically from the user locale
|
|
|
|
->setTextDirection('ltr')
|
|
|
|
|
|
|
|
// set this option if you prefer the page content to span the entire
|
|
|
|
// browser width, instead of the default design which sets a max width
|
|
|
|
->renderContentMaximized()
|
|
|
|
|
|
|
|
// set this option if you prefer the sidebar (which contains the main menu)
|
|
|
|
// to be displayed as a narrow column instead of the default expanded design
|
|
|
|
->renderSidebarMinimized()
|
|
|
|
|
|
|
|
// by default, users can select between a "light" and "dark" mode for the
|
|
|
|
// backend interface. Call this method if you prefer to disable the "dark"
|
|
|
|
// mode for any reason (e.g. if your interface customizations are not ready for it)
|
|
|
|
->disableDarkMode()
|
|
|
|
|
|
|
|
// by default, the UI color scheme is 'auto', which means that the backend
|
|
|
|
// will use the same mode (light/dark) as the operating system and will
|
|
|
|
// change in sync when the OS mode changes.
|
|
|
|
// Use this option to set which mode ('light', 'dark' or 'auto') will users see
|
|
|
|
// by default in the backend (users can change it via the color scheme selector)
|
|
|
|
->setDefaultColorScheme('dark')
|
|
|
|
// instead of magic strings, you can use constants as the value of
|
|
|
|
// this option: EasyCorp\Bundle\EasyAdminBundle\Config\Option\ColorScheme::DARK
|
|
|
|
|
|
|
|
// by default, all backend URLs are generated as absolute URLs. If you
|
|
|
|
// need to generate relative URLs instead, call this method
|
|
|
|
->generateRelativeUrls()
|
|
|
|
;
|
2025-01-10 21:33:20 +03:30
|
|
|
}
|
|
|
|
|
|
|
|
public function configureMenuItems(): iterable
|
|
|
|
{
|
|
|
|
yield MenuItem::linkToDashboard('Dashboard', 'fa fa-home');
|
|
|
|
// yield MenuItem::linkToCrud('The Label', 'fas fa-list', EntityClass::class);
|
|
|
|
}
|
|
|
|
}
|