commontator 6.0.0.pre.1 → 6.0.0.pre.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/stylesheets/commontator/application.scss +10 -3
  3. data/app/assets/stylesheets/commontator/comments.scss +4 -0
  4. data/app/controllers/commontator/comments_controller.rb +16 -4
  5. data/app/controllers/commontator/threads_controller.rb +1 -0
  6. data/app/helpers/commontator/link_renderer.rb +6 -4
  7. data/app/models/commontator/collection.rb +26 -0
  8. data/app/models/commontator/comment.rb +13 -110
  9. data/app/models/commontator/subscription.rb +2 -2
  10. data/app/models/commontator/thread.rb +102 -16
  11. data/app/views/commontator/comments/_body.html.erb +1 -8
  12. data/app/views/commontator/comments/_form.html.erb +1 -4
  13. data/app/views/commontator/comments/_list.html.erb +9 -5
  14. data/app/views/commontator/comments/_show.html.erb +85 -39
  15. data/app/views/commontator/comments/_show.js.erb +14 -0
  16. data/app/views/commontator/comments/_votes.html.erb +1 -1
  17. data/app/views/commontator/comments/create.js.erb +18 -13
  18. data/app/views/commontator/comments/delete.js.erb +9 -15
  19. data/app/views/commontator/comments/new.js.erb +2 -8
  20. data/app/views/commontator/comments/show.js.erb +30 -0
  21. data/app/views/commontator/comments/update.js.erb +9 -7
  22. data/app/views/commontator/shared/_thread.html.erb +3 -8
  23. data/app/views/commontator/threads/_reply.html.erb +2 -3
  24. data/app/views/commontator/threads/_show.html.erb +39 -42
  25. data/app/views/commontator/threads/_show.js.erb +5 -5
  26. data/app/views/commontator/threads/show.js.erb +3 -2
  27. data/config/initializers/commontator.rb +9 -6
  28. data/config/locales/de.yml +10 -2
  29. data/config/locales/en.yml +10 -2
  30. data/config/locales/pt-BR.yml +10 -2
  31. data/config/locales/ru.yml +10 -2
  32. data/config/locales/zh.yml +12 -4
  33. data/config/routes.rb +9 -9
  34. data/db/migrate/1_add_replying_to_comments.rb +0 -2
  35. data/lib/commontator.rb +1 -0
  36. data/lib/commontator/commontable_config.rb +6 -1
  37. data/lib/commontator/commontator_config.rb +1 -1
  38. data/lib/commontator/config.rb +2 -2
  39. data/lib/commontator/controllers.rb +3 -8
  40. data/lib/commontator/shared_helper.rb +0 -1
  41. data/lib/commontator/version.rb +1 -1
  42. metadata +13 -12
  43. data/app/views/commontator/comments/_actions.html.erb +0 -28
  44. data/app/views/commontator/comments/_reply.html.erb +0 -15
@@ -3,11 +3,4 @@
3
3
  comment
4
4
  %>
5
5
 
6
- <%=
7
- commontator_simple_format(
8
- comment.is_deleted? ? t(
9
- 'commontator.comment.status.deleted_by',
10
- deleter_name: Commontator.commontator_name(comment.editor)
11
- ) : comment.body
12
- )
13
- %>
6
+ <%= commontator_simple_format comment.body %>
@@ -3,7 +3,6 @@
3
3
  # comment
4
4
  #
5
5
  # Optionally, they can also supply the following variables:
6
- per_page ||= nil
7
6
  thread ||= nil
8
7
  no_remote ||= false
9
8
  %>
@@ -23,13 +22,11 @@
23
22
  <% end %>
24
23
 
25
24
  <%= form_for([commontator, thread, comment], remote: !no_remote) do |form| %>
26
- <%= hidden_field_tag :per_page, per_page %>
27
-
28
25
  <%= form.hidden_field :parent_id %>
29
26
 
30
27
  <% unless comment.parent.nil? %>
31
28
  <div class="replying">
