]> git.openstreetmap.org Git - rails.git/commitdiff
Use svg icons in first/last element version links
authorAnton Khorev <tony29@yandex.ru>
Sat, 10 Feb 2024 16:19:36 +0000 (19:19 +0300)
committerAnton Khorev <tony29@yandex.ru>
Sat, 10 Feb 2024 16:19:36 +0000 (19:19 +0300)
app/helpers/svg_helper.rb
app/views/browse/feature.html.erb

index ab9f890fed6136b290a4dc4468929882ec64eb17..62b39bf6792fb515e5890715bf5768848f86a9d8 100644 (file)
@@ -41,13 +41,16 @@ module SvgHelper
 
   # returns "<" shape if side == -1; ">" if side == 1
   def adjacent_page_svg_tag(side, **options)
+    count = options[:count] || 1
     height = options[:height] || 15
     pad = 2
     segment = (0.5 * height) - pad
-    width = (segment + (2 * pad)).ceil
-    path_data = "M#{side * (pad - (0.5 * width))},#{pad} l#{side * segment},#{segment} l#{-side * segment},#{segment}"
+    width = (segment + (2 * count * pad)).ceil
+    angled_line_data = "l#{side * segment},#{segment} l#{-side * segment},#{segment}"
+    path_data = Array.new(count) { |i| "M#{side * ((2 * i) + 1) * pad},#{pad} #{angled_line_data}" }.join(" ")
     path_tag = tag.path :d => path_data, :fill => "none", :stroke => "currentColor", :"stroke-width" => 1.5
-    tag.svg path_tag, :width => width, :height => height, :viewBox => "-#{0.5 * width} 0 #{width} #{height}", :class => options[:class]
+    view_box = "#{-width} 0 #{width} #{height}" if side.negative?
+    tag.svg path_tag, :width => width, :height => height, :viewBox => view_box, :class => options[:class]
   end
 
   def stroke_attrs(attrs, prefix)
index 3b7c64a8db6caa359e956b947b0c70b913573105..37be312b1e86b0d38a9a3489389456bc1367a85c 100644 (file)
 <% end %>
 <div class='secondary-actions'>
   <% if @feature.version > 1 %>
-    <%= link_to "<< #{t('browse.version')} #1", :controller => "old_#{@type.pluralize}", :action => :show, :version => 1 %>
+    <%= link_to({ :controller => "old_#{@type.pluralize}", :action => :show, :version => 1 }, :class => "icon-link") do %>
+      <%= previous_page_svg_tag :height => 11, :count => 2 %>
+      <%= "#{t('browse.version')} #1" %>
+    <% end %>
     &middot;
   <% end %>
     <%= link_to t("browse.view_history"), :action => "#{@type}_history" %>
   <% if @feature.version > 1 %>
     &middot;
-    <%= link_to "#{t('browse.version')} ##{@feature.version} >>", :controller => "old_#{@type.pluralize}", :action => :show, :version => @feature.version %>
+    <%= link_to({ :controller => "old_#{@type.pluralize}", :action => :show, :version => @feature.version }, :class => "icon-link") do %>
+      <%= "#{t('browse.version')} ##{@feature.version}" %>
+      <%= next_page_svg_tag :height => 11, :count => 2 %>
+    <% end %>
   <% end %>
 </div>