Pause video playback if toot is collapsed or CWs folded (fixes #146)

local
Thibaut Girka 6 years ago committed by ThibG
parent a9ed9d3572
commit d8b2f15b23
  1. 1
      app/javascript/flavours/glitch/components/status.js
  2. 7
      app/javascript/flavours/glitch/features/video/index.js

@ -430,6 +430,7 @@ export default class Status extends ImmutablePureComponent {
sensitive={status.get('sensitive')}
letterbox={settings.getIn(['media', 'letterbox'])}
fullwidth={settings.getIn(['media', 'fullwidth'])}
preventPlayback={isCollapsed || !isExpanded}
onOpenVideo={this.handleOpenVideo}
/>)}
</Bundle>

@ -101,6 +101,7 @@ export default class Video extends React.PureComponent {
fullwidth: PropTypes.bool,
detailed: PropTypes.bool,
inline: PropTypes.bool,
preventPlayback: PropTypes.bool,
intl: PropTypes.object.isRequired,
};
@ -215,6 +216,12 @@ export default class Video extends React.PureComponent {
document.removeEventListener('MSFullscreenChange', this.handleFullscreenChange, true);
}
componentDidUpdate (prevProps) {
if (this.video && this.state.revealed && this.props.preventPlayback && !prevProps.preventPlayback) {
this.video.pause();
}
}
handleFullscreenChange = () => {
this.setState({ fullscreen: isFullscreen() });
}

Loading…
Cancel
Save