32
- <%= t('commontator.comment.replying',
29
+ <%= t('commontator.comment.status.replying',
33
30
  creator_name: Commontator.commontator_name(comment.parent.creator)) %>
34
31
  </div>
35
32
  <% end %>
@@ -1,11 +1,15 @@
1
1
  <%#
2
2
  Controllers that use this partial must supply the following variables:
3
- comments
4
3
  user
5
- per_page
4
+ nested_comments
6
5
  %>
7
6
 
8
- <% comments.includes(:creator, :editor).each do |comment| %>
9
- <%= render partial: 'commontator/comments/show',
10
- locals: { comment: comment, user: user, per_page: per_page } %>
7
+ <% nested_comments.each do |comment, nested_children| %>
8
+ <div id="commontator-comment-<%= comment.id %>" class="comment">
9
+ <%=
10
+ render partial: 'commontator/comments/show', formats: [ :html ], locals: {
11
+ user: user, comment: comment, nested_children: nested_children
12
+ }
13
+ %>
14
+ </div>
11
15
  <% end %>
@@ -1,54 +1,100 @@
1
- <%#
2
- Controllers that use this partial must supply the following variables:
3
- comment
4
- user
5
- per_page
6
- %>
1
+ <%
2
+ # Controllers that use this partial must supply the following variables:
3
+ # user
4
+ # comment
5
+ # nested_children or page
6
+ # show_all
7
+
8
+ thread = comment.thread
9
+ nested_children ||= begin
10
+ children = thread.paginated_comments(page, comment.id, show_all)
11
+ thread.nested_comments_for(user, children, show_all)
12
+ end
7
13
 
8
- <% creator = comment.creator
9
- name = Commontator.commontator_name(creator) || ''
10
- link = Commontator.commontator_link(creator, main_app) || ''
11
- avatar = Commontator.commontator_avatar(creator, self) || ''
14
+ creator = comment.creator
15
+ link = Commontator.commontator_link(creator, main_app)
16
+ name = Commontator.commontator_name(creator) || ''
12
17
  %>
13
18
 
14
- <div id="commontator-comment-<%= comment.id %>" class="comment">
15
- <div id="commontator-comment-<%= comment.id %>-section-top" class="section top">
16
- <span id="commontator-comment-<%= comment.id %>-author" class="author">
17
- <%= link.blank? ? name : link_to(name, link) %>
18
- </span>
19
+ <div id="commontator-comment-<%= comment.id %>-section-top" class="section top">
20
+ <span id="commontator-comment-<%= comment.id %>-author" class="author">
21
+ <%= link.blank? ? name : link_to(name, link) %>
22
+ </span>
19
23
 
20
- <span id="commontator-comment-<%= comment.id %>-actions" class="actions">
21
- <%= render partial: 'commontator/comments/actions',
22
- locals: { comment: comment, user: user } %>
23
- </span>
24
- </div>
24
+ <span id="commontator-comment-<%= comment.id %>-actions" class="actions">
25
+ <%=
26
+ link_to(
27
+ t('commontator.comment.actions.edit'),
28
+ commontator.edit_comment_path(comment),
29
+ id: "commontator-comment-#{comment.id}-edit",
30
+ class: 'edit',
31
+ remote: true
32
+ ) if comment.can_be_edited_by?(user)
33
+ %>
25
34
 
26
- <div id="commontator-comment-<%= comment.id %>-section-middle" class="section middle">
27
- <span id="commontator-comment-<%= comment.id %>-avatar" class="avatar">
28
- <%= avatar %>
29
- </span>
35
+ <% if comment.can_be_deleted_by?(user) %>
36
+ <% is_deleted = comment.is_deleted? %>
37
+ <% del_string = is_deleted ? 'undelete' : 'delete' %>
38
+ <%= link_to t("commontator.comment.actions.#{del_string}"),
39
+ commontator.polymorphic_path([del_string, comment]),
40
+ data: is_deleted ? {} : { confirm: t('commontator.comment.actions.confirm_delete') },
41
+ method: :put,
42
+ id: "commontator-comment-#{comment.id}-#{del_string}",
43
+ class: del_string,
44
+ remote: true %>
45
+ <% end %>
46
+ </span>
47
+ </div>
30
48
 
31
- <span id="commontator-comment-<%= comment.id %>-votes" class="votes">
32
- <%= render partial: 'commontator/comments/votes', locals: { comment: comment, user: user } %>
33
- </span>
49
+ <div id="commontator-comment-<%= comment.id %>-section-middle" class="section middle">
50
+ <span id="commontator-comment-<%= comment.id %>-avatar" class="avatar">
51
+ <%= Commontator.commontator_avatar(creator, self) %>
52
+ </span>
34
53
 
35
- <div id="commontator-comment-<%= comment.id %>-body" class="body">
36
- <%= render partial: 'commontator/comments/body', locals: { comment: comment } %>
37
- </div>
54
+ <span id="commontator-comment-<%= comment.id %>-votes" class="votes">
55
+ <%= render partial: 'commontator/comments/votes', locals: { comment: comment, user: user } %>
56
+ </span>
57
+
58
+ <div id="commontator-comment-<%= comment.id %>-body" class="body">
59
+ <%= render partial: 'commontator/comments/body', locals: { comment: comment } %>
38
60
  </div>
61
+ </div>
39
62
 
40
- <div id="commontator-comment-<%= comment.id %>-section-bottom" class="section bottom">
63
+ <div id="commontator-comment-<%= comment.id %>-section-bottom" class="section bottom">
64
+ <% unless comment.is_deleted? %>
41
65
  <span id="commontator-comment-<%= comment.id %>-reply" class="reply">
42
- <%= render partial: 'commontator/comments/reply',
43
- locals: { comment: comment, user: user, per_page: per_page } %>
66
+ <%=
67
+ link_to(
68
+ t('commontator.comment.actions.reply'),
69
+ commontator.new_thread_comment_path(thread, comment: { parent_id: comment.id }),
70
+ remote: true
71
+ ) if thread.config.comment_reply_style != :n && !thread.is_closed?
72
+ %>
44
73
  </span>
74
+ <% end %>
45
75
 
46
- <span id="commontator-comment-<%= comment.id %>-created-timestamp" class="timestamp">
47
- <%= comment.created_timestamp %>
48
- </span>
76
+ <span id="commontator-comment-<%= comment.id %>-created-timestamp" class="timestamp">
77
+ <%= comment.created_timestamp %>
78
+ </span>
49
79
 
50
- <span id="commontator-comment-<%= comment.id %>-updated-timestamp" class="timestamp">
51
- <%= comment.updated_timestamp if comment.is_modified? %>
52
- </span>
80
+ <span id="commontator-comment-<%= comment.id %>-updated-timestamp" class="timestamp">
81
+ <%= comment.updated_timestamp if comment.is_modified? %>
82
+ </span>
83
+ </div>
84
+
85
+ <div id="commontator-comment-<%= comment.id %>-children" class="children">
86
+ <%= render partial: 'commontator/comments/list',
87
+ locals: { user: user, nested_comments: nested_children } %>
88
+ </div>
89
+
90
+ <div id="commontator-comment-<%= comment.id %>-pagination" class="pagination">
91
+ <div id="commontator-comment-<%= comment.id %>-will-paginate" class="will-paginate">
92
+ <%= will_paginate nested_children,
93
+ renderer: Commontator::LinkRenderer,
94
+ name: t('commontator.comment.status.reply_pages'),
95
+ remote: true,
96
+ params: { controller: 'commontator/comments',
97
+ action: 'show',
98
+ id: comment.id } %>
53
99
  </div>
54
100
  </div>
@@ -0,0 +1,14 @@
1
+ <%
2
+ # Views that use this partial must supply the following variables:
3
+ # user
4
+ # thread
5
+ # comment
6
+ # page
7
+ # show_all
8
+ %>
9
+
10
+ $("#commontator-comment-<%= comment.id %>").html("<%= escape_javascript(
11
+ render partial: 'commontator/comments/show', formats: [ :html ], locals: {
12
+ user: user, thread: thread, comment: comment, page: page, show_all: show_all
13
+ }
14
+ ) %>");
@@ -39,7 +39,7 @@
39
39
 
40
40
  <span id="commontator-comment-<%= comment.id %>-vote-count" class="vote-count">
41
41
  <% config = thread.config %>
42
- <%= config.vote_count_proc.call(thread, comment.get_upvotes.size, comment.get_downvotes.size) %>
42
+ <%= config.vote_count_proc.call(thread, comment.cached_votes_up, comment.cached_votes_down) %>
43
43
  </span>
44
44
 
45
45
  <% if comment_voting == :ld %>
@@ -1,25 +1,30 @@
1
1
  <%=
2
- render partial: 'commontator/threads/show', locals: {
3
- thread: @commontator_thread,
2
+ if @comment.parent.nil?
3
+ partial = 'threads'
4
+ extra_locals = {}
5
+ else
6
+ partial = 'comments'
7
+ extra_locals = { comment: @comment.parent }
8
+ end
9
+
10
+ render partial: "commontator/#{partial}/show", locals: extra_locals.merge(
4
11
  user: @commontator_user,
5
- per_page: @commontator_per_page,
6
- page: @commontator_thread.new_comment_page(@commontator_per_page),
12
+ thread: @commontator_thread,
13
+ page: @commontator_page,
7
14
  show_all: @commontator_show_all
8
- }
15
+ )
9
16
  %>
10
17
 
11
- <% unless @commontator_new_comment.nil? %>
18
+ <% if @commontator_new_comment.nil? %>
19
+ $("#commontator-thread-<%= @commontator_thread.id %>-new-comment").hide();
20
+
21
+ $("#commontator-thread-<%= @commontator_thread.id %>-new-comment-link").fadeIn();
22
+ <% else %>
12
23
  $("#commontator-thread-<%= @commontator_thread.id %>-new-comment").html("<%= escape_javascript(
13
24
  render partial: 'form', locals: {
14
- comment: @commontator_new_comment,
15
- thread: @commontator_thread,
16
- per_page: @commontator_per_page
25
+ comment: @commontator_new_comment, thread: @commontator_thread
17
26
  }
18
27
  ) %>");
19
- <% else %>
20
- $("#commontator-thread-<%= @commontator_thread.id %>-new-comment").hide();
21
-
22
- $("#commontator-thread-<%= @commontator_thread.id %>-new-comment-link").fadeIn();
23
28
  <% end %>
24
29
 
25
30
  $("#commontator-comment-<%= @comment.id %>").hide().fadeIn()[0].scrollIntoView();
@@ -1,17 +1,11 @@
1
- $("#commontator-comment-<%= @comment.id %>-body").html("<%= escape_javascript(
2
- render partial: 'body', locals: { comment: @comment }
3
- ) %>");
4
-
5
- $("#commontator-comment-<%= @comment.id %>-updated-timestamp").html("<%= escape_javascript(
6
- @comment.updated_timestamp
7
- ) %>");
8
-
9
- $("#commontator-comment-<%= @comment.id %>-actions").html("<%= escape_javascript(
10
- render partial: 'actions', locals: { comment: @comment, user: @commontator_user }
11
- ) %>");
12
-
13
- $("#commontator-comment-<%= @comment.id %>-votes").html("<%= escape_javascript(
14
- render partial: 'votes', locals: { comment: @comment, user: @commontator_user }
15
- ) %>");
1
+ <%=
2
+ render partial: 'show', locals: {
3
+ user: @commontator_user,
4
+ thread: @commontator_thread,
5
+ comment: @comment,
6
+ page: @commontator_page,
7
+ show_all: @commontator_show_all
8
+ }
9
+ %>
16
10
 
17
11
  <%= javascript_proc %>
@@ -1,12 +1,6 @@
1
1
  $("#commontator-thread-<%= @commontator_thread.id %>-new-comment").html("<%= escape_javascript(
2
- render partial: 'form', locals: {
3
- comment: @comment,
4
- thread: @commontator_thread,
5
- per_page: @commontator_per_page
6
- }
7
- ) %>");
8
-
9
- $("#commontator-thread-<%= @commontator_thread.id %>-new-comment").fadeIn()[0].scrollIntoView();
2
+ render partial: 'form', locals: { comment: @comment, thread: @commontator_thread }
3
+ ) %>").fadeIn()[0].scrollIntoView();
10
4
 
