<% size = local_assigns[:in_gallery] ? [800, 600] : [1024, 768] %>
<% width = blob.metadata["width"] %>
<% height = blob.metadata["height"] %>

<% if blob.video? %>
  <%= tag.video \
            src: rails_blob_path(blob),
            controls: true,
            preload: :none,
            style: "aspect-ratio: #{width} / #{height};",
            width: width,
            height: height %>
<% elsif blob.audio? %>
  <audio controls="true" width="100%" preload="metadata">
    <source src="<%= rails_blob_url(blob) %>" type="<%= blob.content_type %>">
  </audio>
<% elsif blob.variable? %>
  <%= image_tag url_for(blob.variant(loader: { n: -1 }, resize_to_limit: size)), width: width, height: height %>
<% elsif blob.previewable? %>
  <%= image_tag url_for(blob.preview(resize_to_limit: size)), width: width, height: height %>
<% else %>
  <span class="attachment__icon"><%= blob.filename.extension&.downcase.presence || "unknown" %></span>
<% end %>
