diff --git a/app/helpers/submission_file_helper.rb b/app/helpers/submission_file_helper.rb index 5c81ab9d..fecd3123 100644 --- a/app/helpers/submission_file_helper.rb +++ b/app/helpers/submission_file_helper.rb @@ -7,12 +7,19 @@ def display_artist_name?(submission_file) s1.gsub(/\W+/, "") != s2.gsub(/\W+/, "") end + def submission_file_tag(submission_file) + dimensions = { width: submission_file.width, height: submission_file.height } + sample = image_tag(url_for(submission_file.sample), loading: "lazy", class: "submission-file", **dimensions) + sample + original_file_tag(submission_file) + end + def original_file_tag(submission_file) url = url_for(submission_file.original) + dimensions = { width: submission_file.width, height: submission_file.height } if submission_file.original.content_type.in? ["video/mp4", "video/webm"] - video_tag url, controls: false, class: "submission-file-full hidden" + video_tag(url, controls: false, class: "submission-file-full hidden", **dimensions) else - image_tag url, loading: "lazy", class: "submission-file-full hidden" + image_tag(url, loading: "lazy", class: "submission-file-full hidden", **dimensions) end end end diff --git a/app/stylesheet/specific/submission_files.scss b/app/stylesheet/specific/submission_files.scss index 3b557c5b..72c15cee 100644 --- a/app/stylesheet/specific/submission_files.scss +++ b/app/stylesheet/specific/submission_files.scss @@ -21,6 +21,8 @@ .submission-file-full { max-width: 75vw; max-height: 75vh; + width: auto; + object-fit: contain; z-index: 2; position: fixed; left: 50%; diff --git a/app/views/submission_files/_sample.html.erb b/app/views/submission_files/_sample.html.erb index d4a8e072..e4473012 100644 --- a/app/views/submission_files/_sample.html.erb +++ b/app/views/submission_files/_sample.html.erb @@ -3,8 +3,7 @@ <% if submission_file.sample_generated? %>
<% if submission_file.sample.content_type.in? %w[image/jpeg image/gif] %> - <%= image_tag url_for(submission_file.sample), loading: "lazy", class: "submission-file", width: submission_file.width, height: submission_file.height %> - <%= original_file_tag(submission_file) %> + <%= submission_file_tag(submission_file) %> <% else %> Unhandled content_type <%= submission_file.sample.content_type %> <% end %>