diff options
| author | Armand Philippot <git@armandphilippot.com> | 2023-11-13 17:45:59 +0100 |
|---|---|---|
| committer | Armand Philippot <git@armandphilippot.com> | 2023-11-13 17:45:59 +0100 |
| commit | 56878f647ea0f1066fa3e222d7aa0d83057f496d (patch) | |
| tree | 26f673a062741414bfa7db5d37990936ce115f49 /src/components/organisms/nav | |
| parent | 599b70cd2390d08ce26ee44174b3f39c6587110c (diff) | |
refactor(components): rewrite PostsList component
* remove NoResults component and move logic to Search page
* add a usePostsList hook
* remove Pagination from PostsList (it is only used if javascript is
disabled and not on every posts list)
* replace `byYear` prop with `sortByYear`
* replace `loadMore` prop with `onLoadMore`
* remove `showLoadMoreBtn` (we can use `loadMore` prop instead to
determine if we need to display the button)
* replace `titleLevel` prop with `headingLvl`
* add `firstNewResult` prop to handle focus on the new results when
loading more article (we should not focus a useless span but the item
directly)
Diffstat (limited to 'src/components/organisms/nav')
| -rw-r--r-- | src/components/organisms/nav/pagination/pagination.module.scss | 4 | ||||
| -rw-r--r-- | src/components/organisms/nav/pagination/pagination.tsx | 13 |
2 files changed, 16 insertions, 1 deletions
diff --git a/src/components/organisms/nav/pagination/pagination.module.scss b/src/components/organisms/nav/pagination/pagination.module.scss index 13970d3..eeb9ca6 100644 --- a/src/components/organisms/nav/pagination/pagination.module.scss +++ b/src/components/organisms/nav/pagination/pagination.module.scss @@ -4,6 +4,10 @@ gap: var(--spacing-sm); align-items: center; width: fit-content; + + &--centered { + margin-inline: auto; + } } .list { diff --git a/src/components/organisms/nav/pagination/pagination.tsx b/src/components/organisms/nav/pagination/pagination.tsx index 8e95122..006663b 100644 --- a/src/components/organisms/nav/pagination/pagination.tsx +++ b/src/components/organisms/nav/pagination/pagination.tsx @@ -32,6 +32,12 @@ export type PaginationProps = Omit<NavProps, 'children'> & { */ current: number; /** + * Should the pagination be centered? + * + * @default false + */ + isCentered?: boolean; + /** * Function used to provide an accessible label to pagination items. */ renderItemAriaLabel: RenderPaginationItemAriaLabel; @@ -83,6 +89,7 @@ const PaginationWithRef: ForwardRefRenderFunction< { className = '', current, + isCentered = false, renderItemAriaLabel, renderLink, siblings = 1, @@ -91,7 +98,11 @@ const PaginationWithRef: ForwardRefRenderFunction< }, ref ) => { - const paginationClass = `${styles.wrapper} ${className}`; + const paginationClass = [ + styles.wrapper, + styles[isCentered ? 'wrapper--centered' : ''], + className, + ].join(' '); const displayRange = current === 1 || current === total ? siblings + 1 : siblings; const hasPreviousPage = current > 1; |
