diff --git a/app/javascript/flavours/glitch/components/status.js b/app/javascript/flavours/glitch/components/status.js
index 8a5fda6764..d3bdcdc914 100644
--- a/app/javascript/flavours/glitch/components/status.js
+++ b/app/javascript/flavours/glitch/components/status.js
@@ -508,8 +508,21 @@ class Status extends ImmutablePureComponent {
const { isExpanded, isCollapsed, forceFilter } = this.state;
let background = null;
let attachments = null;
- let media = [];
- let mediaIcons = [];
+
+ // Depending on user settings, some media are considered as parts of the
+ // contents (affected by CW) while other will be displayed outside of the
+ // CW.
+ let contentMedia = [];
+ let contentMediaIcons = [];
+ let extraMedia = [];
+ let extraMediaIcons = [];
+ let media = contentMedia;
+ let mediaIcons = contentMediaIcons;
+
+ if (settings.getIn(['content_warnings', 'media_outside'])) {
+ media = extraMedia;
+ mediaIcons = extraMediaIcons;
+ }
if (status === null) {
return null;
@@ -681,8 +694,8 @@ class Status extends ImmutablePureComponent {
}
if (status.get('poll')) {
- media.push();
- mediaIcons.push('tasks');
+ contentMedia.push();
+ contentMediaIcons.push('tasks');
}
// Here we prepare extra data-* attributes for CSS selectors.
@@ -748,7 +761,7 @@ class Status extends ImmutablePureComponent {
+
+ {extraMedia}
+
{!isCollapsed || !(muted || !settings.getIn(['collapsed', 'show_action_bar'])) ? (
(