From 47db50522856ed8531d195fa7c21daa25cd28983 Mon Sep 17 00:00:00 2001 From: Andrew Doering Date: Sun, 21 Dec 2025 17:21:02 -0600 Subject: [PATCH] feat: pagination improvements to maximize space utilization (#1165) * Minor improvements to pagination functions * Update pagination styles with enhanced UI/UX design - Implemented full-width layout with flexible page numbers - Added fixed-width arrow buttons for consistent navigation - Enhanced hover and active states for better user interaction - Improved responsive design with proper flex layout - Added comprehensive styling for disabled and ellipsis states * Simplify pagination logic and use SVG files to avoid repeated definition * Remove change to jsconfig.json * Remove comments and classes --------- Co-authored-by: delize <4028612+delize@users.noreply.github.com> Co-authored-by: Jimmy --- assets/icons/chevron-left.svg | 1 + assets/icons/chevron-right.svg | 1 + assets/icons/dots.svg | 1 + assets/scss/partials/pagination.scss | 47 +++++++++++--- layouts/partials/pagination.html | 94 ++++++++++++++++++++-------- 5 files changed, 110 insertions(+), 34 deletions(-) create mode 100644 assets/icons/chevron-left.svg create mode 100644 assets/icons/chevron-right.svg create mode 100644 assets/icons/dots.svg diff --git a/assets/icons/chevron-left.svg b/assets/icons/chevron-left.svg new file mode 100644 index 0000000..4480a0a --- /dev/null +++ b/assets/icons/chevron-left.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/chevron-right.svg b/assets/icons/chevron-right.svg new file mode 100644 index 0000000..2be2e9c --- /dev/null +++ b/assets/icons/chevron-right.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/dots.svg b/assets/icons/dots.svg new file mode 100644 index 0000000..0e7be05 --- /dev/null +++ b/assets/icons/dots.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/scss/partials/pagination.scss b/assets/scss/partials/pagination.scss index ca46780..32fc9bb 100644 --- a/assets/scss/partials/pagination.scss +++ b/assets/scss/partials/pagination.scss @@ -4,18 +4,47 @@ box-shadow: var(--shadow-l1); border-radius: var(--card-border-radius); overflow: hidden; - flex-wrap: wrap; .page-link { - padding: 16px 32px; - display: inline-flex; + padding: 16px 0; + margin: 0; + border-radius: 0; + display: flex; + align-items: center; + justify-content: center; + flex: 1 1 auto; + min-width: 48px; + color: var(--card-text-color-secondary); + text-decoration: none; - &.current { - font-weight: bold; - background-color: var(--card-background-selected); - color: var(--card-text-color-main); + &:first-child, + &:last-child { + flex: 0 0 48px; + padding: 16px; } - color: var(--card-text-color-secondary); + &:hover:not(.current):not(.disabled) { + background-color: var(--card-background-selected); + opacity: 0.8; + } + + &.current { + background-color: var(--card-background-selected); + color: var(--card-text-color-main); + font-weight: bold; + cursor: default; + } + + &.disabled { + opacity: 0.3; + cursor: not-allowed; + pointer-events: none; + color: var(--card-text-color-secondary); + } + + svg { + width: 20px; + height: 20px; + } } -} +} \ No newline at end of file diff --git a/layouts/partials/pagination.html b/layouts/partials/pagination.html index 7756050..a5abdb6 100644 --- a/layouts/partials/pagination.html +++ b/layouts/partials/pagination.html @@ -1,26 +1,70 @@ -{{ if gt .Paginator.TotalPages 1 }} - +{{- end -}} \ No newline at end of file