<%= button_to 'Unlock + Back', unlock_node_path(@node), method: :put,
form: { class: 'button_to state_changing' },
disabled: @node.autosave.present? %>
<% if @node.autosave || (@node.draft && @node.head) %>
<%= button_to revert_node_path(@node), method: :put,
form: { data: { confirm: "This cannot be undone. Continue?" }, class: 'button_to destructive' } do %>
<%= icon("trash", library: "tabler", "aria-hidden": true) %>
<%= @node.draft && !@node.autosave ? "Destroy Draft" : "Discard Autosave" %>
<% end %>
<% if pair = @node.available_layer_pairs.find { |p| p.include?(:autosave) } %>
<%= button_to 'What changed?',
diff_node_revisions_path(@node),
method: :get,
params: { start_revision: pair.first, end_revision: pair.last },
form: { class: 'button_to computation' } %>
<% end %>
<% end %>
<%= submit_tag "Save Draft", form: dom_id(@node, :edit) %>
<%= submit_tag "Save + Unlock + Exit", form: dom_id(@node, :edit) %>
<%= link_to "Preview ↗", preview_page_path(@page), target: "_blank", rel: "noopener", class: "preview_link" %>
<%= form_for(@node, html: { data: { autosave_url: autosave_node_path(@node), show_url: node_path(@node) } }) do |f| %>
<% if @node.errors.any? %>
<% @node.errors.full_messages.each do |msg| %><%= msg %> <% end %>
<% end %>
Metadata (slug, parent, tags, template, author, images)
Title
<%= d.text_field :title %>
Abstract
<%= d.text_area :abstract %>
Body
<%= icon("layout-sidebar-right", library: "tabler", "aria-hidden": true) %> Live preview
<%= icon("refresh", library: "tabler", "aria-hidden": true) %> Force refresh
<%= d.text_area :body, :class => 'with_editor' %>
<% end %>
<%= f.submit 'Save Draft' %>
<%= f.submit 'Save + Unlock + Exit' %>
<% end %>