<%= render MediaAssetComponent.new(media_asset: @media_asset, current_user: CurrentUser.user, outer_classes: "sticky h-full relative top-0", inner_classes: "mx-auto", dynamic_height: true) do |component| %> <% component.with_header do %>
<%= link_to chevron_left_icon, media_assets_path(search: { id: ">#{@media_asset.id}", order: "id_asc" }, limit: 1, redirect: true), class: "paginator-prev flex items-center justify-center text-xl absolute left-0 z-10", "data-shortcut": "a left" %> <%= link_to chevron_right_icon, media_assets_path(search: { id: "<#{@media_asset.id}", order: "id_desc" }, limit: 1, redirect: true), class: "paginator-next flex items-center justify-center text-xl absolute right-0 z-10", "data-shortcut": "d right" %>
<% end %> <% if policy(@media_asset).can_see_image? %> <% component.with_footer do %>
<% @media_asset.source_urls.take(5).each do |url| %> <%= external_link_to url, external_site_icon(Source::URL.site_name(url), class: "h-4"), title: url, class: "inline-block align-top" %> <% end %> <%= link_to @media_asset.original.file_url do %> <%= number_to_human_size(@media_asset.file_size) %> .<%= @media_asset.file_ext %>, <%= @media_asset.image_width %>x<%= @media_asset.image_height %> <% if @media_asset.duration.present? %> (<%= duration_to_hhmmss(@media_asset.duration) %>) <% end %> <% end %>
<% end %> <% end %> <% end %>

Tags

    <% @media_asset.ai_tags.undeprecated.sort_by { |tag| [TagCategory.split_header_list.index(tag.category_name.downcase), tag.name.starts_with?("rating:") ? 0 : 1, tag.name] }.each do |ai_tag| %> <%= tag.li class: "tag-type-#{ai_tag.category} space-x-1 text-sm", "data-tag-name": ai_tag.name do %> <% if ai_tag.tag.artist? %> <%= link_to "?", show_or_new_artists_path(name: ai_tag.name) %> <% elsif ai_tag.name =~ /\A\d+\z/ %> <%= link_to "?", wiki_page_path("~#{ai_tag.name}") %> <% else %> <%= link_to "?", wiki_page_path(ai_tag.name) %> <% end %> <%= link_to ai_tag.pretty_name, media_assets_path(search: { ai_tags_match: ai_tag.name }), class: "break-word" %> <%= tag.span "#{ai_tag.score}%", class: ["text-muted text-xs"] %> <% end %> <% end %>
<% if @post.present? %> <% end %> <% if policy(@media_asset).can_see_image? %> <% end %> <% if @media_asset.duration.present? %> <% end %> <% @media_asset.source_urls.each do |url| %> <% end %> <% @media_asset.metadata.group_by { |key, value| key.split(":").first }.sort.each do |group, pairs| %> <% pairs.sort.each do |key, value| %> <% end %> <% end %>
Metadata
Post <%= link_to "##{@post.id}", @post %>
MD5 <%= @media_asset.md5 %>
File Type <%= @media_asset.mime_type %>
File Size <%= number_to_human_size(@media_asset.file_size) %>
Resolution <%= @media_asset.image_width %>x<%= @media_asset.image_height %>
Duration <%= duration_to_hhmmss(@media_asset.duration) %>
Source <%= external_link_to url %>
<%= group.split(/[ _-]/).map(&:upcase_first).join(" ") %>
<%= key.split(":").second.scan(/(?:[A-Z][a-z]+|[A-Z]+(?![a-z]))/).join(" ") %> <%= link_to value, media_assets_path(search: { metadata: { key => value }}) %>
<%= render "uploads/secondary_links" %>