philomena/lib/philomena_web/templates/pagination/_pagination.html.slime
2024-05-07 19:33:56 +02:00

100 lines
3 KiB
Text

- params = assigns[:params] || []
= if @page.total_pages > 1 do
nav.pagination.hidden--mobile
= if not first_page?(@page) do
= link to: first_page_path(@page, @route, params), class: "with-icon" do
i.fa.fa-backward>
' First
.separator--vertical.separator--secondary
= link to: prev_page_path(@page, @route, params), class: "js-prev with-icon" do
i.fa.fa-chevron-left>
' Prev
.separator--vertical.separator--secondary
= if left_gap?(@page) do
span
' …
= for number <- left_page_numbers(@page) do
= link(number, to: page_path(@route, params, number))
span = @page.page_number
= for number <- right_page_numbers(@page) do
= link(number, to: page_path(@route, params, number))
= if right_gap?(@page) do
span
' …
= if not last_page?(@page) do
.separator--vertical.separator--secondary
= link to: next_page_path(@page, @route, params), class: "js-next with-icon" do
' Next
i.fa.fa-chevron-right
.separator--vertical.separator--secondary
= link to: last_page_path(@page, @route, params), class: "with-icon" do
' Last
i.fa.fa-fast-forward
nav.pagination.hidden--desktop
= if first_page?(@page) do
span.with-icon
i.fa.fa-backward>
' First
.separator--vertical.separator--secondary
span.with-icon
i.fa.fa-chevron-left>
' Prev
.separator--vertical.separator--secondary
- else
= link to: first_page_path(@page, @route, params), class: "with-icon" do
i.fa.fa-backward>
' First
.separator--vertical.separator--secondary
= link to: prev_page_path(@page, @route, params), class: "js-prev with-icon" do
i.fa.fa-chevron-left>
' Prev
.separator--vertical.separator--secondary
.dropdown
a.with-icon.page-current.pagination__dropdown
=> @page.page_number
i.fa.fa-caret-down
.dropdown__content
= if left_gap?(@page) do
span
' …
= for number <- left_page_numbers(@page) do
= link(number, to: page_path(@route, params, number))
span = @page.page_number
= for number <- right_page_numbers(@page) do
= link(number, to: page_path(@route, params, number))
= if right_gap?(@page) do
span
' …
= if last_page?(@page) do
.separator--vertical.separator--secondary
span.with-icon
' Next
i.fa.fa-chevron-right
.separator--vertical.separator--secondary
span.with-icon
' Last
i.fa.fa-fast-forward
- else
.separator--vertical.separator--secondary
= link to: next_page_path(@page, @route, params), class: "js-next with-icon" do
' Next
i.fa.fa-chevron-right
.separator--vertical.separator--secondary
= link to: last_page_path(@page, @route, params), class: "with-icon" do
' Last
i.fa.fa-fast-forward