From 77ceb2625b20fa6b8e235d720e29c8605e551f4d Mon Sep 17 00:00:00 2001 From: Anton Khorev Date: Mon, 23 Jun 2025 19:49:45 +0300 Subject: [PATCH] Remove border rounding/duplication between adjacent version lists --- app/helpers/numbered_pagination_helper.rb | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/app/helpers/numbered_pagination_helper.rb b/app/helpers/numbered_pagination_helper.rb index 5495be67f..04307b0b8 100644 --- a/app/helpers/numbered_pagination_helper.rb +++ b/app/helpers/numbered_pagination_helper.rb @@ -15,7 +15,9 @@ module NumberedPaginationHelper lists << tag.ul(:class => "pagination pagination-sm mt-1") do start_list_versions.each do |v| - concat element_versions_pagination_item(v, **yield(v), :active => v == active_version) + concat element_versions_pagination_item(v, **yield(v), :active => v == active_version, + :edge => [false, v == start_list_versions.last], + :edge_border => true) end end lists << tag.ul(:class => [ @@ -24,12 +26,16 @@ module NumberedPaginationHelper "pt-1" # space reserved for focus outlines ]) do middle_list_versions.each do |v| - concat element_versions_pagination_item(v, **yield(v), :active => v == active_version) + concat element_versions_pagination_item(v, **yield(v), :active => v == active_version, + :edge => [v == start_list_versions.last + 1, + v == end_list_versions.first - 1]) end end lists << tag.ul(:class => "pagination pagination-sm mt-1") do end_list_versions.each do |v| - concat element_versions_pagination_item(v, **yield(v), :active => v == active_version) + concat element_versions_pagination_item(v, **yield(v), :active => v == active_version, + :edge => [v == end_list_versions.first, false], + :edge_border => true) end end end @@ -39,8 +45,11 @@ module NumberedPaginationHelper private - def element_versions_pagination_item(body, href: nil, title: nil, active: false) - link_class = "page-link" + def element_versions_pagination_item(body, href: nil, title: nil, active: false, edge: [false, false], edge_border: false) + link_class = ["page-link", { "rounded-start-0" => edge.first, + "border-start-0" => edge.first && !edge_border, + "rounded-end-0" => edge.last, + "border-end-0" => edge.last && !edge_border }] link = link_to body, href, :class => link_class, :title => title tag.li link, :class => ["page-item", { "active" => active }] end -- 2.39.5