Files
danbooru/app/views/uploads/_table.html.erb
evazion 054b0b4d0a uploads: add thumbnail view to /uploads listing.
Add a thumbnail view to the /uploads listing. You can click on images to
resume the upload, or go to the post if it's already been posted.
2022-02-02 01:50:34 -06:00

84 lines
2.6 KiB
Plaintext

<div class="flex items-center mb-2">
<h1 class="flex-1">My Uploads</h1>
<span>
<%= link_to "Gallery", uploads_path(mode: "gallery") %> |
<strong>Table</strong>
</span>
</div>
<%= table_for @uploads, class: "striped autofit", width: "100%" do |t| %>
<% t.column "Upload", td: { class: "text-center" } do |upload| %>
<% upload.media_assets.first.tap do |media_asset| %>
<% if media_asset.present? %>
<% if media_asset.post.present? %>
<%= render MediaAssetPreviewComponent.new(media_asset: media_asset, link_target: media_asset.post, save_data: CurrentUser.save_data, shrink_to_fit: false) %>
<% else %>
<%= render MediaAssetPreviewComponent.new(media_asset: media_asset, link_target: upload, save_data: CurrentUser.save_data, shrink_to_fit: false) %>
<% end %>
<% end %>
<% end %>
<% end %>
<% t.column "Info", td: { class: "col-expand" } do |upload| %>
<div>
<% upload.media_assets.first.tap do |media_asset| %>
<% if media_asset&.post.present? %>
<strong>Post</strong>
<span><%= link_to "##{media_asset.post.id}", media_asset.post %></span>
<% else %>
<strong>Upload</strong>
<span><%= link_to "##{upload.id}", upload %></span>
<% end %>
<% end %>
</div>
<div>
<strong>Source</strong>
<span>
<% if upload.source.present? %>
<%= external_link_to upload.source %>
<%= link_to "»", uploads_path(mode: "table", search: params[:search].merge(source_like: upload.source)) %>
<% else %>
<em>none</em>
<% end %>
</span>
</div>
<% if upload.referer_url.present? %>
<div>
<strong>Referrer</strong>
<span>
<%= external_link_to upload.referer_url %>
<%= link_to "»", uploads_path(mode: "table", search: params[:search].merge(referer_url: upload.referer_url)) %>
</span>
</div>
<% end %>
<% if upload.is_errored? %>
<div>
<strong>Error</strong>
<span>
<%= upload.status.delete_prefix("error: ") %>
</span>
</div>
<% end %>
<% end %>
<% t.column "Uploader" do |upload| %>
<%= link_to_user upload.uploader %>
<%= link_to "»", uploads_path(mode: "table", search: params[:search].merge(uploader_name: upload.uploader.name)) %>
<div><%= time_ago_in_words_tagged upload.created_at %></div>
<% end %>
<% t.column :status do |upload| %>
<% if upload.is_errored? %>
error
<% elsif !upload.is_completed? %>
<%= upload.status %>
<% end %>
<% end %>
<% end %>
<%= numbered_paginator(@uploads) %>