summaryrefslogtreecommitdiffstats
path: root/app/views/messages
diff options
context:
space:
mode:
Diffstat (limited to 'app/views/messages')
-rw-r--r--app/views/messages/show.html.erb143
1 files changed, 74 insertions, 69 deletions
diff --git a/app/views/messages/show.html.erb b/app/views/messages/show.html.erb
index b265cc962..e60c803b7 100644
--- a/app/views/messages/show.html.erb
+++ b/app/views/messages/show.html.erb
@@ -1,99 +1,104 @@
-<% content_for :header_tags do %>
- <%= javascripts_for_quote_reply_include_tag %>
-<% end %>
-
<%= board_breadcrumb(@message) %>
-<div class="contextual">
+<div data-controller="quote-reply">
+ <div class="contextual">
<%= watcher_link(@topic, User.current) %>
- <%= quote_reply(
- url_for(:action => 'quote', :id => @topic, :format => 'js'),
- '#message_topic_wiki'
+ <%= 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},
+ { :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},
+ { :action => 'destroy', :id => @topic },
:method => :post,
- :data => {:confirm => l(:text_are_you_sure)},
+ :data => { :confirm => l(:text_are_you_sure) },
:class => 'icon icon-del'
- ) if @message.destroyable_by?(User.current) %>
-</div>
+ ) if @message.destroyable_by?(User.current) %>
+ </div>
-<h2><%= avatar(@topic.author) %><%= @topic.subject %></h2>
+ <h2><%= avatar(@topic.author) %><%= @topic.subject %></h2>
-<div class="message">
-<p><span class="author"><%= authoring @topic.created_on, @topic.author %></span></p>
-<div id="message_topic_wiki" class="wiki">
-<%= textilizable(@topic, :content) %>
-</div>
-<%= link_to_attachments @topic, :author => false, :thumbnails => true %>
+ <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 />
+<br/>
<% unless @replies.empty? %>
-<div id="replies">
-<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" id="<%= "message-#{message.id}" %>">
- <div class="contextual">
- <%= quote_reply(
- url_for(:action => 'quote', :id => message, :format => 'js'),
- "#message-#{message.id} .wiki",
- 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) %>
- </div>
- <h4 class='reply-header'>
- <%= 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 %>
- </h4>
- <div class="wiki"><%= textilizable message, :content, :attachments => message.attachments %></div>
- <%= link_to_attachments message, :author => false, :thumbnails => true %>
+ <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>
-<% end %>
-</div>
-<span class="pagination"><%= pagination_links_full @reply_pages, @reply_count, :per_page_links => false %></span>
+ <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>
+ <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)) %>
+ (@topic.watchers.present? && User.current.allowed_to?(:view_message_watchers, @project)) %>
<div id="watchers">
- <%= render :partial => 'watchers/watchers', :locals => {:watched => @topic} %>
+ <%= render :partial => 'watchers/watchers', :locals => { :watched => @topic } %>
</div>
<% end %>
<% end %>