11
5
  $("#commontator-thread-<%= @commontator_thread.id %>-new-comment-link").hide();
12
6
 
@@ -0,0 +1,30 @@
1
+ var commontatorOldCommentIds = $("#commontator-comment-<%=
2
+ @comment.id
3
+ %>-children").children().map(function() {
4
+ return '#' + $(this).attr('id');
5
+ }).toArray().join(',');
6
+
7
+ <%=
8
+ render partial: 'show', locals: {
9
+ user: @commontator_user,
10
+ thread: @commontator_thread,
11
+ comment: @comment,
12
+ page: @commontator_page,
13
+ show_all: @commontator_show_all
14
+ }
15
+ %>
16
+
17
+ var commontatorOldComments = $(commontatorOldCommentIds);
18
+ var commontatorNewComments = $("#commontator-comment-<%=
19
+ @comment.id
20
+ %>-children").children().not(commontatorOldComments);
21
+
22
+ commontatorNewComments.hide().fadeIn();
23
+
24
+ if (commontatorOldComments.length > 0) {
25
+ commontatorOldComments[commontatorOldComments.length - 1].scrollIntoView();
26
+ } else {
27
+ $("#commontator-comment-<%= @comment.id %>")[0].scrollIntoView();
28
+ }
29
+
30
+ <%= javascript_proc %>
@@ -1,9 +1,11 @@
1
- $("#commontator-comment-<%= @comment.id %>-body").html("<%= escape_javascript(
2
- render partial: 'body', locals: { comment: @comment }
3
- ) %>");
4
-
5
- $("#commontator-comment-<%= @comment.id %>-updated-timestamp").html("<%= escape_javascript(
6
- @comment.updated_timestamp
7
- ) %>");
1
+ <%=
2
+ render partial: 'show', locals: {
3
+ user: @commontator_user,
4
+ thread: @commontator_thread,
5
+ comment: @comment,
6
+ page: @commontator_page,
7
+ show_all: @commontator_show_all
8
+ }
9
+ %>
8
10
 
9
11
  <%= javascript_proc %>
@@ -2,7 +2,6 @@
2
2
  # Controllers that use this partial must supply the following variables:
3
3
  # thread
4
4
  # user
5
- # per_page
6
5
  # page
7
6
  # show_all
8
7
  # Additionally, they may override the following variable:
@@ -14,18 +13,14 @@
14
13
  <% if @commontator_thread_show %>
15
14
  <%=
16
15
  render partial: 'commontator/threads/show', locals: {
17
- thread: thread,
18
- user: user,
19
- page: page,
20
- per_page: per_page,
21
- show_all: show_all
16
+ thread: thread, user: user, page: page, show_all: show_all
22
17
  }
23
18
  %>
24
19
  <% else %>
25
20
  <% subscription = thread.subscription_for(user) %>
26
21
  <%= link_to "#{t 'commontator.thread.actions.show'} (#{
27
- (subscription.unread_comments.count.to_s + '/') if subscription
28
- }#{thread.filtered_comments.count.to_s})",
22
+ (subscription.unread_comments(show_all).count.to_s + '/') if subscription
23
+ }#{thread.filtered_comments(show_all).count.to_s})",
29
24
  commontator.thread_path(thread),
