diff --git a/app/javascript/mastodon/features/status/index.js b/app/javascript/mastodon/features/status/index.js
index 87111b88b1..cc28ff5fca 100644
--- a/app/javascript/mastodon/features/status/index.js
+++ b/app/javascript/mastodon/features/status/index.js
@@ -1,6 +1,7 @@
import React from 'react';
import { connect } from 'react-redux';
import PropTypes from 'prop-types';
+import classNames from 'classnames';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { fetchStatus } from '../../actions/statuses';
import MissingIndicator from '../../components/missing_indicator';
@@ -30,6 +31,7 @@ import { defineMessages, injectIntl } from 'react-intl';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { HotKeys } from 'react-hotkeys';
import { boostModal, deleteModal } from '../../initial_state';
+import { attachFullscreenListener, detachFullscreenListener, isFullscreen } from '../../features/ui/util/fullscreen';
const messages = defineMessages({
deleteConfirm: { id: 'confirmations.delete.confirm', defaultMessage: 'Delete' },
@@ -65,10 +67,18 @@ export default class Status extends ImmutablePureComponent {
intl: PropTypes.object.isRequired,
};
+ state = {
+ fullscreen: false,
+ };
+
componentWillMount () {
this.props.dispatch(fetchStatus(this.props.params.statusId));
}
+ componentDidMount () {
+ attachFullscreenListener(this.onFullScreenChange);
+ }
+
componentWillReceiveProps (nextProps) {
if (nextProps.params.statusId !== this.props.params.statusId && nextProps.params.statusId) {
this._scrolledIntoView = false;
@@ -248,9 +258,18 @@ export default class Status extends ImmutablePureComponent {
}
}
+ componentWillUnmount () {
+ detachFullscreenListener(this.onFullScreenChange);
+ }
+
+ onFullScreenChange = () => {
+ this.setState({ fullscreen: isFullscreen() });
+ }
+
render () {
let ancestors, descendants;
const { status, ancestorsIds, descendantsIds } = this.props;
+ const { fullscreen } = this.state;
if (status === null) {
return (
@@ -284,7 +303,7 @@ export default class Status extends ImmutablePureComponent {
-