<% cache("whole-comment-area-#{@article.id}-#{@article.last_comment_at}-#{@article.show_comments}-#{@discussion_lock&.updated_at}-#{@comments_order}-#{user_signed_in?}", expires_in: 2.hours) do %>
<% if @article.show_comments %>

<%= t("views.articles.comments.subtitle.#{@comments_order}_html", num: tag.span(t("views.articles.comments.num", num: @article.comments_count), class: "js-comments-count", data: { comments_count: @article.comments_count })) %>

<% if @discussion_lock %> <%= render "/comments/discussion_lock_reason" %> <% else %> <%= render "/comments/form", commentable: @article, commentable_type: "Article" %> <% end %>
<% if @article.comments_count > 0 %> <%= render partial: "articles/comment_tree", collection: article_comment_tree(@article, @comments_to_show_count, @comments_order), as: :comment_node, cached: proc { |comment, _sub_comments| [comment, @comments_order, user_signed_in?] } %> <% end %>
<%= render "articles/comments_actions" %> <% end %>
<%= render "comments/hide_comments_modal" %> <% end %> <% return if @warm_only %>