- Portage des fonctionnalités de la branche main
- Ajout de node et npm dans la Dockerfile - Ajout des Factories et Fixtures - Ajout de npm-install dans Make install
This commit is contained in:
47
src/Controller/MenuController.php
Normal file
47
src/Controller/MenuController.php
Normal file
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
namespace App\Controller;
|
||||
|
||||
use App\Repository\MangaRepository;
|
||||
use App\Service\LelScansProviderService;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\String\Slugger\AsciiSlugger;
|
||||
|
||||
class MenuController extends AbstractController
|
||||
{
|
||||
private MangaRepository $mangaRepository;
|
||||
private LelScansProviderService $mangaProviderService;
|
||||
public function __construct(MangaRepository $mangaRepository, LelScansProviderService $mangaProviderService)
|
||||
{
|
||||
$this->mangaRepository = $mangaRepository;
|
||||
$this->mangaProviderService = $mangaProviderService;
|
||||
}
|
||||
|
||||
public function menu(): Response
|
||||
{
|
||||
$availableManga = $this->mangaProviderService->getMangaList();
|
||||
|
||||
foreach($availableManga as $key => $manga) {
|
||||
$availableManga[$key]['slug'] = $this->titleToSlug($manga['name']);
|
||||
}
|
||||
|
||||
$mangas = $this->mangaRepository->findAll();
|
||||
return $this->render('menu/menu.html.twig', [
|
||||
'availableManga' => $availableManga,
|
||||
'mangas' => $mangas,
|
||||
]);
|
||||
}
|
||||
|
||||
private function slugToTitle(string $slug): string
|
||||
{
|
||||
$slugger = new AsciiSlugger();
|
||||
return $slugger->slug($slug)->replace('-', ' ')->title(true)->toString();
|
||||
}
|
||||
|
||||
private function titleToSlug(string $title): string
|
||||
{
|
||||
$slugger = new AsciiSlugger();
|
||||
return $slugger->slug($title)->lower()->toString();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user