import Link from 'next/link' const Paginator = ({ currentPage, totalPage, pathname }:PaginatorProps):JSX.Element => { const pages = [1, currentPage >= totalPage - 1 ? totalPage - 2 : currentPage - 1, currentPage <= 2 ? 2 : currentPage >= totalPage - 1 ? totalPage - 1 : currentPage, currentPage <= 2 ? 3 : currentPage + 1, totalPage ] return
{pages[0]} { pages[1] - pages[0] <= 1 ? pages[2] - pages[0] <= 1 ? '' : ... : <> ... {pages[1]} } {pages[2] === pages[4] ? pages[4] - 1 : pages[2]} { pages[4] - pages[3] <= 1 ? pages[4] - pages[2] <= 1 ? '' : ... : <> {pages[3]} ... } {pages[4]}
{currentPage}
} interface PaginatorProps { pathname: string currentPage: number totalPage: number } export default Paginator