tighten tolerance for paginator widget, add dropdown with missing quick page navigation

This commit is contained in:
byte[] 2020-12-10 01:22:44 -05:00
parent c95a00911b
commit 4c289510a7
4 changed files with 59 additions and 17 deletions

View file

@ -332,7 +332,7 @@ blockquote {
} }
.page-current { .page-current {
padding: $header_spacing; padding: 0 $header_spacing;
} }
i.favicon-home { i.favicon-home {

View file

@ -84,7 +84,7 @@ a.block__header--single-item, .block__header a {
} }
} }
.block__header a { .block__header a, .block__header span {
background: $block_header_color; background: $block_header_color;
} }
@ -96,8 +96,11 @@ a.block__header--single-item, .block__header a {
.block__header--light { .block__header--light {
background: $block_header_light_color; background: $block_header_light_color;
a { a, span {
background: $block_header_light_color; background: $block_header_light_color;
}
a {
color: $block_header_light_link_text_color; color: $block_header_light_link_text_color;
&:hover { &:hover {
background: $block_header_light_hover_color; background: $block_header_light_hover_color;

View file

@ -9,7 +9,11 @@
flex-shrink: 0; flex-shrink: 0;
} }
@media (max-width: $min_px_width_for_desktop_layout) { .pagination__dropdown {
min-width: 4em;
}
@media (max-width: $min_px_width_for_desktop_thumb) {
.imagelist__title, .imagelist__options { .imagelist__title, .imagelist__options {
display: none; display: none;
} }

View file

@ -1,12 +1,11 @@
- params = assigns[:params] || [] - params = assigns[:params] || []
= if @page.total_pages > 1 do = if @page.total_pages > 1 do
nav.pagination nav.pagination.hide-mobile-t
= if not first_page?(@page) do = if not first_page?(@page) do
= link("« First", to: first_page_path(@page, @route, params)) = link("« First", to: first_page_path(@page, @route, params))
= link(" Prev", to: prev_page_path(@page, @route, params), class: "js-prev") = link(" Prev", to: prev_page_path(@page, @route, params), class: "js-prev")
span.hide-mobile
= if left_gap?(@page) do = if left_gap?(@page) do
span.page.gap span.page.gap
' … ' …
@ -16,7 +15,6 @@
span.page-current = @page.page_number span.page-current = @page.page_number
span.hide-mobile
= for number <- right_page_numbers(@page) do = for number <- right_page_numbers(@page) do
= link(number, to: page_path(@route, params, number)) = link(number, to: page_path(@route, params, number))
@ -27,3 +25,40 @@
= if not last_page?(@page) do = if not last_page?(@page) do
= link("Next ", to: next_page_path(@page, @route, params), class: "js-next") = link("Next ", to: next_page_path(@page, @route, params), class: "js-next")
= link("Last »", to: last_page_path(@page, @route, params)) = link("Last »", to: last_page_path(@page, @route, params))
nav.pagination.hide-desktop-t
= if first_page?(@page) do
span « First
span Prev
- else
= link("« First", to: first_page_path(@page, @route, params))
= link(" Prev", to: prev_page_path(@page, @route, params), class: "js-prev")
.dropdown
a.page-current.pagination__dropdown
=> @page.page_number
i.fa.fa-caret-down
.dropdown__content
= if left_gap?(@page) do
span.page.gap
' …
= for number <- left_page_numbers(@page) do
= link(number, to: page_path(@route, params, number))
span.page-current = @page.page_number
= for number <- right_page_numbers(@page) do
= link(number, to: page_path(@route, params, number))
= if right_gap?(@page) do
span.page.gap
' …
= if last_page?(@page) do
span Next
span Last »
- else
= link("Next ", to: next_page_path(@page, @route, params), class: "js-next")
= link("Last »", to: last_page_path(@page, @route, params))