import Link from 'next/link' const Paginator: React.FC = ({ currentPage, totalPage, pathname, searchParams, }) => { let pages = [] if (currentPage < 4) pages = [ 1, totalPage < 2 ? null : 2, totalPage < 3 ? null : 3, totalPage < 4 ? null : 4, totalPage < 5 ? null : 5, ] else if (currentPage > totalPage - 3) pages = [ totalPage - 4 < 1 ? null : totalPage - 4, totalPage - 3 < 1 ? null : totalPage - 3, totalPage - 2 < 1 ? null : totalPage - 2, totalPage - 1 < 1 ? null : totalPage - 1, totalPage, ] else pages = [ currentPage - 2 < 1 ? null : currentPage - 2, currentPage - 1 < 1 ? null : currentPage - 1, currentPage, currentPage + 1 > totalPage ? null : currentPage + 1, currentPage + 2 > totalPage ? null : currentPage + 2, ] pages = pages.filter((el) => el) return (
{pages.map((el, i) => ( {el} ))}
) } interface PaginatorProps { pathname: string currentPage: number totalPage: number searchParams?: Record } export default Paginator