]> git.openstreetmap.org Git - rails.git/blob - app/views/browse/_paging_nav.html.erb
778f51a1f8c1591d45dbac7726263da232545d43
[rails.git] / app / views / browse / _paging_nav.html.erb
1 <div class="d-flex flex-wrap gap-2">
2   <h4 class="fs-5 mb-0"><%= heading %></h4>
3   <% if pages.page_count > 1 %>
4     <ul class="pagination pagination-sm mb-1 ms-auto">
5     <%
6       max_width_for_default_padding = 35
7
8       width = 0
9       pagination_items(pages, {}).each do |body, n|
10         width += 2 # padding width
11         width += body.length
12       end
13       link_classes = ["page-link"]
14       link_classes.push("px-1") if width > max_width_for_default_padding
15
16       pagination_items(pages, {}).each do |body, n|
17         linked = !(n.is_a? String)
18         item_classes = ["page-item"]
19         item_classes.push(n) unless linked
20     %>
21     <%= content_tag "li", :class => item_classes do
22           if linked
23             link_to(body, url_for(page_param => n), :class => link_classes)
24           else
25             content_tag("span", body, :class => link_classes)
26           end
27         end %>
28     <%
29       end
30     %>
31     </ul>
32   <% end %>
33 </div>