52 lines
1.4 KiB
Handlebars
52 lines
1.4 KiB
Handlebars
{{#if (gt this.totalPages 1)}}
|
|
<nav
|
|
class='flex justify-center relative z-0'
|
|
aria-label='Pagination'
|
|
...attributes
|
|
>
|
|
{{#let
|
|
'inline-flex items-center justify-center px-2 mx-1 font-display text-lg text-inherit no-underline'
|
|
as |commonClasses|
|
|
}}
|
|
{{#if this.previousPage}}
|
|
<LinkTo
|
|
@route={{this.router.currentRouteName}}
|
|
@query={{hash offset=(dec @limit @offset)}}
|
|
class={{commonClasses}}
|
|
title='Previous page'
|
|
>
|
|
<Icons::ChevronLeft />
|
|
</LinkTo>
|
|
{{/if}}
|
|
{{#each this.availablePages as |i|}}
|
|
{{#if (eq this.current i)}}
|
|
<span class='{{commonClasses}} border rounded'>
|
|
{{i}}
|
|
</span>
|
|
{{else if (eq '...' i)}}
|
|
<span class={{commonClasses}}>
|
|
{{i}}
|
|
</span>
|
|
{{else}}
|
|
<LinkTo
|
|
@route={{this.router.currentRouteName}}
|
|
@query={{hash offset=(mul @limit (dec i))}}
|
|
class={{commonClasses}}
|
|
>
|
|
{{i}}
|
|
</LinkTo>
|
|
{{/if}}
|
|
{{/each}}
|
|
{{#if this.nextPage}}
|
|
<LinkTo
|
|
@route={{this.router.currentRouteName}}
|
|
@query={{hash offset=(inc @limit @offset)}}
|
|
class={{commonClasses}}
|
|
title='Next page'
|
|
>
|
|
<Icons::ChevronRight />
|
|
</LinkTo>
|
|
{{/if}}
|
|
{{/let}}
|
|
</nav>
|
|
{{/if}}
|