From d659e6e37e85a48cf24168c214158cbe20a71c16 Mon Sep 17 00:00:00 2001 From: koyu Date: Tue, 7 Jun 2022 14:14:54 +0200 Subject: [PATCH] Add alt text to GIFs --- app/javascript/flavours/glitch/actions/compose.js | 3 ++- .../flavours/glitch/features/ui/components/gif_modal.js | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app/javascript/flavours/glitch/actions/compose.js b/app/javascript/flavours/glitch/actions/compose.js index 9d29b934c6..810806d059 100644 --- a/app/javascript/flavours/glitch/actions/compose.js +++ b/app/javascript/flavours/glitch/actions/compose.js @@ -294,7 +294,7 @@ export function tenorSet(options) { }; }; -export function uploadCompose(files) { +export function uploadCompose(files, alt = '') { return function (dispatch, getState) { const uploadLimit = 4; const media = getState().getIn(['compose', 'media_attachments']); @@ -320,6 +320,7 @@ export function uploadCompose(files) { resizeImage(f).then(file => { const data = new FormData(); data.append('file', file); + data.append('description', alt); // Account for disparity in size of original image and resized data total += file.size - f.size; diff --git a/app/javascript/flavours/glitch/features/ui/components/gif_modal.js b/app/javascript/flavours/glitch/features/ui/components/gif_modal.js index f2b589e979..43e18b0fd9 100644 --- a/app/javascript/flavours/glitch/features/ui/components/gif_modal.js +++ b/app/javascript/flavours/glitch/features/ui/components/gif_modal.js @@ -35,7 +35,7 @@ const mapDispatchToProps = dispatch => ({ /** Set options in the redux store */ setOpt: (opts) => dispatch(tenorSet(opts)), /** Submit GIF for upload */ - submit: (file) => dispatch(uploadCompose([file])), + submit: (file, alt) => dispatch(uploadCompose([file], alt)), }); export default @connect(mapStateToProps, mapDispatchToProps) @@ -52,6 +52,7 @@ class GIFModal extends ImmutablePureComponent { onDoneButton = (result) => { const url = result.media[0].mp4.url; + const alt = result.content_description; var modal = this; // eslint-disable-next-line promise/catch-or-return fetch(url).then(function(response) { @@ -62,7 +63,7 @@ class GIFModal extends ImmutablePureComponent { reader.onloadend = function() { var dataUrl = reader.result; const file = dataURLtoFile(dataUrl, 'tenor.mp4'); - modal.props.submit(file); + modal.props.submit(file, alt); modal.props.onClose(); // close dialog }; });