import { Link } from '@inertiajs/react'; type PaginationProps = { currentPage: number; lastPage: number; routeName: string; perPage?: number; }; function buildPages(currentPage: number, lastPage: number) { const delta = 2; const start = Math.max(1, currentPage - delta); const end = Math.min(lastPage, currentPage + delta); const pages: number[] = []; for (let p = start; p <= end; p++) { pages.push(p); } return pages; } export default function Pagination({ currentPage, lastPage, routeName, perPage }: PaginationProps) { if (lastPage <= 1) return null; const pages = buildPages(currentPage, lastPage); const prevPage = currentPage > 1 ? currentPage - 1 : null; const nextPage = currentPage < lastPage ? currentPage + 1 : null; const makeHref = (page: number) => route(routeName, { ...(perPage ? { per_page: perPage } : {}), page, }); return ( ); }