[Glitch] Compensate for scrollbar disappearing when media modal
Port 60df87f6f0 to glitch-soc
			
			
This commit is contained in:
		@@ -29,19 +29,19 @@ export default class MediaContainer extends PureComponent {
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  handleOpenMedia = (media, index) => {
 | 
			
		||||
    document.body.classList.add('media-standalone__body');
 | 
			
		||||
    document.body.classList.add('with-modals--active');
 | 
			
		||||
    this.setState({ media, index });
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  handleOpenVideo = (video, time) => {
 | 
			
		||||
    const media = ImmutableList([video]);
 | 
			
		||||
 | 
			
		||||
    document.body.classList.add('media-standalone__body');
 | 
			
		||||
    document.body.classList.add('with-modals--active');
 | 
			
		||||
    this.setState({ media, time });
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  handleCloseMedia = () => {
 | 
			
		||||
    document.body.classList.remove('media-standalone__body');
 | 
			
		||||
    document.body.classList.remove('with-modals--active');
 | 
			
		||||
    this.setState({ media: null, index: null, time: null });
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -45,14 +45,15 @@ export default class ModalRoot extends React.PureComponent {
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  getSnapshotBeforeUpdate () {
 | 
			
		||||
    const visible = !!this.props.type;
 | 
			
		||||
    return {
 | 
			
		||||
      overflowY: visible ? 'hidden' : null,
 | 
			
		||||
    };
 | 
			
		||||
    return { visible: !!this.props.type };
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  componentDidUpdate (prevProps, prevState, { overflowY }) {
 | 
			
		||||
    document.body.style.overflowY = overflowY;
 | 
			
		||||
  componentDidUpdate (prevProps, prevState, { visible }) {
 | 
			
		||||
    if (visible) {
 | 
			
		||||
      document.body.classList.add('with-modals--active');
 | 
			
		||||
    } else {
 | 
			
		||||
      document.body.classList.remove('with-modals--active');
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  renderLoading = modalId => () => {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,6 @@
 | 
			
		||||
body {
 | 
			
		||||
  font-family: 'mastodon-font-sans-serif', sans-serif;
 | 
			
		||||
  background: darken($ui-base-color, 8%);
 | 
			
		||||
  background-size: cover;
 | 
			
		||||
  background-attachment: fixed;
 | 
			
		||||
  font-size: 13px;
 | 
			
		||||
  line-height: 18px;
 | 
			
		||||
  font-weight: 400;
 | 
			
		||||
@@ -34,16 +32,24 @@ body {
 | 
			
		||||
    height: 100%;
 | 
			
		||||
    padding: 0;
 | 
			
		||||
    background: $ui-base-color;
 | 
			
		||||
 | 
			
		||||
    &.with-modals--active {
 | 
			
		||||
      overflow-y: hidden;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  &.about-body {
 | 
			
		||||
    background: darken($ui-base-color, 8%);
 | 
			
		||||
    padding-bottom: 0;
 | 
			
		||||
  &.lighter {
 | 
			
		||||
    background: $ui-base-color;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  &.tag-body {
 | 
			
		||||
    background: darken($ui-base-color, 8%);
 | 
			
		||||
    padding-bottom: 0;
 | 
			
		||||
  &.with-modals {
 | 
			
		||||
    overflow-x: hidden;
 | 
			
		||||
    overflow-y: scroll;
 | 
			
		||||
 | 
			
		||||
    &--active {
 | 
			
		||||
      overflow-y: hidden;
 | 
			
		||||
      margin-right: 13px;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  &.embed {
 | 
			
		||||
 
 | 
			
		||||
@@ -60,10 +60,6 @@
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.media-standalone__body {
 | 
			
		||||
  overflow: hidden;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.account-header {
 | 
			
		||||
  width: 400px;
 | 
			
		||||
  margin: 0 auto;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user