article.block.communication id="comment_#{@comment.id}"
  = if not @comment.approved and not @comment.hidden_from_users and (can?(@conn, :hide, @comment) or @comment.user_id == @conn.assigns.current_user.id) do
    .block__content
      .block.block--fixed.block--danger
        p
          i.fas.fa-exclamation-triangle>
          ' This comment is pending approval from a staff member.
        = if can?(@conn, :approve, @comment) do
          p
            ul.horizontal-list
              li
                = link(to: ~p"/images/#{@comment.image_id}/comments/#{@comment}/approve", data: [confirm: "Are you sure?"], method: "post", class: "button") do
                  i.fas.fa-check>
                  ' Approve
              li
                a.button.togglable-delete-form-link href="#" data-click-toggle="#inline-reject-form-comment-#{@comment.id}"
                  i.fa.fa-times>
                  ' Reject

            = form_for :comment, ~p"/images/#{@comment.image_id}/comments/#{@comment}/hide", [class: "togglable-delete-form hidden flex", id: "inline-reject-form-comment-#{@comment.id}"], fn f ->
              = text_input f, :deletion_reason, class: "input input--wide", placeholder: "Deletion Reason", id: "inline-reject-reason-comment-#{@comment.id}", required: true
              = submit "Delete", class: "button"

  .block__content.flex.flex--no-wrap class=communication_body_class(@comment)
    .flex__fixed.spacing-right
      = render PhilomenaWeb.UserAttributionView, "_anon_user_avatar.html", object: @comment, conn: @conn
    .flex__grow.communication__body
      span.communication__body__sender-name = render PhilomenaWeb.UserAttributionView, "_anon_user.html", object: @comment, awards: true, conn: @conn
      br
      = render PhilomenaWeb.UserAttributionView, "_anon_user_title.html", object: @comment, conn: @conn
      .communication__body__text
        = if @comment.hidden_from_users do
          strong.comment_deleted
            ' Deletion reason:
            =<> @comment.deletion_reason
            = if can?(@conn, :hide, @comment) and not is_nil(@comment.deleted_by) do
              | (
              = @comment.deleted_by.name
              | )

          = if can?(@conn, :hide, @comment) do
            = if @comment.destroyed_content do
              br
              strong.comment_deleted>
                | This comment's contents have been destroyed.
            - else
              br
              =<> @body

        - else
          =<> @body

  .block__content.communication__options
    .flex.flex--wrap.flex--spaced-out
      = render PhilomenaWeb.CommentView, "_comment_options.html", comment: @comment, conn: @conn

    = if can?(@conn, :hide, @comment) do
      .js-staff-action
        = cond do
          - @comment.hidden_from_users and not @comment.destroyed_content ->
            = link(to: ~p"/images/#{@comment.image_id}/comments/#{@comment}/hide", data: [confirm: "Are you sure?"], method: "delete", class: "communication__interaction") do
              i.fas.fa-check>
              ' Restore

            = if can?(@conn, :delete, @comment) do
              = link(to: ~p"/images/#{@comment.image_id}/comments/#{@comment}/delete", data: [confirm: "Are you sure?"], method: "post", class: "communication__interaction") do
                i.fas.fa-times>
                ' Delete Contents

          - not @comment.hidden_from_users and not @comment.destroyed_content ->
            a.communication__interaction.togglable-delete-form-link href="#" data-click-toggle="#inline-del-form-comment-#{@comment.id}"
              i.fas.fa-times>
              ' Delete

          - true ->

        = if can?(@conn, :show, :ip_address) do
          .communication__info.js-staff-action
            =<> link_to_ip(@conn, @comment.ip)
          .communication__info.js-staff-action
            =<> link_to_fingerprint(@conn, @comment.fingerprint)

        = form_for :comment, ~p"/images/#{@comment.image_id}/comments/#{@comment}/hide", [class: "togglable-delete-form hidden flex", id: "inline-del-form-comment-#{@comment.id}"], fn f ->
          = text_input f, :deletion_reason, class: "input input--wide", placeholder: "Deletion Reason", id: "inline-del-reason-comment-#{@comment.id}", required: true
          = submit "Delete", class: "button"
