<% page_title @post.presenter.humanized_essential_tag_string %>
<% meta_description "View this #{@post.image_width}x#{@post.image_height} #{number_to_human_size(@post.file_size)} image" %>
<% canonical_url post_url(@post, host: Danbooru.config.hostname) %>
<% atom_feed_tag "Comments for post ##{@post.id}", comments_url(:atom, search: { post_id: @post.id }) %>

<%= render "posts/partials/common/secondary_links" %>

<% content_for(:sidebar) do %>
  <%= render "posts/partials/common/search", :path => posts_path, :tags => params[:q], :tags_dom_id => "tags" %>

  <%= render "posts/partials/index/blacklist" %>

  <section id="tag-list">
    <%= render_categorized_tag_list(@post, current_query: params[:q], show_extra_links: policy(@post).show_extra_links?) %>
  </section>

  <section id="post-information">
    <h2>Information</h2>
    <%= render "posts/partials/show/information", :post => @post %>
  </section>

  <section id="post-options">
    <h2>Options</h2>
    <%= render "posts/partials/show/options", :post => @post %>
  </section>

  <section id="post-history">
    <h2>History</h2>
    <ul>
      <li id="post-history-tags"><%= link_to "Tags", post_versions_path(search: { post_id: @post.id }) %></li>
      <li id="post-history-pools"><%= link_to "Pools", pool_versions_path(search: { post_id: @post.id }) %></li>
      <li id="post-history-notes"><%= link_to "Notes", note_versions_path(search: { post_id: @post.id }) %></li>
      <li id="post-history-moderation"><%= link_to "Moderation", post_events_path(@post.id) %></li>
      <li id="post-history-commentary"><%= link_to "Commentary", artist_commentary_versions_path(search: { post_id: @post.id }) %></li>
      <li id="post-history-replacements"><%= link_to "Replacements", post_replacements_path(search: {post_id: @post.id }) %></li>
    </ul>
  </section>
<% end %>

<% content_for(:content) do %>
  <% if !CurrentUser.user.new_post_navigation_layout %>
    <%= render_post_navbar(@post, current_user: CurrentUser.user, search: params[:q]) %>
  <% end %>

  <%= render "posts/partials/show/notices", :post => @post %>

  <%= tag.section class: ["image-container", "note-container", ("danbirthday" if is_danbirthday?(@post))], **PostPreviewComponent.new(post: @post).data_attributes do -%>
    <%= render "posts/partials/show/embedded", post: @post %>
    <div id="note-preview"></div>
  <% end -%>

  <% if policy(Favorite).create? %>
    <%= content_tag(:div, class: "mb-2 fav-buttons fav-buttons-#{@post.favorited_by?(CurrentUser.user)}") do %>
      <%= form_tag(favorites_path(post_id: @post.id), method: "post", id: "add-fav-button", "data-remote": true) do %>
        <%= button_tag empty_heart_icon, class: "ui-button ui-widget ui-corner-all", "data-disable-with": spinner_icon %>
      <% end %>

      <%= form_tag(favorite_path(@post.id), method: "delete", id: "remove-fav-button", "data-remote": true) do %>
        <%= button_tag solid_heart_icon, class: "ui-button ui-widget ui-corner-all", "data-disable-with": spinner_icon %>
      <% end %>
    <% end %>
  <% end %>

  <section id="mark-as-translated-section">
    <%= edit_form_for(@post, url: mark_as_translated_post_path(@post), method: :put) do |f| %>
      <%= f.input :tags_query, as: :hidden, input_html: { id: nil, name: "tags_query", value: params[:q] } %>
      <%= f.input :pool_id, as: :hidden, input_html: { id: nil, name: "pool_id", value: params[:pool_id] } %>
      <%= f.input :favgroup_id, as: :hidden, input_html: { id: nil, name: "favgroup_id", value: params[:favgroup_id] } %>

      <fieldset class="inline-fieldset">
        <%= f.input :check_translation, as: :boolean, input_html: { checked: @post.has_tag?("check_translation") } %>
        <%= f.input :partially_translated, as: :boolean, input_html: { checked: @post.has_tag?("partially_translated") } %>
      </fieldset>

      <%= f.submit "Mark as translated" %>
    <% end %>
  </section>

  <% if @post.artist_commentary && @post.artist_commentary.any_field_present? %>
    <div id="artist-commentary">
      <%= render "artist_commentaries/show", :artist_commentary => @post.artist_commentary %>
    </div>
  <% end %>

  <% if CurrentUser.user.new_post_navigation_layout %>
    <%= render_post_navbar(@post, current_user: CurrentUser.user, search: params[:q]) %>
  <% end %>

  <menu id="post-sections" class="mb-4">
    <li class="active"><a href="#comments">Comments</a></li>

    <% if RecommenderService.available_for_post?(@post) %>
      <li><a href="#recommended">Recommended</a></li>
    <% end %>

    <% if policy(@post).update? %>
      <li><a href="#edit" id="post-edit-link" data-shortcut="e">Edit</a></li>
    <% end %>
  </menu>

  <% if RecommenderService.available_for_post?(@post) %>
    <section id="recommended" style="display: none;">
      <p><em>Loading...</em></p>
    </section>
  <% end %>

  <section id="comments">
    <%= render_comment_section(@post, current_user: CurrentUser.user) %>
  </section>

  <section id="notes" style="display: none;">
    <% if @post.has_notes? %>
      <%= render partial: "notes/note", collection: @post.notes.active %>
    <% end %>
  </section>

  <% if policy(@post).update? %>
    <section id="edit" style="display: none;">
      <%= render "posts/partials/show/edit", :post => @post %>
    </section>
  <% end %>
<% end %>

<% if policy(Pool).create? %>
  <div id="add-to-pool-dialog" title="Add to pool" style="display: none;">
    <%= render "pool_elements/new" %>
  </div>
<% end %>

<% if policy(ArtistCommentary).create_or_update? %>
  <div id="add-commentary-dialog" title="Add artist commentary" style="display: none;">
    <%= render "artist_commentaries/form", post: @post, artist_commentary: @post.artist_commentary || ArtistCommentary.new(post: @post) %>
  </div>
<% end %>

<% if policy(FavoriteGroup).create? %>
  <div id="add-to-favgroup-dialog" title="Add to favorite group" style="display: none;">
    <%= render "favorite_groups/add_to_favgroup_dialog", :post => @post %>
  </div>
<% end %>

<%= post_view_count_js %>

<% content_for(:html_header) do %>
  <meta name="post-id" content="<%= @post.id %>">
  <meta name="post-has-embedded-notes" content="<%= @post.has_embedded_notes? %>">

  <% if policy(@post).visible? %>
    <%= tag.meta property: "og:image", content: @post.open_graph_image_url %>

    <% if @post.is_video? %>
      <%= json_ld_video_data(@post) %>
    <% end %>
  <% end %>

  <% if @post.twitter_card_supported? %>
    <meta name="twitter:card" content="summary_large_image">

    <% if policy(@post).visible? %>
      <%= tag.meta name: "twitter:image", content: @post.open_graph_image_url %>
    <% end %>
  <% end %>

  <% if @post.rating == "e" %>
    <meta name="rating" content="adult">
  <% end %>
<% end %>
