From a675bd1d9ef8894b9469cfc266e3fed9f99ffd26 Mon Sep 17 00:00:00 2001 From: Harkamal Randhawa Date: Wed, 15 Apr 2026 22:30:30 -0600 Subject: [PATCH] fix nav and pagination --- web/app/adopt/page.js | 35 +++++++++++++++++++++++++++++++---- web/app/globals.css | 19 +++++++++++++------ 2 files changed, 44 insertions(+), 10 deletions(-) diff --git a/web/app/adopt/page.js b/web/app/adopt/page.js index 6c2b41aa..3a17654e 100644 --- a/web/app/adopt/page.js +++ b/web/app/adopt/page.js @@ -74,7 +74,7 @@ export default function AdoptPage() { [pets] ); - const ITEMS_PER_PAGE = 20; + const ITEMS_PER_PAGE = 24; const [currentPage, setCurrentPage] = useState(0); const filteredPets = useMemo( @@ -192,15 +192,42 @@ export default function AdoptPage() {
- Page {currentPage + 1} of {totalPages} + {(() => { + const pages = []; + const delta = 2; + const left = Math.max(0, currentPage - delta); + const right = Math.min(totalPages - 1, currentPage + delta); + if (left > 0) { + pages.push(0); + if (left > 1) pages.push("..."); + } + for (let i = left; i <= right; i++) pages.push(i); + if (right < totalPages - 1) { + if (right < totalPages - 2) pages.push("..."); + pages.push(totalPages - 1); + } + return pages.map((p, i) => + p === "..." ? ( + + ) : ( + + ) + ); + })()}