30
25
  remote: true %>
31
26
  <% end %>
@@ -2,7 +2,6 @@
2
2
  Views that use this partial must supply the following variables:
3
3
  thread
4
4
  user
5
- per_page
6
5
  %>
7
6
 
8
7
  <div id="commontator-thread-<%= thread.id %>-reply" class="reply">
@@ -16,7 +15,7 @@
16
15
  <% unless @commontator_new_comment.nil? %>
17
16
  <%=
18
17
  render partial: 'commontator/comments/form', locals: {
19
- comment: @commontator_new_comment, thread: thread, per_page: per_page
18
+ comment: @commontator_new_comment, thread: thread
20
19
  }
21
20
  %>
22
21
  <% end %>
@@ -25,7 +24,7 @@
25
24
  <% if @commontator_new_comment.nil? %>
26
25
  <div id="commontator-thread-<%= thread.id %>-new-comment-link" class="new-comment">
27
26
  <%= link_to t('commontator.comment.actions.new'),
28
- commontator.new_thread_comment_path(thread, per_page: per_page),
27
+ commontator.new_thread_comment_path(thread),
29
28
  remote: true %>
30
29
  </div>
31
30
  <% end %>
@@ -1,14 +1,15 @@
1
- <%#
2
- Views that use this partial must supply the following variables:
3
- thread
4
- user
5
- page
6
- per_page
7
- show_all
8
- %>
1
+ <%
2
+ # Views that use this partial must supply the following variables:
3
+ # user
4
+ # thread
5
+ # page
6
+ # show_all
9
7
 
