import { Flex, Link, Select, Text } from '@chakra-ui/react' import clsx from 'clsx' import NextLink from 'next/link' import { useRouter } from 'next/router' import { Fragment } from 'react' export default function Pagination({ page = 1, itemsPerPage = 12, totalItems = 0, limit = 4 }) { const router = useRouter() const totalPages = Math.ceil(totalItems / itemsPerPage) if (totalPages === 1) return <> const links = new Array(totalPages) .fill(true) .map((_v, i) => (i < limit || i >= totalPages - limit || (i >= page - limit && i < page + limit - 1)) && i + 1) .filter((i) => i !== false) return ( <> ← Previous {links.map((v, i) => ( {v > 1 && v - 1 !== links[i - 1] && ( )} {v} ))} Next → ) }