From d797ff933bfa403b3da566e58038171db07bb00f Mon Sep 17 00:00:00 2001 From: AnthonyAxenov Date: Sat, 3 Sep 2022 16:13:03 +0800 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B0=D0=B3=D0=B8=D0=BD=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/Controllers/HomeController.php | 15 ++++++++++++--- src/app/Core/Bootstrapper.php | 4 ++++ src/views/list.twig | 17 +++++++++++++++++ 3 files changed, 33 insertions(+), 3 deletions(-) diff --git a/src/app/Controllers/HomeController.php b/src/app/Controllers/HomeController.php index c397f83..4ff37e0 100644 --- a/src/app/Controllers/HomeController.php +++ b/src/app/Controllers/HomeController.php @@ -21,17 +21,26 @@ class HomeController extends Controller /** * @throws Exception */ - public function index() + public function index(int $page = 1) { if (Flight::request()->query->count() > 0) { $id = Flight::request()->query->keys()[0]; - Flight::redirect(base_url("$id")); + Flight::redirect(base_url($id)); die; } + $per_page = 10; + $list = $this->ini->playlists + ->where('redirect_id', null) + // ->sortBy('id') + ->forPage($page, $per_page); view('list', [ 'updated_at' => $this->ini->updatedAt(), 'count' => $this->ini->playlists->count(), - 'playlists' => $this->ini->playlists->where('redirect_id', null)->toArray(), + 'pages' => [ + 'count' => (int)($this->ini->playlists->count() / $per_page), + 'current' => $page, + ], + 'playlists' => $list->toArray(), ]); } diff --git a/src/app/Core/Bootstrapper.php b/src/app/Core/Bootstrapper.php index 5e2db9c..00b0176 100644 --- a/src/app/Core/Bootstrapper.php +++ b/src/app/Core/Bootstrapper.php @@ -53,6 +53,10 @@ final class Bootstrapper 'GET /', fn() => (new HomeController())->index() ); + Flight::route( + 'GET /page/@page:[0-9]+', + fn($page) => (new HomeController())->index((int)$page) + ); Flight::route( 'GET /faq', fn() => (new HomeController())->faq() diff --git a/src/views/list.twig b/src/views/list.twig index f7b0394..670cdcb 100644 --- a/src/views/list.twig +++ b/src/views/list.twig @@ -54,6 +54,23 @@ {% endfor %} + {% if pages.count > 0 %} + + {% endif %} {% endblock %} {% block footer %}