diff --git a/app/soapbox/components/media_gallery.js b/app/soapbox/components/media_gallery.js index 352d107e7..baeed6ef9 100644 --- a/app/soapbox/components/media_gallery.js +++ b/app/soapbox/components/media_gallery.js @@ -123,6 +123,16 @@ class Item extends React.PureComponent { this.setState({ loaded: true }); } + handleVideoHover = ({ target: video }) => { + video.playbackRate = 3.0; + video.play(); + } + + handleVideoLeave = ({ target: video }) => { + video.pause(); + video.currentTime = 0; + } + render() { const { attachment, standalone, visible, dimensions, autoPlayGif, last, total } = this.props; @@ -221,6 +231,28 @@ class Item extends React.PureComponent { {fileExtension} ); + } else if (attachment.get('type') === 'video') { + const ext = attachment.get('url').split('.').pop().toUpperCase(); + thumbnail = ( + + + {ext} + + ); } return ( diff --git a/app/styles/components/media-gallery.scss b/app/styles/components/media-gallery.scss index 544febb70..de64331d5 100644 --- a/app/styles/components/media-gallery.scss +++ b/app/styles/components/media-gallery.scss @@ -82,6 +82,12 @@ transition: opacity 0.1s ease; line-height: 18px; } + + video { + width: 100%; + height: 100%; + object-fit: cover; + } } .status__wrapper,