[Glitch] Add support for new display_media setting

Port f7a6f9489d to glitch-soc

[API] [vanilla required] [glitch-soc optional] initial_state show_sensitive_media boolean changed to show_media string with options "default", "hide_all", "show_all"
master
Thibaut Girka 6 years ago
parent 15197a831c
commit 6ad7606909
  1. 4
      app/javascript/flavours/glitch/components/media_gallery.js
  2. 4
      app/javascript/flavours/glitch/features/video/index.js
  3. 1
      app/javascript/flavours/glitch/util/initial_state.js

@ -6,7 +6,7 @@ import IconButton from './icon_button';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import { isIOS } from 'flavours/glitch/util/is_mobile';
import classNames from 'classnames';
import { autoPlayGif, displaySensitiveMedia } from 'flavours/glitch/util/initial_state';
import { autoPlayGif, displayMedia } from 'flavours/glitch/util/initial_state';
const messages = defineMessages({
hidden: {
@ -226,7 +226,7 @@ export default class MediaGallery extends React.PureComponent {
};
state = {
visible: this.props.revealed === undefined ? (!this.props.sensitive || displaySensitiveMedia) : this.props.revealed,
visible: this.props.revealed === undefined ? (displayMedia !== 'hide_all' && !this.props.sensitive || displayMedia === 'show_all') : this.props.revealed,
};
componentWillReceiveProps (nextProps) {

@ -5,7 +5,7 @@ import { fromJS } from 'immutable';
import { throttle } from 'lodash';
import classNames from 'classnames';
import { isFullscreen, requestFullscreen, exitFullscreen } from 'flavours/glitch/util/fullscreen';
import { displaySensitiveMedia } from 'flavours/glitch/util/initial_state';
import { displayMedia } from 'flavours/glitch/util/initial_state';
const messages = defineMessages({
play: { id: 'video.play', defaultMessage: 'Play' },
@ -114,7 +114,7 @@ export default class Video extends React.PureComponent {
fullscreen: false,
hovered: false,
muted: false,
revealed: this.props.revealed === undefined ? (!this.props.sensitive || displaySensitiveMedia) : this.props.revealed,
revealed: this.props.revealed === undefined ? (displayMedia !== 'hide_all' && !this.props.sensitive || displayMedia === 'show_all') : this.props.revealed,
};
setPlayerRef = c => {

@ -14,6 +14,7 @@ const getMeta = (prop) => initialState && initialState.meta && initialState.meta
export const reduceMotion = getMeta('reduce_motion');
export const autoPlayGif = getMeta('auto_play_gif');
export const displaySensitiveMedia = getMeta('display_sensitive_media');
export const displayMedia = getMeta('display_media') || (getMeta('display_sensitive_media') ? 'show_all' : 'default');
export const unfollowModal = getMeta('unfollow_modal');
export const boostModal = getMeta('boost_modal');
export const favouriteModal = getMeta('favourite_modal');

Loading…
Cancel
Save