diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 76d5d376f..509aa83e2 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -317,7 +317,7 @@ module ApplicationHelper
end
end
- def data_attributes_for(record, prefix, attributes)
+ def data_attributes_for(record, prefix = "data", attributes = record.html_data_attributes)
attributes.map do |attr|
if attr.is_a?(Array)
name = attr.map {|sym| sym.to_s.dasherize.delete("?")}.join('-')
diff --git a/app/logical/table_builder.rb b/app/logical/table_builder.rb
index 654c663f6..fa9082801 100644
--- a/app/logical/table_builder.rb
+++ b/app/logical/table_builder.rb
@@ -119,7 +119,7 @@ class TableBuilder
{
id: "#{item.model_name.singular.dasherize}-#{item.id}",
**row_attributes,
- **ApplicationController.helpers.data_attributes_for(item, "data", item.html_data_attributes)
+ **ApplicationController.helpers.data_attributes_for(item)
}
end
end
diff --git a/app/views/media_assets/_preview.html.erb b/app/views/media_assets/_preview.html.erb
index eed999217..d5e61fb78 100644
--- a/app/views/media_assets/_preview.html.erb
+++ b/app/views/media_assets/_preview.html.erb
@@ -1,4 +1,4 @@
-<%= render(MediaAssetPreviewComponent.new(media_asset: media_asset, size: size, link_target: media_asset)) do |preview| %>
+<%= render(MediaAssetPreviewComponent.new(media_asset: media_asset, size: size, link_target: media_asset, html: { **data_attributes_for(media_asset), "data-is-posted": media_asset.post.present? })) do |preview| %>
<% preview.footer do %>
<% if media_asset.post.present? %>
diff --git a/app/views/upload_media_assets/_preview.html.erb b/app/views/upload_media_assets/_preview.html.erb
index 3eb46bfe4..38f6eebe1 100644
--- a/app/views/upload_media_assets/_preview.html.erb
+++ b/app/views/upload_media_assets/_preview.html.erb
@@ -1,6 +1,6 @@
<% 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], classes: ["upload-media-asset-preview", ("upload-media-asset-loading" if upload_media_asset.loading?)], html: { "data-id": upload_media_asset.id }) do |preview| %>
+<%= render MediaAssetPreviewComponent.new(media_asset: media_asset, size: size, link_target: [upload_media_asset.upload, upload_media_asset], classes: ["upload-media-asset-preview", ("upload-media-asset-loading" if upload_media_asset.loading?)], html: { **data_attributes_for(upload_media_asset), "data-is-posted": upload_media_asset.post.present? }) do |preview| %>
<% preview.missing_image do %>
<% if upload_media_asset.failed? %>
Failed
diff --git a/app/views/uploads/_preview.html.erb b/app/views/uploads/_preview.html.erb
index 4d17d8da9..58d473acb 100644
--- a/app/views/uploads/_preview.html.erb
+++ b/app/views/uploads/_preview.html.erb
@@ -2,7 +2,7 @@
<% media_asset = upload_media_asset&.media_asset %>
<% link_target = upload.media_asset_count > 1 ? [upload, UploadMediaAsset] : upload %>
-<%= render(MediaAssetPreviewComponent.new(media_asset: media_asset, size: size, link_target: link_target, save_data: CurrentUser.save_data)) do |preview| %>
+<%= render(MediaAssetPreviewComponent.new(media_asset: media_asset, size: size, link_target: link_target, save_data: CurrentUser.save_data, classes: "upload-preview", html: { **data_attributes_for(upload), "data-is-posted": upload.media_asset_count == upload.posts.length })) do |preview| %>
<% preview.missing_image do %>
<% if upload.is_errored? || upload_media_asset&.failed? %>
Upload failed