Use svg icons in first/last element version links

This commit is contained in:
Anton Khorev 2024-02-10 19:19:36 +03:00
parent 7918b151d8
commit 8ecb2c79f7
2 changed files with 14 additions and 5 deletions

View file

@ -41,13 +41,16 @@ module SvgHelper
# returns "<" shape if side == -1; ">" if side == 1 # returns "<" shape if side == -1; ">" if side == 1
def adjacent_page_svg_tag(side, **options) def adjacent_page_svg_tag(side, **options)
count = options[:count] || 1
height = options[:height] || 15 height = options[:height] || 15
pad = 2 pad = 2
segment = (0.5 * height) - pad segment = (0.5 * height) - pad
width = (segment + (2 * pad)).ceil width = (segment + (2 * count * pad)).ceil
path_data = "M#{side * (pad - (0.5 * width))},#{pad} l#{side * segment},#{segment} l#{-side * segment},#{segment}" 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 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 end
def stroke_attrs(attrs, prefix) def stroke_attrs(attrs, prefix)

View file

@ -11,12 +11,18 @@
<% end %> <% end %>
<div class='secondary-actions'> <div class='secondary-actions'>
<% if @feature.version > 1 %> <% 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; &middot;
<% end %> <% end %>
<%= link_to t("browse.view_history"), :action => "#{@type}_history" %> <%= link_to t("browse.view_history"), :action => "#{@type}_history" %>
<% if @feature.version > 1 %> <% if @feature.version > 1 %>
&middot; &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 %> <% end %>
</div> </div>