10
- <% can_subscribe = thread.can_subscribe?(user)
11
- can_edit = thread.can_be_edited_by?(user) %>
8
+ can_subscribe = thread.can_subscribe?(user)
9
+ can_edit = thread.can_be_edited_by?(user)
10
+ comments = thread.paginated_comments(page, nil, show_all)
11
+ nested_comments = thread.nested_comments_for(user, comments, show_all)
12
+ %>
12
13
 
13
14
  <div id="commontator-thread-<%= thread.id %>-show" class="show hidden">
14
15
  <%= link_to t('commontator.thread.actions.show'),
@@ -46,14 +47,14 @@
46
47
 
47
48
  <% if thread.is_filtered? %>
48
49
  <%= link_to t("commontator.thread.actions.#{filter_string}"),
49
- commontator.thread_url(thread, show_all: (show_all ? nil : true)),
50
+ commontator.thread_path(thread, show_all: (show_all ? nil : true)),
50
51
  id: "commontator-thread-#{thread.id}-#{filter_class}-link",
51
52
  class: filter_class,
52
53
  remote: true %>
53
54
  <% end %>
54
55
 
55
56
  <%= link_to t("commontator.thread.actions.#{close_string}"),
56
- commontator.polymorphic_url([close_string, thread]),
57
+ commontator.polymorphic_path([close_string, thread]),
57
58
  data: is_closed ? {} :
