From d44b35cf0a613828ab889999977647de598b0f2f Mon Sep 17 00:00:00 2001 From: Pete Matsyburka Date: Sat, 23 May 2026 08:25:04 +0300 Subject: [PATCH] convert images on upload --- app/javascript/elements/convert_upload.js | 4 ++-- app/javascript/submission_form/dropzone.vue | 4 ++-- app/javascript/template_builder/upload.vue | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/javascript/elements/convert_upload.js b/app/javascript/elements/convert_upload.js index 4124ad5b..a00cd666 100644 --- a/app/javascript/elements/convert_upload.js +++ b/app/javascript/elements/convert_upload.js @@ -38,10 +38,10 @@ export async function convertImagesInInput (input) { let converted = file try { - if (['image/bmp', 'image/vnd.microsoft.icon', 'image/svg+xml'].includes(file.type)) { + if (['image/bmp', 'image/vnd.microsoft.icon', 'image/svg+xml', 'image/gif'].includes(file.type)) { converted = await convertImage(file, 'image/png') didConvert = true - } else if (['image/heic', 'image/heif', 'image/heic-sequence', 'image/heif-sequence', 'image/avif', 'image/avif-sequence'].includes(file.type)) { + } else if (['image/heic', 'image/heif', 'image/heic-sequence', 'image/heif-sequence', 'image/avif', 'image/avif-sequence', 'image/webp'].includes(file.type)) { converted = await convertImage(file, 'image/jpeg', 0.9) didConvert = true } diff --git a/app/javascript/submission_form/dropzone.vue b/app/javascript/submission_form/dropzone.vue index 25790206..95b287b6 100644 --- a/app/javascript/submission_form/dropzone.vue +++ b/app/javascript/submission_form/dropzone.vue @@ -184,9 +184,9 @@ export default { }) } else { try { - if (['image/bmp', 'image/vnd.microsoft.icon', 'image/svg+xml'].includes(file.type)) { + if (['image/bmp', 'image/vnd.microsoft.icon', 'image/svg+xml', 'image/gif'].includes(file.type)) { file = await convertImage(file, 'image/png') - } else if (['image/heic', 'image/heif', 'image/heic-sequence', 'image/heif-sequence', 'image/avif', 'image/avif-sequence'].includes(file.type)) { + } else if (['image/heic', 'image/heif', 'image/heic-sequence', 'image/heif-sequence', 'image/avif', 'image/avif-sequence', 'image/webp'].includes(file.type)) { file = await convertImage(file, 'image/jpeg', 0.9) } } catch (e) { diff --git a/app/javascript/template_builder/upload.vue b/app/javascript/template_builder/upload.vue index af4f4101..0c688914 100644 --- a/app/javascript/template_builder/upload.vue +++ b/app/javascript/template_builder/upload.vue @@ -208,10 +208,10 @@ async function convertImagesInInput (input) { let converted = file try { - if (['image/bmp', 'image/vnd.microsoft.icon', 'image/svg+xml'].includes(file.type)) { + if (['image/bmp', 'image/vnd.microsoft.icon', 'image/svg+xml', 'image/gif'].includes(file.type)) { converted = await convertImage(file, 'image/png') didConvert = true - } else if (['image/heic', 'image/heif', 'image/heic-sequence', 'image/heif-sequence', 'image/avif', 'image/avif-sequence'].includes(file.type)) { + } else if (['image/heic', 'image/heif', 'image/heic-sequence', 'image/heif-sequence', 'image/avif', 'image/avif-sequence', 'image/webp'].includes(file.type)) { converted = await convertImage(file, 'image/jpeg', 0.9) didConvert = true }