import classNames from 'classnames'; import { Button, Icon, Icons } from 'react-basics'; import useMessages from 'components/hooks/useMessages'; import styles from './Pager.module.css'; export function Pager({ page, pageSize, count, onPageChange, className }) { const { formatMessage, labels } = useMessages(); const maxPage = pageSize && count ? Math.ceil(count / pageSize) : 0; const lastPage = page === maxPage; const firstPage = page === 1; if (count === 0 || !maxPage) { return null; } const handlePageChange = value => { const nextPage = page + value; if (nextPage > 0 && nextPage <= maxPage) { onPageChange(nextPage); } }; if (maxPage === 1) { return null; } return (
{formatMessage(labels.numberOfRecords, { x: count })}
{formatMessage(labels.pageOf, { current: page, total: maxPage })}
); } export default Pager;