import { Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, } from "@/components/ui/pagination"; export function PaginationControl(props: { totalPage: number; currentPage: number; }) { let startPage = Math.max(props.currentPage - 2, 1); let endPage = Math.min(startPage + 3, props.totalPage); if (props.currentPage <= 2) { endPage = Math.min(4, props.totalPage); } if (props.currentPage > props.totalPage - 2) { startPage = Math.max(props.totalPage - 3, 1); } const pageNumbers = Array.from( { length: endPage - startPage + 1 }, (_, i) => startPage + i ); return ( 1 ? `?page=${props.currentPage - 1}` : `?page=${props.currentPage}` } /> {pageNumbers.map((page) => ( {page} ))} ); }