Shorten padding on page items if they are too wide

This commit is contained in:
Anton Khorev 2023-10-03 19:17:25 +03:00
parent de793fb01d
commit cfa1ce8617

View file

@ -2,18 +2,32 @@
<h4 class="fs-5 mb-0"><%= heading %></h4> <h4 class="fs-5 mb-0"><%= heading %></h4>
<% if pages.page_count > 1 %> <% if pages.page_count > 1 %>
<ul class="pagination pagination-sm mb-1 ms-auto"> <ul class="pagination pagination-sm mb-1 ms-auto">
<% pagination_items(pages, {}).each do |body, n| %> <%
<% linked = !(n.is_a? String) max_width_for_default_padding = 35
classes = ["page-item"]
classes.push(n) unless linked %> width = 0
<%= content_tag "li", :class => classes do pagination_items(pages, {}).each do |body, n|
if linked width += 2 # padding width
link_to(body, url_for(page_param => n), :class => "page-link") width += body.length
else end
content_tag("span", body, :class => "page-link") link_classes = ["page-link"]
end link_classes.push("px-1") if width > max_width_for_default_padding
end %>
<% end %> pagination_items(pages, {}).each do |body, n|
linked = !(n.is_a? String)
item_classes = ["page-item"]
item_classes.push(n) unless linked
%>
<%= content_tag "li", :class => item_classes do
if linked
link_to(body, url_for(page_param => n), :class => link_classes)
else
content_tag("span", body, :class => link_classes)
end
end %>
<%
end
%>
</ul> </ul>
<% end %> <% end %>
</div> </div>