Skip to content

Commit 665b4aa

Browse files
committed
Fix pagination hiding of disabled buttons #522
Currently when paging through liveblog entries, there are four buttons `First, Previous, Next, Last`. The buttons are properly disabled, so the first can not use First & Prev, and the last page cannot use Next & Last. However, these buttons are still visible to the user, which can be confusing. Adding this pre-existing class hides these unusable buttons. Moved conditionals into const's to reduce repetitiveness and improve readability.
1 parent 0120789 commit 665b4aa

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

src/react/containers/PaginationContainer.js

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,22 @@ class PaginationContainer extends Component {
99
render() {
1010
const { page, pages, getEntriesPaginated } = this.props;
1111

12+
const isFirstPage = (page === 1);
13+
const isLastPage = (page === pages);
14+
1215
return (
1316
<div className="liveblog-pagination">
1417
<div>
1518
<button
16-
disabled={page === 1}
17-
className="liveblog-btn liveblog-pagination-btn liveblog-pagination-first"
19+
disabled={isFirstPage}
20+
className={`liveblog-btn liveblog-pagination-btn liveblog-pagination-first ${isFirstPage && 'liveblog-btn--hide'}`}
1821
onClick={() => getEntriesPaginated(1, 'first')}
1922
>
2023
First
2124
</button>
2225
<button
23-
disabled={page === 1}
24-
className="liveblog-btn liveblog-pagination-btn liveblog-pagination-prev"
26+
disabled={isFirstPage}
27+
className={`liveblog-btn liveblog-pagination-btn liveblog-pagination-prev ${isFirstPage && 'liveblog-btn--hide'}`}
2528
onClick={() => getEntriesPaginated((page - 1), 'last')}
2629
>
2730
Prev
@@ -30,15 +33,15 @@ class PaginationContainer extends Component {
3033
<span className="liveblog-pagination-pages">{page} of {pages}</span>
3134
<div>
3235
<button
33-
disabled={page === pages}
34-
className="liveblog-btn liveblog-pagination-btn liveblog-pagination-next"
36+
disabled={isLastPage}
37+
className={`liveblog-btn liveblog-pagination-btn liveblog-pagination-next ${isLastPage && 'liveblog-btn--hide'}`}
3538
onClick={() => getEntriesPaginated((page + 1), 'first')}
3639
>
3740
Next
3841
</button>
3942
<button
40-
disabled={page === pages}
41-
className="liveblog-btn liveblog-pagination-btn liveblog-pagination-last"
43+
disabled={isLastPage}
44+
className={`liveblog-btn liveblog-pagination-btn liveblog-pagination-last ${isLastPage && 'liveblog-btn--hide'}`}
4245
onClick={() => getEntriesPaginated(pages, 'first')}
4346
>
4447
Last

0 commit comments

Comments
 (0)