~cytrogen/masto-fe

b878e3d8dfaf3cf61f7af9d16afbe9c89b91ab62 — Nick Schonning 2 years ago 2d5e257
Enable ESLint react/no-deprecated (#24471)

27 files changed, 32 insertions(+), 33 deletions(-)

M .eslintrc.js
M app/javascript/mastodon/components/autosuggest_input.jsx
M app/javascript/mastodon/components/autosuggest_textarea.jsx
M app/javascript/mastodon/components/media_gallery.jsx
M app/javascript/mastodon/components/modal_root.jsx
M app/javascript/mastodon/features/account/components/account_note.jsx
M app/javascript/mastodon/features/audio/index.jsx
M app/javascript/mastodon/features/blocks/index.jsx
M app/javascript/mastodon/features/bookmarked_statuses/index.jsx
M app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.jsx
M app/javascript/mastodon/features/compose/components/privacy_dropdown.jsx
M app/javascript/mastodon/features/domain_blocks/index.jsx
M app/javascript/mastodon/features/favourited_statuses/index.jsx
M app/javascript/mastodon/features/favourites/index.jsx
M app/javascript/mastodon/features/follow_requests/index.jsx
M app/javascript/mastodon/features/list_timeline/index.jsx
M app/javascript/mastodon/features/lists/index.jsx
M app/javascript/mastodon/features/mutes/index.jsx
M app/javascript/mastodon/features/notifications/index.jsx
M app/javascript/mastodon/features/pinned_statuses/index.jsx
M app/javascript/mastodon/features/reblogs/index.jsx
M app/javascript/mastodon/features/status/components/card.jsx
M app/javascript/mastodon/features/status/index.jsx
M app/javascript/mastodon/features/ui/components/bundle.jsx
M app/javascript/mastodon/features/ui/components/columns_area.jsx
M app/javascript/mastodon/features/ui/index.jsx
M app/javascript/mastodon/features/video/index.jsx
M .eslintrc.js => .eslintrc.js +0 -1
@@ 104,7 104,6 @@ module.exports = {
    'react/jsx-equals-spacing': 'error',
    'react/jsx-no-bind': 'error',
    'react/jsx-no-target-blank': 'off',
    'react/no-deprecated': 'off',
    'react/no-unknown-property': 'off',
    'react/self-closing-comp': 'error',


M app/javascript/mastodon/components/autosuggest_input.jsx => app/javascript/mastodon/components/autosuggest_input.jsx +1 -1
@@ 154,7 154,7 @@ export default class AutosuggestInput extends ImmutablePureComponent {
    this.input.focus();
  };

  componentWillReceiveProps (nextProps) {
  UNSAFE_componentWillReceiveProps (nextProps) {
    if (nextProps.suggestions !== this.props.suggestions && nextProps.suggestions.size > 0 && this.state.suggestionsHidden && this.state.focused) {
      this.setState({ suggestionsHidden: false });
    }

M app/javascript/mastodon/components/autosuggest_textarea.jsx => app/javascript/mastodon/components/autosuggest_textarea.jsx +1 -1
@@ 153,7 153,7 @@ export default class AutosuggestTextarea extends ImmutablePureComponent {
    this.textarea.focus();
  };

  componentWillReceiveProps (nextProps) {
  UNSAFE_componentWillReceiveProps (nextProps) {
    if (nextProps.suggestions !== this.props.suggestions && nextProps.suggestions.size > 0 && this.state.suggestionsHidden && this.state.focused) {
      this.setState({ suggestionsHidden: false });
    }

M app/javascript/mastodon/components/media_gallery.jsx => app/javascript/mastodon/components/media_gallery.jsx +1 -1
@@ 231,7 231,7 @@ class MediaGallery extends React.PureComponent {
    window.removeEventListener('resize', this.handleResize);
  }

  componentWillReceiveProps (nextProps) {
  UNSAFE_componentWillReceiveProps (nextProps) {
    if (!is(nextProps.media, this.props.media) && nextProps.visible === undefined) {
      this.setState({ visible: displayMedia !== 'hide_all' && !nextProps.sensitive || displayMedia === 'show_all' });
    } else if (!is(nextProps.visible, this.props.visible) && nextProps.visible !== undefined) {

M app/javascript/mastodon/components/modal_root.jsx => app/javascript/mastodon/components/modal_root.jsx +1 -1
@@ 57,7 57,7 @@ export default class ModalRoot extends React.PureComponent {
    this.history = this.context.router ? this.context.router.history : createBrowserHistory();
  }

  componentWillReceiveProps (nextProps) {
  UNSAFE_componentWillReceiveProps (nextProps) {
    if (!!nextProps.children && !this.props.children) {
      this.activeElement = document.activeElement;


M app/javascript/mastodon/features/account/components/account_note.jsx => app/javascript/mastodon/features/account/components/account_note.jsx +3 -3
@@ 22,7 22,7 @@ class InlineAlert extends React.PureComponent {

  static TRANSITION_DELAY = 200;

  componentWillReceiveProps (nextProps) {
  UNSAFE_componentWillReceiveProps (nextProps) {
    if (!this.props.show && nextProps.show) {
      this.setState({ mountMessage: true });
    } else if (this.props.show && !nextProps.show) {


@@ 58,11 58,11 @@ class AccountNote extends ImmutablePureComponent {
    saved: false,
  };

  componentWillMount () {
  UNSAFE_componentWillMount () {
    this._reset();
  }

  componentWillReceiveProps (nextProps) {
  UNSAFE_componentWillReceiveProps (nextProps) {
    const accountWillChange = !is(this.props.account, nextProps.account);
    const newState = {};


M app/javascript/mastodon/features/audio/index.jsx => app/javascript/mastodon/features/audio/index.jsx +1 -1
@@ 136,7 136,7 @@ class Audio extends React.PureComponent {
    }
  }

  componentWillReceiveProps (nextProps) {
  UNSAFE_componentWillReceiveProps (nextProps) {
    if (!is(nextProps.visible, this.props.visible) && nextProps.visible !== undefined) {
      this.setState({ revealed: nextProps.visible });
    }

M app/javascript/mastodon/features/blocks/index.jsx => app/javascript/mastodon/features/blocks/index.jsx +1 -1
@@ 34,7 34,7 @@ class Blocks extends ImmutablePureComponent {
    multiColumn: PropTypes.bool,
  };

  componentWillMount () {
  UNSAFE_componentWillMount () {
    this.props.dispatch(fetchBlocks());
  }


M app/javascript/mastodon/features/bookmarked_statuses/index.jsx => app/javascript/mastodon/features/bookmarked_statuses/index.jsx +1 -1
@@ 34,7 34,7 @@ class Bookmarks extends ImmutablePureComponent {
    isLoading: PropTypes.bool,
  };

  componentWillMount () {
  UNSAFE_componentWillMount () {
    this.props.dispatch(fetchBookmarkedStatuses());
  }


M app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.jsx => app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.jsx +1 -1
@@ 59,7 59,7 @@ class ModifierPickerMenu extends React.PureComponent {
    this.props.onSelect(e.currentTarget.getAttribute('data-index') * 1);
  };

  componentWillReceiveProps (nextProps) {
  UNSAFE_componentWillReceiveProps (nextProps) {
    if (nextProps.active) {
      this.attachListeners();
    } else {

M app/javascript/mastodon/features/compose/components/privacy_dropdown.jsx => app/javascript/mastodon/features/compose/components/privacy_dropdown.jsx +1 -1
@@ 212,7 212,7 @@ class PrivacyDropdown extends React.PureComponent {
    this.props.onChange(value);
  };

  componentWillMount () {
  UNSAFE_componentWillMount () {
    const { intl: { formatMessage } } = this.props;

    this.options = [

M app/javascript/mastodon/features/domain_blocks/index.jsx => app/javascript/mastodon/features/domain_blocks/index.jsx +1 -1
@@ 34,7 34,7 @@ class Blocks extends ImmutablePureComponent {
    multiColumn: PropTypes.bool,
  };

  componentWillMount () {
  UNSAFE_componentWillMount () {
    this.props.dispatch(fetchDomainBlocks());
  }


M app/javascript/mastodon/features/favourited_statuses/index.jsx => app/javascript/mastodon/features/favourited_statuses/index.jsx +1 -1
@@ 34,7 34,7 @@ class Favourites extends ImmutablePureComponent {
    isLoading: PropTypes.bool,
  };

  componentWillMount () {
  UNSAFE_componentWillMount () {
    this.props.dispatch(fetchFavouritedStatuses());
  }


M app/javascript/mastodon/features/favourites/index.jsx => app/javascript/mastodon/features/favourites/index.jsx +2 -2
@@ 31,13 31,13 @@ class Favourites extends ImmutablePureComponent {
    intl: PropTypes.object.isRequired,
  };

  componentWillMount () {
  UNSAFE_componentWillMount () {
    if (!this.props.accountIds) {
      this.props.dispatch(fetchFavourites(this.props.params.statusId));
    }
  }

  componentWillReceiveProps (nextProps) {
  UNSAFE_componentWillReceiveProps (nextProps) {
    if (nextProps.params.statusId !== this.props.params.statusId && nextProps.params.statusId) {
      this.props.dispatch(fetchFavourites(nextProps.params.statusId));
    }

M app/javascript/mastodon/features/follow_requests/index.jsx => app/javascript/mastodon/features/follow_requests/index.jsx +1 -1
@@ 39,7 39,7 @@ class FollowRequests extends ImmutablePureComponent {
    multiColumn: PropTypes.bool,
  };

  componentWillMount () {
  UNSAFE_componentWillMount () {
    this.props.dispatch(fetchFollowRequests());
  }


M app/javascript/mastodon/features/list_timeline/index.jsx => app/javascript/mastodon/features/list_timeline/index.jsx +1 -1
@@ 76,7 76,7 @@ class ListTimeline extends React.PureComponent {
    this.disconnect = dispatch(connectListStream(id));
  }

  componentWillReceiveProps (nextProps) {
  UNSAFE_componentWillReceiveProps (nextProps) {
    const { dispatch } = this.props;
    const { id } = nextProps.params;


M app/javascript/mastodon/features/lists/index.jsx => app/javascript/mastodon/features/lists/index.jsx +1 -1
@@ 42,7 42,7 @@ class Lists extends ImmutablePureComponent {
    multiColumn: PropTypes.bool,
  };

  componentWillMount () {
  UNSAFE_componentWillMount () {
    this.props.dispatch(fetchLists());
  }


M app/javascript/mastodon/features/mutes/index.jsx => app/javascript/mastodon/features/mutes/index.jsx +1 -1
@@ 35,7 35,7 @@ class Mutes extends ImmutablePureComponent {
    multiColumn: PropTypes.bool,
  };

  componentWillMount () {
  UNSAFE_componentWillMount () {
    this.props.dispatch(fetchMutes());
  }


M app/javascript/mastodon/features/notifications/index.jsx => app/javascript/mastodon/features/notifications/index.jsx +1 -1
@@ 93,7 93,7 @@ class Notifications extends React.PureComponent {
    trackScroll: true,
  };

  componentWillMount() {
  UNSAFE_componentWillMount() {
    this.props.dispatch(mountNotifications());
  }


M app/javascript/mastodon/features/pinned_statuses/index.jsx => app/javascript/mastodon/features/pinned_statuses/index.jsx +1 -1
@@ 29,7 29,7 @@ class PinnedStatuses extends ImmutablePureComponent {
    multiColumn: PropTypes.bool,
  };

  componentWillMount () {
  UNSAFE_componentWillMount () {
    this.props.dispatch(fetchPinnedStatuses());
  }


M app/javascript/mastodon/features/reblogs/index.jsx => app/javascript/mastodon/features/reblogs/index.jsx +2 -2
@@ 31,13 31,13 @@ class Reblogs extends ImmutablePureComponent {
    intl: PropTypes.object.isRequired,
  };

  componentWillMount () {
  UNSAFE_componentWillMount () {
    if (!this.props.accountIds) {
      this.props.dispatch(fetchReblogs(this.props.params.statusId));
    }
  }

  componentWillReceiveProps(nextProps) {
  UNSAFE_componentWillReceiveProps(nextProps) {
    if (nextProps.params.statusId !== this.props.params.statusId && nextProps.params.statusId) {
      this.props.dispatch(fetchReblogs(nextProps.params.statusId));
    }

M app/javascript/mastodon/features/status/components/card.jsx => app/javascript/mastodon/features/status/components/card.jsx +1 -1
@@ 66,7 66,7 @@ export default class Card extends React.PureComponent {
    revealed: !this.props.sensitive,
  };

  componentWillReceiveProps (nextProps) {
  UNSAFE_componentWillReceiveProps (nextProps) {
    if (!Immutable.is(this.props.card, nextProps.card)) {
      this.setState({ embedded: false, previewLoaded: false });
    }

M app/javascript/mastodon/features/status/index.jsx => app/javascript/mastodon/features/status/index.jsx +2 -2
@@ 207,7 207,7 @@ class Status extends ImmutablePureComponent {
    loadedStatusId: undefined,
  };

  componentWillMount () {
  UNSAFE_componentWillMount () {
    this.props.dispatch(fetchStatus(this.props.params.statusId));
  }



@@ 215,7 215,7 @@ class Status extends ImmutablePureComponent {
    attachFullscreenListener(this.onFullScreenChange);
  }

  componentWillReceiveProps (nextProps) {
  UNSAFE_componentWillReceiveProps (nextProps) {
    if (nextProps.params.statusId !== this.props.params.statusId && nextProps.params.statusId) {
      this._scrolledIntoView = false;
      this.props.dispatch(fetchStatus(nextProps.params.statusId));

M app/javascript/mastodon/features/ui/components/bundle.jsx => app/javascript/mastodon/features/ui/components/bundle.jsx +2 -2
@@ 33,11 33,11 @@ class Bundle extends React.PureComponent {
    forceRender: false,
  };

  componentWillMount() {
  UNSAFE_componentWillMount() {
    this.load(this.props);
  }

  componentWillReceiveProps(nextProps) {
  UNSAFE_componentWillReceiveProps(nextProps) {
    if (nextProps.fetchComponent !== this.props.fetchComponent) {
      this.load(nextProps);
    }

M app/javascript/mastodon/features/ui/components/columns_area.jsx => app/javascript/mastodon/features/ui/components/columns_area.jsx +1 -1
@@ 76,7 76,7 @@ export default class ColumnsArea extends ImmutablePureComponent {
    this.isRtlLayout = document.getElementsByTagName('body')[0].classList.contains('rtl');
  }

  componentWillUpdate(nextProps) {
  UNSAFE_componentWillUpdate(nextProps) {
    if (this.props.singleColumn !== nextProps.singleColumn && nextProps.singleColumn) {
      this.node.removeEventListener('wheel', this.handleWheel);
    }

M app/javascript/mastodon/features/ui/index.jsx => app/javascript/mastodon/features/ui/index.jsx +1 -1
@@ 123,7 123,7 @@ class SwitchingColumnsArea extends React.PureComponent {
    mobile: PropTypes.bool,
  };

  componentWillMount () {
  UNSAFE_componentWillMount () {
    if (this.props.mobile) {
      document.body.classList.toggle('layout-single-column', true);
      document.body.classList.toggle('layout-multiple-columns', false);

M app/javascript/mastodon/features/video/index.jsx => app/javascript/mastodon/features/video/index.jsx +1 -1
@@ 370,7 370,7 @@ class Video extends React.PureComponent {
    }
  }

  componentWillReceiveProps (nextProps) {
  UNSAFE_componentWillReceiveProps (nextProps) {
    if (!is(nextProps.visible, this.props.visible) && nextProps.visible !== undefined) {
      this.setState({ revealed: nextProps.visible });
    }