fix: add pagination type

This commit is contained in:
kolaente 2025-11-22 12:45:14 +01:00
parent 6831f3c347
commit 21d9724572
1 changed files with 10 additions and 4 deletions

View File

@ -42,20 +42,26 @@
<script lang="ts" setup>
import {computed} from 'vue'
interface PaginationPage {
number: number
isEllipsis: boolean
}
const props = defineProps<{
totalPages: number,
currentPage: number
}>()
function createPagination(totalPages: number, currentPage: number) {
const pages = []
function createPagination(totalPages: number, currentPage: number): PaginationPage[] {
const pages: PaginationPage[] = []
for (let i = 0; i < totalPages; i++) {
if (
i > 0 &&
(i + 1) < totalPages &&
((i + 1) > currentPage + 1 || (i + 1) < currentPage - 1)
) {
if (pages[i - 1] && !pages[i - 1].isEllipsis) {
const prevPage = pages[i - 1]
if (prevPage && !prevPage.isEllipsis) {
pages.push({
number: 0,
isEllipsis: true,
@ -63,7 +69,7 @@ function createPagination(totalPages: number, currentPage: number) {
}
continue
}
pages.push({
number: i + 1,
isEllipsis: false,