Refactor the post preview html to use the ViewComponent framework. This lets us encapsulate all the HTML, CSS, and helper methods for a UI component in a single place. See https://viewcomponent.org.
19 lines
711 B
Plaintext
19 lines
711 B
Plaintext
<div id="p-index-by-post">
|
|
<% if @posts.blank? %>
|
|
<%= render "post_sets/blank" %>
|
|
<% end %>
|
|
|
|
<% @posts.select(&:visible?).each do |post| %>
|
|
<% if post.comments.unhidden(CurrentUser.user).any? || post.comments.hidden(CurrentUser.user).any? %>
|
|
<%= tag.div id: "post_#{post.id}", **PostPreviewComponent.new(post: post).article_attrs("post") do %>
|
|
<div class="preview">
|
|
<%= link_to(image_tag(post.preview_file_url), post_path(post)) %>
|
|
</div>
|
|
<%= render "comments/partials/index/list", post: post, comments: post.comments.unhidden(CurrentUser.user).last(6), page: :comments %>
|
|
<% end %>
|
|
<% end %>
|
|
<% end %>
|
|
</div>
|
|
|
|
<%= numbered_paginator(@posts) %>
|