<%= t(".title") %>
<%= link_to t(".revisions_link"), node_revisions_path(@node) %>
<% numeric_comparison = params[:start_revision].to_s =~ /\A\d+\z/ && params[:end_revision].to_s =~ /\A\d+\z/ %>
<% start_control = numeric_comparison ?
select_tag(:start_revision, options_for_select(@node.pages.map(&:revision), params[:start_revision].to_i)) :
content_tag(:strong, describe_page_reference(params[:start_revision])) + hidden_field_tag(:start_revision, params[:start_revision]) %>
<% end_control = numeric_comparison ?
select_tag(:end_revision, options_for_select(@node.pages.map(&:revision), params[:end_revision].to_i)) :
content_tag(:strong, describe_page_reference(params[:end_revision])) + hidden_field_tag(:end_revision, params[:end_revision]) %>
<% locale_control = select_tag(:translation_locale, options_for_select(
@locale_summary.map { |s| [s[:changed] ? t("revisions.locale_changed", :lang => s[:locale].to_s.upcase) : s[:locale].to_s.upcase, s[:locale]] },
@translation_locale)) %>
<% view_control = select_tag(:view, options_for_select(
[[t("revisions.inline"), "inline"], [t("revisions.side_by_side"), "side_by_side"]], @diff_view.to_s)) %>
<% earlier, later = neighbour_revision_pairs(@node, params[:start_revision], params[:end_revision]) %>
<%= form_tag diff_node_revisions_path(@node), :method => :get, :class => "diff_controls" do %>
<%= t(".comparing_html", :start => start_control, :end => end_control,
:lang => locale_control, :view => view_control) %>
<% if earlier %>
<%= link_to t(".pair_link", :from => earlier.first, :to => earlier.last), diff_node_revisions_path(@node,
start_revision: earlier.first, end_revision: earlier.last,
view: @diff_view, translation_locale: @translation_locale) %>
<% else %>
—
<% end %>
<%= submit_tag t(".diff_button") %>
<% if later %>
<%= link_to t(".pair_link", :from => later.first, :to => later.last), diff_node_revisions_path(@node,
start_revision: later.first, end_revision: later.last,
view: @diff_view, translation_locale: @translation_locale) %>
<% else %>
—
<% end %>
<% end %>
<% unless numeric_comparison %>
<%= link_to t(".compare_numbered"), node_revisions_path(@node) %>
<% end %>
<% if @available_layer_pairs.present? %>
<% @available_layer_pairs.each do |pair| %>
<% next if [params[:start_revision].to_s, params[:end_revision].to_s].sort == pair.map(&:to_s).sort %>
<%= button_to t("nodes.show.diff_layers", :from => t("nodes.show.layer_#{pair.first}"), :to => t("nodes.show.layer_#{pair.last}")),
diff_node_revisions_path(@node),
method: :get,
params: { start_revision: pair.first, end_revision: pair.last, view: @diff_view, translation_locale: @translation_locale },
form: { class: 'button_to computation' } %>
<% end %>
<% if !@locked_by_other && (@node.autosave || @node.draft) %>
<%= button_to revert_node_path(@node), method: :put,
params: { return_to: request.fullpath },
form: { data: { confirm: t("admin.common.confirm_irreversible") }, class: 'button_to destructive' } do %>
<%= icon("trash", library: "tabler", "aria-hidden": true) %>
<%= @node.draft && !@node.autosave ? t("nodes.show.destroy_draft") : t("nodes.show.discard_autosave") %>
<% end %>
<% end %>
<% end %>
<% if @diff_view == :side_by_side %>
<%= Page.human_attribute_name(:title) %>
<%= raw @diff[:title][0] %>
<%= Page.human_attribute_name(:abstract) %>
<%= raw @diff[:abstract][0] %>
<%= Page.human_attribute_name(:body) %>
<%= raw @diff[:body][0] %>
<%= Page.human_attribute_name(:title) %>
<%= raw @diff[:title][1] %>
<%= Page.human_attribute_name(:abstract) %>
<%= raw @diff[:abstract][1] %>
<%= Page.human_attribute_name(:body) %>
<%= raw @diff[:body][1] %>
<% else %>
<%= Page.human_attribute_name(:title) %>
<%= raw @diff[:title] %>
<%= Page.human_attribute_name(:abstract) %>
<%= raw @diff[:abstract] %>
<%= Page.human_attribute_name(:body) %>
<%= raw @diff[:body] %>
<% end %>
<%= Page.human_attribute_name(:tag_list) %>
<% if @diff[:tags][:added].empty? && @diff[:tags][:removed].empty? %>
<%= t(".no_change") %>
<% else %>
<% @diff[:tags][:added].each do |tag| %>- <%= tag %>
<% end %>
<% @diff[:tags][:removed].each do |tag| %><%= tag %> <% end %>
<% end %>
<%= Page.human_attribute_name(:template_name) %>
<% if @diff[:template_name][:changed] %>
<%= @diff[:template_name][:from] || t(".none_marker") %> <%= @diff[:template_name][:to] || t(".none_marker") %>
<% else %>
<%= t(".no_change") %>
<% end %>
<%= Page.human_attribute_name(:assets) %>
<% if @diff[:assets][:added].empty? && @diff[:assets][:removed].empty? %>
<%= t(".no_change") %>
<% else %>
<% @diff[:assets][:added].each do |asset| %>- <%= asset.upload_file_name %>
<% end %>
<% @diff[:assets][:removed].each do |asset| %><%= asset.upload_file_name %> <% end %>
<% end %>