From 8ecb2c79f7146ecbb69d08cd38954836dc6d1b4c Mon Sep 17 00:00:00 2001 From: Anton Khorev Date: Sat, 10 Feb 2024 19:19:36 +0300 Subject: [PATCH 1/1] Use svg icons in first/last element version links --- app/helpers/svg_helper.rb | 9 ++++++--- app/views/browse/feature.html.erb | 10 ++++++++-- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/app/helpers/svg_helper.rb b/app/helpers/svg_helper.rb index ab9f890fe..62b39bf67 100644 --- a/app/helpers/svg_helper.rb +++ b/app/helpers/svg_helper.rb @@ -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) diff --git a/app/views/browse/feature.html.erb b/app/views/browse/feature.html.erb index 3b7c64a8d..37be312b1 100644 --- a/app/views/browse/feature.html.erb +++ b/app/views/browse/feature.html.erb @@ -11,12 +11,18 @@ <% end %>
<% 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 %> · <% end %> <%= link_to t("browse.view_history"), :action => "#{@type}_history" %> <% if @feature.version > 1 %> · - <%= 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 %>
-- 2.39.5