import React from 'react' import ReactPaginate from 'react-paginate' import styles from './Pagination.module.scss' /** currentPage: searchResults.results.current_page totalHits: searchResults.results.search_query_result.search_payload.total_hits perPage: searchResults.results.per_page */ const Pagination = ({ currentPage, totalHits, perPage, searchParams, onSearchSubmitted }) => { return ( currentPage && totalHits && perPage && totalHits > perPage ? ( } nextLabel={} breakLabel='...' breakClassName='break-me' pageCount={Math.min(40, Math.ceil(totalHits / perPage))} marginPagesDisplayed={2} pageRangeDisplayed={5} forcePage={parseInt(currentPage, 10) - 1} onPageChange={(data) => { window.scrollTo(0, 0) onSearchSubmitted({ ...searchParams, page: data.selected + 1 }) }} containerClassName={styles.pagination} activeClassName={styles.paginationActive} disabledClassName={styles.paginationDisabled} /> ) : null ) } export default Pagination