--- /dev/null
+<div class='secondary-actions'>
+ <%= link_to t("browse.view_details"), :controller => :browse, :action => @type %>
+ <% if !@feature.redacted? %>
+ ·
+ <%= link_to t("browse.download_xml"), :controller => "api/old_#{@type.pluralize}", :action => :version %>
+ <% elsif current_user&.moderator? %>
+ ·
+ <% if !params[:show_redactions] %>
+ <%= link_to t("browse.view_redacted_data"), :params => { :show_redactions => true } %>
+ <% else %>
+ <%= link_to t("browse.view_redaction_message") %>
+ <% end %>
+ <% end %>
+</div>
+
+<div class='secondary-actions'>
+ <% if @feature.version > 1 %>
+ <%= link_to({ :version => @feature.version - 1 }, { :class => "icon-link" }) do %>
+ <%= previous_page_svg_tag :height => 11 %>
+ <%= "#{t('browse.version')} ##{@feature.version - 1}" %>
+ <% end %>
+ ·
+ <% end %>
+ <%= link_to t("browse.view_history"), :controller => :browse, :action => "#{@type}_history" %>
+ <% unless @feature.latest_version? %>
+ ·
+ <%= link_to({ :version => @feature.version + 1 }, { :class => "icon-link" }) do %>
+ <%= "#{t('browse.version')} ##{@feature.version + 1}" %>
+ <%= next_page_svg_tag :height => 11 %>
+ <% end %>
+ <% end %>
+</div>
<%= render :partial => "browse/node", :object => @feature %>
-<div class='secondary-actions'>
- <%= link_to t("browse.view_details"), node_path(@feature.node_id) %>
- <% if !@feature.redacted? %>
- ·
- <%= link_to t("browse.download_xml"), node_version_path(*@feature.id) %>
- <% elsif current_user&.moderator? %>
- ·
- <% if !params[:show_redactions] %>
- <%= link_to t("browse.view_redacted_data"), old_node_path(*@feature.id, :params => { :show_redactions => true }) %>
- <% else %>
- <%= link_to t("browse.view_redaction_message"), old_node_path(*@feature.id) %>
- <% end %>
- <% end %>
-</div>
-
-<div class='secondary-actions'>
- <% if @feature.version > 1 %>
- <%= link_to old_node_path(@feature.node_id, @feature.version - 1), :class => "icon-link" do %>
- <%= previous_page_svg_tag :height => 11 %>
- <%= "#{t('browse.version')} ##{@feature.version - 1}" %>
- <% end %>
- ·
- <% end %>
- <%= link_to t("browse.view_history"), node_history_path(@feature.node_id) %>
- <% if @feature.version < @feature.current_node.version %>
- ·
- <%= link_to old_node_path(@feature.node_id, @feature.version + 1), :class => "icon-link" do %>
- <%= "#{t('browse.version')} ##{@feature.version + 1}" %>
- <%= next_page_svg_tag :height => 11 %>
- <% end %>
- <% end %>
-</div>
+<%= render :partial => "browse/version_actions" %>
<%= render :partial => "browse/relation", :object => @feature %>
-<div class='secondary-actions'>
- <%= link_to t("browse.view_details"), relation_path(@feature.relation_id) %>
- <% if !@feature.redacted? %>
- ·
- <%= link_to t("browse.download_xml"), relation_version_path(*@feature.id) %>
- <% elsif current_user&.moderator? %>
- ·
- <% if !params[:show_redactions] %>
- <%= link_to t("browse.view_redacted_data"), old_relation_path(*@feature.id, :params => { :show_redactions => true }) %>
- <% else %>
- <%= link_to t("browse.view_redaction_message"), old_relation_path(*@feature.id) %>
- <% end %>
- <% end %>
-</div>
-
-<div class='secondary-actions'>
- <% if @feature.version > 1 %>
- <%= link_to old_relation_path(@feature.relation_id, @feature.version - 1), :class => "icon-link" do %>
- <%= previous_page_svg_tag :height => 11 %>
- <%= "#{t('browse.version')} ##{@feature.version - 1}" %>
- <% end %>
- ·
- <% end %>
- <%= link_to t("browse.view_history"), relation_history_path(@feature.relation_id) %>
- <% if @feature.version < @feature.current_relation.version %>
- ·
- <%= link_to old_relation_path(@feature.relation_id, @feature.version + 1), :class => "icon-link" do %>
- <%= "#{t('browse.version')} ##{@feature.version + 1}" %>
- <%= next_page_svg_tag :height => 11 %>
- <% end %>
- <% end %>
-</div>
+<%= render :partial => "browse/version_actions" %>
<%= render :partial => "browse/way", :object => @feature %>
-<div class='secondary-actions'>
- <%= link_to t("browse.view_details"), way_path(@feature.way_id) %>
- <% if !@feature.redacted? %>
- ·
- <%= link_to t("browse.download_xml"), way_version_path(*@feature.id) %>
- <% elsif current_user&.moderator? %>
- ·
- <% if !params[:show_redactions] %>
- <%= link_to t("browse.view_redacted_data"), old_way_path(*@feature.id, :params => { :show_redactions => true }) %>
- <% else %>
- <%= link_to t("browse.view_redaction_message"), old_way_path(*@feature.id) %>
- <% end %>
- <% end %>
-</div>
-
-<div class='secondary-actions'>
- <% if @feature.version > 1 %>
- <%= link_to old_way_path(@feature.way_id, @feature.version - 1), :class => "icon-link" do %>
- <%= previous_page_svg_tag :height => 11 %>
- <%= "#{t('browse.version')} ##{@feature.version - 1}" %>
- <% end %>
- ·
- <% end %>
- <%= link_to t("browse.view_history"), way_history_path(@feature.way_id) %>
- <% if @feature.version < @feature.current_way.version %>
- ·
- <%= link_to old_way_path(@feature.way_id, @feature.version + 1), :class => "icon-link" do %>
- <%= "#{t('browse.version')} ##{@feature.version + 1}" %>
- <%= next_page_svg_tag :height => 11 %>
- <% end %>
- <% end %>
-</div>
+<%= render :partial => "browse/version_actions" %>