diff --git a/app/javascript/flavours/glitch/components/media_gallery.js b/app/javascript/flavours/glitch/components/media_gallery.js
index 9754c73dc..7d989967a 100644
--- a/app/javascript/flavours/glitch/components/media_gallery.js
+++ b/app/javascript/flavours/glitch/components/media_gallery.js
@@ -226,6 +226,21 @@ class Item extends React.PureComponent {
/>
);
+ } else if (attachment.get('type') === 'audio') {
+ thumbnail = (
+
+
sound
only
+
{attachment.get('description')}
+
+
+ );
} else if (attachment.get('type') === 'gifv') {
const autoPlay = !isIOS() && this.getAutoPlay();
diff --git a/app/javascript/flavours/glitch/styles/components/media.scss b/app/javascript/flavours/glitch/styles/components/media.scss
index 39bfaae9a..76a7b47bc 100644
--- a/app/javascript/flavours/glitch/styles/components/media.scss
+++ b/app/javascript/flavours/glitch/styles/components/media.scss
@@ -75,6 +75,28 @@
}
}
+.media-gallery__audio {
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+
+ span {
+ text-align: center;
+ color: $darker-text-color;
+ display: flex;
+ height: 100%;
+ align-items: center;
+
+ p {
+ width: 100%;
+ }
+ }
+
+ audio {
+ width: 100%;
+ }
+}
+
.media-gallery {
box-sizing: border-box;
margin-top: 8px;
diff --git a/app/javascript/mastodon/components/media_gallery.js b/app/javascript/mastodon/components/media_gallery.js
index cfe164a50..8a375d0a7 100644
--- a/app/javascript/mastodon/components/media_gallery.js
+++ b/app/javascript/mastodon/components/media_gallery.js
@@ -205,6 +205,18 @@ class Item extends React.PureComponent {
/>
);
+ } else if (attachment.get('type') === 'audio') {
+ thumbnail = (
+
+ );
} else if (attachment.get('type') === 'gifv') {
const autoPlay = !isIOS() && this.getAutoPlay();
diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss
index aa885e241..676f06976 100644
--- a/app/javascript/styles/mastodon/components.scss
+++ b/app/javascript/styles/mastodon/components.scss
@@ -5071,6 +5071,14 @@ a.status-card.compact:hover {
}
}
+.media-gallery__audio {
+ margin-top: 32px;
+
+ audio {
+ width: 100%;
+ }
+}
+
.attachment-list {
display: flex;
font-size: 14px;