import { Flex, IconButton, Button } from '@strapi/design-system'; import { ChevronLeft, ChevronRight, More } from '@strapi/icons'; import useFormattedLabel from '../../hooks/useFormattedLabel'; interface PaginationProps { page: number; maxPerPage: number; numberOfItems: number; setPage: (page: number) => void; } export function Pagination({ page, numberOfItems, setPage, maxPerPage }: PaginationProps) { const totalPages = Math.ceil(numberOfItems / maxPerPage) || 1; const handlePrevPage = () => { if (page === 1) return; setPage(page - 1); }; const handleNextPage = () => { if (page === totalPages) return; setPage(page + 1); }; const pagesArray = Array.from({ length: totalPages }, (_, i) => i + 1).map((item) => { return ( ); }) return ( { pagesArray.length > 5 ? ( <> {pagesArray.slice(0, 2)} {pagesArray.slice(-1)} ) : ( pagesArray ) } ); }