posts: refactor post previews to use ViewComponent.
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.
This commit is contained in:
@@ -1,6 +1,10 @@
|
||||
<div id="posts" class="user-disable-cropped-<%= CurrentUser.user.disable_cropped_thumbnails? %>">
|
||||
<div id="posts-container">
|
||||
<%= post_set.post_previews_html(self) %>
|
||||
<% if post_set.shown_posts.empty? %>
|
||||
<%= render "post_sets/blank" %>
|
||||
<% else %>
|
||||
<%= post_previews_html(post_set.posts, show_deleted: post_set.show_deleted?, show_cropped: true, tags: post_set.tag_string) %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<% if post_set.hidden_posts.present? %>
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
<%= content_tag(:article, article_attrs) do -%>
|
||||
<%= link_to polymorphic_path(link_target, link_params) do -%>
|
||||
<%= content_tag(:picture) do -%>
|
||||
<%= tag.source media: "(max-width: 660px)", srcset: cropped_url -%>
|
||||
<%= tag.source media: "(min-width: 660px)", srcset: preview_url -%>
|
||||
<%= tag.img class: "has-cropped-#{has_cropped}", src: preview_url, style: "min-width: #{preview_width}px; min-height: #{preview_height}px;", title: tooltip, alt: alt_text -%>
|
||||
<% end -%>
|
||||
<% end -%>
|
||||
<% if pool -%>
|
||||
<p class="desc">
|
||||
<%= link_to pool.pretty_name.truncate(80), pool %>
|
||||
</p>
|
||||
<% end -%>
|
||||
<% if similarity -%>
|
||||
<p class="desc">
|
||||
<% if post.source =~ %r!\Ahttps?://!i %>
|
||||
<%= external_link_to post.normalized_source, post.source_domain %>
|
||||
(<%= time_ago_in_words_tagged(post.created_at, compact: true) %>)
|
||||
<% else %>
|
||||
<%= time_ago_in_words_tagged(post.created_at, compact: true) %>
|
||||
<% end %>
|
||||
</p>
|
||||
<% end %>
|
||||
<% if size -%>
|
||||
<p class="desc">
|
||||
<%= link_to number_to_human_size(size), post.file_url %>
|
||||
(<%= width %>x<%= height %>)
|
||||
</p>
|
||||
<% end -%>
|
||||
<% if similarity -%>
|
||||
<p class="desc">
|
||||
<%= link_to "#{similarity}%", iqdb_queries_path(post_id: post.id) %> similarity
|
||||
</p>
|
||||
<% end -%>
|
||||
|
||||
<% if recommended -%>
|
||||
<p class="desc recommended">
|
||||
<%= link_to recommended_posts_path(search: { post_id: post.id }), class: "more-recommended-posts", "data-post-id": post.id do %>
|
||||
<%= post.fav_count %>
|
||||
|
||||
<i class="far fa-heart fa-xs"></i>
|
||||
|
||||
<br>more »
|
||||
<% end %>
|
||||
</p>
|
||||
<% end -%>
|
||||
<% end -%>
|
||||
Reference in New Issue
Block a user