Files
danbooru/app/views/uploads/_preview.html.erb
evazion c7c326b552 uploads: fix exception on My Uploads page when upload is in pending state.
Fix an exception when an upload is in the pending state and it doesn't
have any upload media assets yet.
2022-02-16 16:38:47 -06:00

40 lines
1.4 KiB
Plaintext

<% upload_media_asset = upload.upload_media_assets.sort_by(&:id).first %>
<% media_asset = upload_media_asset&.media_asset %>
<%= render(MediaAssetPreviewComponent.new(media_asset: media_asset, size: size, link_target: upload, save_data: CurrentUser.save_data)) do |preview| %>
<% preview.missing_image do %>
<% if upload.is_errored? || upload_media_asset&.failed? %>
Upload failed
<% else %>
Loading
<% end %>
<% end %>
<% if upload.media_asset_count > 1 %>
<% preview.header do %>
<div class="media-asset-image-count-icon absolute top-0.5 right-0.5 p-1 m-0.5 leading-none rounded text-xs font-arial font-bold">
<%= multiple_images_icon %>
<span class="align-middle"><%= upload.media_asset_count %></span>
</div>
<% end %>
<% end %>
<% preview.footer do %>
<div class="text-center text-muted text-xs">
<div class="leading-none">
<% if upload.media_asset_count == 1 && media_asset&.post.present? %>
<%= link_to "post ##{media_asset.post.id}", media_asset.post, class: "leading-none" %>
<% else %>
<%= link_to "upload ##{upload.id}", upload, class: "leading-none" %>
<% end %>
</div>
<% if upload.source.present? %>
<%= external_link_to upload.source, Addressable::URI.parse(upload.source).domain %>
<% else %>
<em>No source</em>
<% end %>
</div>
<% end %>
<% end %>