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,