<%= board_breadcrumb(@message) %>

<div data-controller="quote-reply">
  <div class="contextual">
    <%= watcher_link(@topic, User.current) %>
    <%= quote_reply_button(
          url: url_for(action: 'quote', id: @topic, format: 'js')
        ) if !@topic.locked? && authorize_for('messages', 'reply') %>
    <%= link_to(
          sprite_icon('edit', l(:button_edit)),
          { :action => 'edit', :id => @topic },
          :class => 'icon icon-edit'
        ) if @message.editable_by?(User.current) %>
    <%= link_to(
          sprite_icon('del', l(:button_delete)),
          { :action => 'destroy', :id => @topic },
          :method => :post,
          :data => { :confirm => l(:text_are_you_sure) },
          :class => 'icon icon-del'
        ) if @message.destroyable_by?(User.current) %>
  </div>

  <h2><%= avatar(@topic.author) %><%= @topic.subject %></h2>

  <div class="message">
    <div class="reaction">
      <%= reaction_button @topic %>
    </div>
    <p><span class="author"><%= authoring @topic.created_on, @topic.author %></span></p>
    <div id="message_topic_wiki" class="wiki" data-quote-reply-target="content">
      <%= textilizable(@topic, :content) %>
    </div>
    <%= link_to_attachments @topic, :author => false, :thumbnails => true %>
  </div>
</div>
<br/>

<% unless @replies.empty? %>
  <div id="replies" class="journals">
    <h3 class="comments icon icon-comments"><%= sprite_icon('comments', l(:label_reply_plural)) %>
      (<%= @reply_count %>)</h3>
    <% if !@topic.locked? && authorize_for('messages', 'reply') && @replies.size >= 3 %>
      <p><%= toggle_link l(:button_reply), "reply", :focus => 'message_content', :scroll => "message_content" %></p>
    <% end %>
    <% @replies.each do |message| %>
      <div class="message reply journal" id="<%= "message-#{message.id}" %>" data-controller="quote-reply">
        <h4 class='reply-header journal-header'>
    <span class="journal-info">
      <%= avatar(message.author) %>
      <%= link_to message.subject, { :controller => 'messages', :action => 'show', :board_id => @board, :id => @topic, :r => message, :anchor => "message-#{message.id}" } %>
      -
      <%= authoring message.created_on, message.author %>
    </span>
          <span class="journal-meta">
            <%= reaction_button message %>
            <%= quote_reply_button(
                  url: url_for(action: 'quote', id: message, format: 'js'),
                  icon_only: true
                ) if !@topic.locked? && authorize_for('messages', 'reply') %>
            <%= link_to(
                  sprite_icon('edit', l(:button_edit), icon_only: true),
                  { :action => 'edit', :id => message },
                  :title => l(:button_edit),
                  :class => 'icon icon-edit'
                ) if message.editable_by?(User.current) %>
            <%= link_to(
                  sprite_icon('del', l(:button_delete), icon_only: true),
                  { :action => 'destroy', :id => message },
                  :method => :post,
                  :data => { :confirm => l(:text_are_you_sure) },
                  :title => l(:button_delete),
                  :class => 'icon icon-del'
                ) if message.destroyable_by?(User.current) %>
          </span>
        </h4>
        <div class="wiki journal-content" data-quote-reply-target="content">
          <%= textilizable message, :content, :attachments => message.attachments %>
        </div>
        <%= link_to_attachments message, :author => false, :thumbnails => true %>
      </div>
    <% end %>
  </div>
  <span class="pagination"><%= pagination_links_full @reply_pages, @reply_count, :per_page_links => false %></span>
<% end %>

<% if !@topic.locked? && authorize_for('messages', 'reply') %>
  <p><%= toggle_link l(:button_reply), "reply", :focus => 'message_content' %></p>
  <div id="reply" style="display:none;">
    <%= form_for @reply, :as => :reply, :url => { :action => 'reply', :id => @topic }, :html => { :multipart => true, :id => 'message-form' } do |f| %>
      <%= render :partial => 'form', :locals => { :f => f, :replying => true } %>
      <%= submit_tag l(:button_submit) %>
    <% end %>
  </div>
<% end %>

<% html_title @topic.subject %>
<% content_for :sidebar do %>
  <% if User.current.allowed_to?(:add_message_watchers, @project) ||
        (@topic.watchers.present? && User.current.allowed_to?(:view_message_watchers, @project)) %>
    <div id="watchers">
      <%= render :partial => 'watchers/watchers', :locals => { :watched => @topic } %>
    </div>
  <% end %>
<% end %>
