uploads: add /upload_media_assets index page.

This page shows each individual file you've uploaded. This is different
from the regular uploads page because files in multi-file uploads are
not grouped together.
This commit is contained in:
evazion
2022-02-13 16:09:45 -06:00
parent 53a3beee35
commit 229759cc72
7 changed files with 89 additions and 0 deletions

View File

@@ -0,0 +1,7 @@
<%= render(MediaAssetGalleryComponent.new) do |gallery| %>
<% upload_media_assets.each do |upload_media_asset| %>
<% gallery.media_asset do %>
<%= render "upload_media_assets/preview", upload_media_asset: upload_media_asset, size: gallery.size %>
<% end %>
<% end %>
<% end %>

View File

@@ -0,0 +1,27 @@
<% media_asset = upload_media_asset.media_asset %>
<%= render MediaAssetPreviewComponent.new(media_asset: media_asset, size: size, link_target: [upload_media_asset.upload, upload_media_asset]) do |preview| %>
<% preview.missing_image do %>
<% if upload_media_asset.failed? %>
Failed
<% else %>
Loading
<% end %>
<% end %>
<% preview.footer do %>
<div class="text-center text-muted text-xs h-12">
<% if media_asset&.post.present? %>
<div class="leading-none">
<%= link_to "post ##{media_asset.post.id}", media_asset.post, class: "leading-none" %>
</div>
<% end %>
<% if upload_media_asset.source_url.present? %>
<%= external_link_to upload_media_asset.source_url, Addressable::URI.parse(upload_media_asset.source_url).domain %>
<% else %>
<em>No source</em>
<% end %>
</div>
<% end %>
<% end %>

View File

@@ -0,0 +1,16 @@
<div id="c-upload-media-assets">
<div id="a-index">
<div class="flex items-center mb-2">
<h1 class="flex-1">My Uploads</h1>
<span>
<strong>Gallery</strong> |
<%= link_to "Table", uploads_path(mode: "table") %>
</span>
</div>
<%= render "upload_media_assets/gallery", upload_media_assets: @upload_media_assets %>
<%= numbered_paginator(@upload_media_assets) %>
</div>
</div>