<?php
namespace App\Controller\Admin;
use App\Entity\Answer;
use App\Entity\Interest;
use App\Entity\Langue;
use App\Entity\Like;
use App\Entity\MatchProfile;
use App\Entity\Profile;
use App\Entity\ProfileTargetSetting;
use App\Entity\Question;
use App\Entity\Setting;
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
{
#[Route('/', 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(ProfileCrudController::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()
->setTitle('KWL');
}
public function configureMenuItems(): iterable
{
yield MenuItem::linkToDashboard('Dashboard', 'fa fa-home');
yield MenuItem::linkToCrud('Profiles', 'fas fa-list', Profile::class);
yield MenuItem::linkToCrud('MatchProfiles(Likes/Dislike)', 'fas fa-list', MatchProfile::class);
yield MenuItem::linkToCrud('Questions', 'fas fa-list', Question::class)->setController(ParentQuestionCrudController::class);
//yield MenuItem::linkToCrud('SubQuestions', 'fas fa-list', Question::class)->setController(QuestionCrudController::class);
yield MenuItem::linkToCrud('Intrests', 'fas fa-list', Interest::class);
yield MenuItem::linkToCrud('Langues', 'fas fa-list', Langue::class);
yield MenuItem::linkToCrud('Answers', 'fas fa-list', Answer::class);
yield MenuItem::linkToCrud('Settings Targets Profiles', 'fas fa-list', ProfileTargetSetting::class);
yield MenuItem::linkToCrud('Users', 'fas fa-list', User::class);
}
}