58
59
  { confirm: t('commontator.thread.actions.confirm_close') },
59
60
  method: :put,
@@ -70,45 +71,41 @@
70
71
  </div>
71
72
 
72
73
  <% if thread.config.comment_order == :l %>
73
- <%= render partial: 'commontator/threads/reply',
74
- locals: { thread: thread, user: user, per_page: per_page } %>
74
+ <%= render partial: 'commontator/threads/reply', locals: { thread: thread, user: user } %>
75
75
  <% end %>
76
76
 
77
77
  <div id="commontator-thread-<%= thread.id %>-comment-list" class="comment-list">
78
- <% comments = thread.paginated_comments(page, per_page, show_all) %>
79
-
80
- <%= render partial: 'commontator/comments/list',
81
- locals: { comments: comments, user: user, per_page: per_page } %>
78
+ <%=
79
+ render partial: 'commontator/comments/list', locals: {
80
+ user: user, nested_comments: nested_comments
81
+ }
82
+ %>
82
83
  </div>
83
84
 
84
- <% if thread.will_paginate? %>
85
- <div id="commontator-thread-<%= thread.id %>-pagination" class="pagination">
86
- <div id="commontator-thread-<%= thread.id %>-page-entries-info" class="page-entries-info">
87
- <%= page_entries_info comments,
88
- params: { controller: 'commontator/threads',
89
- action: 'show',
90
- id: thread.id,
91
- page: page,
92
- per_page: per_page } %>.
93
- </div>
85
+ <div id="commontator-thread-<%= thread.id %>-pagination" class="pagination">
86
+ <div id="commontator-thread-<%= thread.id %>-page-entries-info" class="page-entries-info">
87
+ <%=
88
+ page_entries_info(comments) unless [ :i, :b ].include? thread.config.comment_reply_style
89
+ %>
90
+ </div>
94
91
 
95
- <div id="commontator-thread-<%= thread.id %>-will-paginate" class="will-paginate">
96
- <%= will_paginate comments,
97
- renderer: Commontator::LinkRenderer,
98
- routes_proxy: commontator,
99
- remote: true,
100
- params: { controller: 'commontator/threads',
101
- action: 'show',
102
- id: thread.id,
103
- page: page,
104
- per_page: per_page } %>
105
- </div>
92
+ <div id="commontator-thread-<%= thread.id %>-will-paginate" class="will-paginate">
93
+ <%=
94
+ name = t('commontator.thread.status.pages') \
95
+ if [ :i, :b ].include?(thread.config.comment_reply_style)
96
+ will_paginate comments,
97
+ renderer: Commontator::LinkRenderer,
98
+ name: name,
99
+ remote: true,
100
+ params: { controller: 'commontator/threads',
101
+ action: 'show',
102
+ id: thread.id }
103
+ %>
106
104
  </div>
107
- <% end %>
105
+ </div>
108
106
 
109
107
  <% if thread.config.comment_order != :l %>
110
- <%= render partial: 'commontator/threads/reply',
111
- locals: { thread: thread, user: user, per_page: per_page } %>
108
+ <%= render partial: 'commontator/threads/reply', locals: { thread: thread, user: user } %>
112
109
  <% end %>
113
110
  </div>
114
111