app/views/admin/assets/_asset.html.erb
<div data-controller="admin--asset" data-admin--asset-deleted="<%= asset.soft_deleted? %>" data-admin--asset-spam="<%= asset.is_spam? %>" data-admin--asset-user-deleted="<%= asset.possibly_deleted_user.soft_deleted? %>" >
<div class="date_column"><%= asset.created_at.strftime("%b %d") %></div>
<div class="user_column">
<div class="avatar">
<%= user_image(asset.possibly_deleted_user, variant: :large_avatar) %>
</div>
<div>
<div><%= link_to asset.possibly_deleted_user.login, admin_possibly_deleted_user_path(asset.possibly_deleted_user.login) %>
<div class="deleted_at_date"><%== "Deleted #{local_time_ago asset.possibly_deleted_user.deleted_at}" if asset.possibly_deleted_user.deleted_at %></div>
</div>
<div><%= asset.possibly_deleted_user.ip %></div>
</div>
</div>
<div class="track_column">
<div><%= link_to asset.title, user_track_path(asset.possibly_deleted_user, asset.permalink) %></div>
<div><%= truncate(asset.description, length: 80) %></div>
<div>N comments / N listens</div>
</div>
<div class="button_column">
<%= button_to "Spam Asset", spam_admin_asset_path(asset.id), method: :put, data: { 'admin--asset-target': 'spamButton', action: 'click->admin--asset#markTrackAsDeleted' } %>
<%= button_to "Delete Asset", delete_admin_asset_path(asset.id), method: :put, data: { confirm: 'Are you sure?', 'admin--asset-target': 'deleteButton', action: 'admin--asset#markTrackAsDeleted' } %>
<%= button_to "Restore Asset", restore_admin_asset_path(asset.id), method: :put, data: { 'admin--asset-target': 'restoreButton', action: 'admin--asset#markTrackAsRestored' } %>
</div>
</div>