- toolbar refactor
This commit is contained in:
2024-06-29 18:13:43 +02:00
parent 858a5bed06
commit b4f0811bca
20 changed files with 432 additions and 193 deletions

View File

@@ -33,7 +33,7 @@ class ImportController extends AbstractController
}
#[Route('/import', name: 'app_import')]
#[Route('/manga/import', name: 'app_manga_import')]
public function index(Request $request, SessionInterface $session): Response
{
if ($request->isMethod('post')) {
@@ -73,7 +73,7 @@ class ImportController extends AbstractController
$filePath = $session->get('import_file_path');
$originalFileName = $session->get('import_original_file_name');
if (!$filePath || !$originalFileName) {
return $this->redirectToRoute('app_import');
return $this->redirectToRoute('app_manga_import');
}
$metadata = $this->cbzService->extractMetadata($filePath, $originalFileName);
@@ -82,7 +82,7 @@ class ImportController extends AbstractController
'type' => 'error',
'message' => 'Impossible de détecter le titre du manga.'
]);
return $this->redirectToRoute('app_import');
return $this->redirectToRoute('app_manga_import');
}
$mangas = $this->mangaRepository->findBySlug($metadata['title']);
@@ -130,7 +130,7 @@ class ImportController extends AbstractController
public function confirm(Request $request, SessionInterface $session): Response
{
if (!$request->isMethod('POST')) {
return $this->redirectToRoute('app_import');
return $this->redirectToRoute('app_manga_import');
}
$action = $request->request->get('action');
@@ -145,7 +145,7 @@ class ImportController extends AbstractController
'type' => 'error',
'message' => 'Manga non trouvé.'
]);
return $this->redirectToRoute('app_import');
return $this->redirectToRoute('app_manga_import');
}
$filePath = $session->get('import_file_path');
@@ -154,7 +154,7 @@ class ImportController extends AbstractController
'type' => 'error',
'message' => 'Fichier d\'import non trouvé.'
]);
return $this->redirectToRoute('app_import');
return $this->redirectToRoute('app_manga_import');
}
$originalFileName = $session->get('import_original_file_name');
@@ -192,6 +192,6 @@ class ImportController extends AbstractController
]);
}
return $this->redirectToRoute('app_import');
return $this->redirectToRoute('app_manga_import');
}
}

View File

@@ -4,6 +4,7 @@ namespace App\Controller;
use App\Entity\Chapter;
use App\Entity\Manga;
use App\Manager\Toolbar\Factory\ToolbarFactory;
use App\Manager\ToolbarManager;
use App\Message\DownloadChapter;
use App\Repository\ChapterRepository;
@@ -36,7 +37,7 @@ class MangaController extends AbstractController
private readonly MangaUpdatesMetadataProvider $mangaUpdatesDbProvider,
private readonly MessageBusInterface $bus,
private readonly CbzService $cbzService,
private readonly ToolbarManager $toolbarManager
private readonly ToolbarFactory $toolbarFactory
)
{
}
@@ -46,12 +47,16 @@ class MangaController extends AbstractController
{
$sort = $request->query->get('sort', 'title');
$order = $request->query->get('order', 'asc');
$status = $request->query->get('status', 'all');
$view = $request->query->get('view', 'poster');
$mangas = $this->mangaRepository->findAllSorted($sort, $order);
$mangas = $this->mangaRepository->findAllSortedAndFiltered($sort, $order, $status);
return $this->render('manga/index.html.twig', [
'mangas' => $mangas,
'toolbarItems' => $this->toolbarManager->getToolbarItems(),
'toolbar' => $this->toolbarFactory->createToolbar('manga_list')->getGroups(),
'currentStatus' => $status,
'currentView' => $view,
]);
}
@@ -94,7 +99,7 @@ class MangaController extends AbstractController
return $this->render('manga/show_chapters.html.twig', [
'chapters_by_volume' => $chaptersByVolume,
'manga' => $manga,
'toolbarItems' => $this->toolbarManager->getToolbarItems(),
'toolbar' => $this->toolbarFactory->createToolbar('chapter_list')->getGroups(),
]);
}