From 08b1676cdd6af9cf36344ec9f1deb66899ab5e17 Mon Sep 17 00:00:00 2001 From: Timon Jurschitsch <103483059+DerTimonius@users.noreply.github.com> Date: Mon, 16 Sep 2024 08:05:50 +0200 Subject: [PATCH] refactor: replace pagination logic with Astro built-in pagination (#376) --- src/components/Pagination.astro | 34 ++++++++++------------- src/layouts/Posts.astro | 20 +++++--------- src/layouts/TagPosts.astro | 22 +++++---------- src/pages/posts/[...page].astro | 15 ++++++++++ src/pages/posts/[page].astro | 15 ++++++++++ src/pages/posts/[slug]/index.astro | 22 ++------------- src/pages/posts/index.astro | 18 ------------ src/pages/tags/[tag]/[...page].astro | 29 ++++++++++++++++++++ src/pages/tags/[tag]/[page].astro | 41 +++++++++------------------- src/pages/tags/[tag]/index.astro | 32 ---------------------- src/utils/getPageNumbers.ts | 14 ---------- src/utils/getPagination.ts | 35 ------------------------ 12 files changed, 102 insertions(+), 195 deletions(-) create mode 100644 src/pages/posts/[...page].astro create mode 100644 src/pages/posts/[page].astro delete mode 100644 src/pages/posts/index.astro create mode 100644 src/pages/tags/[tag]/[...page].astro delete mode 100644 src/pages/tags/[tag]/index.astro delete mode 100644 src/utils/getPageNumbers.ts delete mode 100644 src/utils/getPagination.ts diff --git a/src/components/Pagination.astro b/src/components/Pagination.astro index 4cea6fc..282fb5c 100644 --- a/src/components/Pagination.astro +++ b/src/components/Pagination.astro @@ -1,49 +1,43 @@ --- +import type { Page } from "astro"; import LinkButton from "./LinkButton.astro"; +import type { CollectionEntry } from "astro:content"; export interface Props { - currentPage: number; - totalPages: number; - prevUrl: string; - nextUrl: string; + page: Page>; } -const { currentPage, totalPages, prevUrl, nextUrl } = Astro.props; - -const prev = currentPage > 1 ? "" : "disabled"; -const next = currentPage < totalPages ? "" : "disabled"; -const isPrevDisabled = prev === "disabled"; -const isNextDisabled = next === "disabled"; +const { page } = Astro.props; --- { - totalPages > 1 && ( + page.lastPage > 1 && (