0
0
Fork 0

Upgrade ESlint to v8 (#23305)

This commit is contained in:
Nick Schonning 2023-01-29 19:45:35 -05:00 committed by GitHub
parent b58bf74e35
commit c49213f0ea
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
120 changed files with 832 additions and 810 deletions

View file

@ -47,27 +47,27 @@ class Account extends ImmutablePureComponent {
handleFollow = () => {
this.props.onFollow(this.props.account);
}
};
handleBlock = () => {
this.props.onBlock(this.props.account);
}
};
handleMute = () => {
this.props.onMute(this.props.account);
}
};
handleMuteNotifications = () => {
this.props.onMuteNotifications(this.props.account, true);
}
};
handleUnmuteNotifications = () => {
this.props.onMuteNotifications(this.props.account, false);
}
};
handleAction = () => {
this.props.onActionClick(this.props.account);
}
};
render () {
const { account, intl, hidden, onActionClick, actionIcon, actionTitle, defaultAction, size } = this.props;

View file

@ -38,13 +38,13 @@ export default class AnimatedNumber extends React.PureComponent {
const { direction } = this.state;
return { y: -1 * direction };
}
};
willLeave = () => {
const { direction } = this.state;
return { y: spring(1 * direction, { damping: 35, stiffness: 400 }) };
}
};
render () {
const { value, obfuscate } = this.props;

View file

@ -78,7 +78,7 @@ export default class AutosuggestInput extends ImmutablePureComponent {
}
this.props.onChange(e);
}
};
onKeyDown = (e) => {
const { suggestions, disabled } = this.props;
@ -136,22 +136,22 @@ export default class AutosuggestInput extends ImmutablePureComponent {
}
this.props.onKeyDown(e);
}
};
onBlur = () => {
this.setState({ suggestionsHidden: true, focused: false });
}
};
onFocus = () => {
this.setState({ focused: true });
}
};
onSuggestionClick = (e) => {
const suggestion = this.props.suggestions.get(e.currentTarget.getAttribute('data-index'));
e.preventDefault();
this.props.onSuggestionSelected(this.state.tokenStart, this.state.lastToken, suggestion);
this.input.focus();
}
};
componentWillReceiveProps (nextProps) {
if (nextProps.suggestions !== this.props.suggestions && nextProps.suggestions.size > 0 && this.state.suggestionsHidden && this.state.focused) {
@ -161,7 +161,7 @@ export default class AutosuggestInput extends ImmutablePureComponent {
setInput = (c) => {
this.input = c;
}
};
renderSuggestion = (suggestion, i) => {
const { selectedSuggestion } = this.state;
@ -183,7 +183,7 @@ export default class AutosuggestInput extends ImmutablePureComponent {
{inner}
</div>
);
}
};
render () {
const { value, suggestions, disabled, placeholder, onKeyUp, autoFocus, className, id, maxLength, lang } = this.props;

View file

@ -75,7 +75,7 @@ export default class AutosuggestTextarea extends ImmutablePureComponent {
}
this.props.onChange(e);
}
};
onKeyDown = (e) => {
const { suggestions, disabled } = this.props;
@ -133,25 +133,25 @@ export default class AutosuggestTextarea extends ImmutablePureComponent {
}
this.props.onKeyDown(e);
}
};
onBlur = () => {
this.setState({ suggestionsHidden: true, focused: false });
}
};
onFocus = (e) => {
this.setState({ focused: true });
if (this.props.onFocus) {
this.props.onFocus(e);
}
}
};
onSuggestionClick = (e) => {
const suggestion = this.props.suggestions.get(e.currentTarget.getAttribute('data-index'));
e.preventDefault();
this.props.onSuggestionSelected(this.state.tokenStart, this.state.lastToken, suggestion);
this.textarea.focus();
}
};
componentWillReceiveProps (nextProps) {
if (nextProps.suggestions !== this.props.suggestions && nextProps.suggestions.size > 0 && this.state.suggestionsHidden && this.state.focused) {
@ -161,14 +161,14 @@ export default class AutosuggestTextarea extends ImmutablePureComponent {
setTextarea = (c) => {
this.textarea = c;
}
};
onPaste = (e) => {
if (e.clipboardData && e.clipboardData.files.length === 1) {
this.props.onPaste(e.clipboardData.files);
e.preventDefault();
}
}
};
renderSuggestion = (suggestion, i) => {
const { selectedSuggestion } = this.state;
@ -190,7 +190,7 @@ export default class AutosuggestTextarea extends ImmutablePureComponent {
{inner}
</div>
);
}
};
render () {
const { value, suggestions, disabled, placeholder, onKeyUp, autoFocus, lang, children } = this.props;

View file

@ -27,12 +27,12 @@ export default class Avatar extends React.PureComponent {
handleMouseEnter = () => {
if (this.props.animate) return;
this.setState({ hovering: true });
}
};
handleMouseLeave = () => {
if (this.props.animate) return;
this.setState({ hovering: false });
}
};
render () {
const { account, size, animate, inline } = this.props;

View file

@ -29,12 +29,12 @@ export default class AvatarOverlay extends React.PureComponent {
handleMouseEnter = () => {
if (this.props.animate) return;
this.setState({ hovering: true });
}
};
handleMouseLeave = () => {
if (this.props.animate) return;
this.setState({ hovering: false });
}
};
render() {
const { account, friend, animate, size, baseSize, overlaySize } = this.props;

View file

@ -24,11 +24,11 @@ export default class Button extends React.PureComponent {
if (!this.props.disabled && this.props.onClick) {
this.props.onClick(e);
}
}
};
setRef = (c) => {
this.node = c;
}
};
focus() {
this.node.focus();

View file

@ -27,11 +27,11 @@ export default class Column extends React.PureComponent {
}
this._interruptScrollAnimation();
}
};
setRef = c => {
this.node = c;
}
};
componentDidMount () {
if (this.props.bindToDocument) {

View file

@ -20,7 +20,7 @@ export default class ColumnBackButton extends React.PureComponent {
} else {
this.context.router.history.goBack();
}
}
};
render () {
const { multiColumn } = this.props;

View file

@ -49,32 +49,32 @@ class ColumnHeader extends React.PureComponent {
} else {
this.context.router.history.goBack();
}
}
};
handleToggleClick = (e) => {
e.stopPropagation();
this.setState({ collapsed: !this.state.collapsed, animating: true });
}
};
handleTitleClick = () => {
this.props.onClick?.();
}
};
handleMoveLeft = () => {
this.props.onMove(-1);
}
};
handleMoveRight = () => {
this.props.onMove(1);
}
};
handleBackClick = () => {
this.historyBack();
}
};
handleTransitionEnd = () => {
this.setState({ animating: false });
}
};
handlePin = () => {
if (!this.props.pinned) {
@ -82,7 +82,7 @@ class ColumnHeader extends React.PureComponent {
}
this.props.onPin();
}
};
render () {
const { title, icon, active, children, pinned, multiColumn, extraButton, showBackButton, intl: { formatMessage }, placeholder, appendContent, collapseIssues } = this.props;

View file

@ -24,7 +24,7 @@ class DismissableBanner extends React.PureComponent {
handleDismiss = () => {
const { id } = this.props;
this.setState({ visible: false }, () => bannerSettings.set(id, true));
}
};
render () {
const { visible } = this.state;

View file

@ -23,7 +23,7 @@ export default class DisplayName extends React.PureComponent {
let emoji = emojis[i];
emoji.src = emoji.getAttribute('data-original');
}
}
};
handleMouseLeave = ({ currentTarget }) => {
if (autoPlayGif) {
@ -36,7 +36,7 @@ export default class DisplayName extends React.PureComponent {
let emoji = emojis[i];
emoji.src = emoji.getAttribute('data-static');
}
}
};
render () {
const { others, localDomain } = this.props;

View file

@ -19,7 +19,7 @@ class Account extends ImmutablePureComponent {
handleDomainUnblock = () => {
this.props.onUnblockDomain(this.props.domain);
}
};
render () {
const { domain, intl } = this.props;

View file

@ -36,7 +36,7 @@ class DropdownMenu extends React.PureComponent {
if (this.node && !this.node.contains(e.target)) {
this.props.onClose();
}
}
};
componentDidMount () {
document.addEventListener('click', this.handleDocumentClick, false);
@ -56,11 +56,11 @@ class DropdownMenu extends React.PureComponent {
setRef = c => {
this.node = c;
}
};
setFocusRef = c => {
this.focusedItem = c;
}
};
handleKeyDown = e => {
const items = Array.from(this.node.querySelectorAll('a, button'));
@ -97,18 +97,18 @@ class DropdownMenu extends React.PureComponent {
e.preventDefault();
e.stopPropagation();
}
}
};
handleItemKeyPress = e => {
if (e.key === 'Enter' || e.key === ' ') {
this.handleClick(e);
}
}
};
handleClick = e => {
const { onItemClick } = this.props;
onItemClick(e);
}
};
renderItem = (option, i) => {
if (option === null) {
@ -124,7 +124,7 @@ class DropdownMenu extends React.PureComponent {
</a>
</li>
);
}
};
render () {
const { items, scrollable, renderHeader, loading } = this.props;
@ -194,7 +194,7 @@ export default class Dropdown extends React.PureComponent {
} else {
this.props.onOpen(this.state.id, this.handleItemClick, type !== 'click');
}
}
};
handleClose = () => {
if (this.activeElement) {
@ -202,13 +202,13 @@ export default class Dropdown extends React.PureComponent {
this.activeElement = null;
}
this.props.onClose(this.state.id);
}
};
handleMouseDown = () => {
if (!this.state.open) {
this.activeElement = document.activeElement;
}
}
};
handleButtonKeyDown = (e) => {
switch(e.key) {
@ -217,7 +217,7 @@ export default class Dropdown extends React.PureComponent {
this.handleMouseDown();
break;
}
}
};
handleKeyPress = (e) => {
switch(e.key) {
@ -228,7 +228,7 @@ export default class Dropdown extends React.PureComponent {
e.preventDefault();
break;
}
}
};
handleItemClick = e => {
const { onItemClick } = this.props;
@ -247,25 +247,25 @@ export default class Dropdown extends React.PureComponent {
e.preventDefault();
this.context.router.history.push(item.to);
}
}
};
setTargetRef = c => {
this.target = c;
}
};
findTarget = () => {
return this.target;
}
};
componentWillUnmount = () => {
if (this.state.id === this.props.openDropdownId) {
this.handleClose();
}
}
};
close = () => {
this.handleClose();
}
};
render () {
const {

View file

@ -36,7 +36,7 @@ class EditedTimestamp extends React.PureComponent {
return (
<FormattedMessage id='status.edited_x_times' defaultMessage='Edited {count, plural, one {{count} time} other {{count} times}}' values={{ count: items.size - 1 }} />
);
}
};
renderItem = (item, index, { onClick, onKeyPress }) => {
const formattedDate = <RelativeTimestamp timestamp={item.get('created_at')} short={false} />;
@ -53,7 +53,7 @@ class EditedTimestamp extends React.PureComponent {
<button data-index={index} onClick={onClick} onKeyPress={onKeyPress}>{label}</button>
</li>
);
}
};
render () {
const { timestamp, intl, statusId } = this.props;

View file

@ -64,7 +64,7 @@ export default class ErrorBoundary extends React.PureComponent {
this.setState({ copied: true });
setTimeout(() => this.setState({ copied: false }), 700);
}
};
render() {
const { hasError, copied, errorMessage } = this.state;

View file

@ -17,7 +17,7 @@ export default class GIFV extends React.PureComponent {
handleLoadedData = () => {
this.setState({ loading: false });
}
};
componentWillReceiveProps (nextProps) {
if (nextProps.src !== this.props.src) {
@ -32,7 +32,7 @@ export default class GIFV extends React.PureComponent {
e.stopPropagation();
onClick();
}
}
};
render () {
const { src, width, height, alt } = this.props;

View file

@ -43,7 +43,7 @@ export default class IconButton extends React.PureComponent {
state = {
activate: false,
deactivate: false,
}
};
componentWillReceiveProps (nextProps) {
if (!nextProps.animate) return;
@ -61,25 +61,25 @@ export default class IconButton extends React.PureComponent {
if (!this.props.disabled) {
this.props.onClick(e);
}
}
};
handleKeyPress = (e) => {
if (this.props.onKeyPress && !this.props.disabled) {
this.props.onKeyPress(e);
}
}
};
handleMouseDown = (e) => {
if (!this.props.disabled && this.props.onMouseDown) {
this.props.onMouseDown(e);
}
}
};
handleKeyDown = (e) => {
if (!this.props.disabled && this.props.onKeyDown) {
this.props.onKeyDown(e);
}
}
};
render () {
const style = {

View file

@ -21,7 +21,7 @@ export default class IntersectionObserverArticle extends React.Component {
state = {
isHidden: false, // set to true in requestIdleCallback to trigger un-render
}
};
shouldComponentUpdate (nextProps, nextState) {
const isUnrendered = !this.state.isIntersecting && (this.state.isHidden || this.props.cachedHeight);
@ -62,7 +62,7 @@ export default class IntersectionObserverArticle extends React.Component {
scheduleIdleTask(this.calculateHeight);
this.setState(this.updateStateAfterIntersection);
}
};
updateStateAfterIntersection = (prevState) => {
if (prevState.isIntersecting !== false && !this.entry.isIntersecting) {
@ -72,7 +72,7 @@ export default class IntersectionObserverArticle extends React.Component {
isIntersecting: this.entry.isIntersecting,
isHidden: false,
};
}
};
calculateHeight = () => {
const { onHeightChange, saveHeightKey, id } = this.props;
@ -83,7 +83,7 @@ export default class IntersectionObserverArticle extends React.Component {
if (onHeightChange && saveHeightKey) {
onHeightChange(saveHeightKey, id, this.height);
}
}
};
hideIfNotIntersecting = () => {
if (!this.componentMounted) {
@ -95,11 +95,11 @@ export default class IntersectionObserverArticle extends React.Component {
// this is to save DOM nodes and avoid using up too much memory.
// See: https://github.com/mastodon/mastodon/issues/2900
this.setState((prevState) => ({ isHidden: !prevState.isIntersecting }));
}
};
handleRef = (node) => {
this.node = node;
}
};
render () {
const { children, id, index, listLength, cachedHeight } = this.props;

View file

@ -19,7 +19,7 @@ class LoadGap extends React.PureComponent {
handleClick = () => {
this.props.onClick(this.props.maxId);
}
};
render () {
const { disabled, intl } = this.props;

View file

@ -8,11 +8,11 @@ export default class LoadMore extends React.PureComponent {
onClick: PropTypes.func,
disabled: PropTypes.bool,
visible: PropTypes.bool,
}
};
static defaultProps = {
visible: true,
}
};
render() {
const { disabled, visible } = this.props;

View file

@ -7,7 +7,7 @@ export default class LoadPending extends React.PureComponent {
static propTypes = {
onClick: PropTypes.func,
count: PropTypes.number,
}
};
render() {
const { count } = this.props;

View file

@ -29,7 +29,7 @@ export default class MediaAttachments extends ImmutablePureComponent {
return (
<div className='media-gallery' style={{ height, width }} />
);
}
};
renderLoadingVideoPlayer = () => {
const { height, width } = this.props;
@ -37,7 +37,7 @@ export default class MediaAttachments extends ImmutablePureComponent {
return (
<div className='video-player' style={{ height, width }} />
);
}
};
renderLoadingAudioPlayer = () => {
const { height, width } = this.props;
@ -45,7 +45,7 @@ export default class MediaAttachments extends ImmutablePureComponent {
return (
<div className='audio-player' style={{ height, width }} />
);
}
};
render () {
const { status, width, height } = this.props;

View file

@ -40,14 +40,14 @@ class Item extends React.PureComponent {
if (this.hoverToPlay()) {
e.target.play();
}
}
};
handleMouseLeave = (e) => {
if (this.hoverToPlay()) {
e.target.pause();
e.target.currentTime = 0;
}
}
};
getAutoPlay() {
return this.props.autoplay || autoPlayGif;
@ -71,11 +71,11 @@ class Item extends React.PureComponent {
}
e.stopPropagation();
}
};
handleImageLoad = () => {
this.setState({ loaded: true });
}
};
render () {
const { attachment, index, size, standalone, displayWidth, visible } = this.props;
@ -277,11 +277,11 @@ class MediaGallery extends React.PureComponent {
} else {
this.setState({ visible: !this.state.visible });
}
}
};
handleClick = (index) => {
this.props.onOpenMedia(this.props.media, index);
}
};
handleRef = c => {
this.node = c;
@ -289,7 +289,7 @@ class MediaGallery extends React.PureComponent {
if (this.node) {
this._setDimensions();
}
}
};
_setDimensions () {
const width = this.node.offsetWidth;

View file

@ -28,7 +28,7 @@ export default class ModalRoot extends React.PureComponent {
&& !!this.props.children) {
this.props.onClose();
}
}
};
handleKeyDown = (e) => {
if (e.key === 'Tab') {
@ -49,7 +49,7 @@ export default class ModalRoot extends React.PureComponent {
e.preventDefault();
}
}
}
};
componentDidMount () {
window.addEventListener('keyup', this.handleKeyUp, false);
@ -122,11 +122,11 @@ export default class ModalRoot extends React.PureComponent {
getSiblings = () => {
return Array(...this.node.parentElement.childNodes).filter(node => node !== this.node);
}
};
setRef = ref => {
this.node = ref;
}
};
render () {
const { children, onClose } = this.props;

View file

@ -22,7 +22,7 @@ class PictureInPicturePlaceholder extends React.PureComponent {
handleClick = () => {
const { dispatch } = this.props;
dispatch(removePictureInPicture());
}
};
setRef = c => {
this.node = c;
@ -30,7 +30,7 @@ class PictureInPicturePlaceholder extends React.PureComponent {
if (this.node) {
this._setDimensions();
}
}
};
_setDimensions () {
const width = this.node.offsetWidth;

View file

@ -95,7 +95,7 @@ class Poll extends ImmutablePureComponent {
tmp[value] = true;
this.setState({ selected: tmp });
}
}
};
handleOptionChange = ({ target: { value } }) => {
this._toggleOption(value);
@ -107,7 +107,7 @@ class Poll extends ImmutablePureComponent {
e.stopPropagation();
e.preventDefault();
}
}
};
handleVote = () => {
if (this.props.disabled) {

View file

@ -97,7 +97,7 @@ class ScrollableList extends PureComponent {
} else {
return this.node;
}
}
};
setScrollTop = newScrollTop => {
if (this.getScrollTop() !== newScrollTop) {
@ -143,7 +143,7 @@ class ScrollableList extends PureComponent {
this.mouseMovedRecently = false;
this.scrollToTopOnMouseIdle = false;
}
};
componentDidMount () {
this.attachScrollListener();
@ -161,25 +161,25 @@ class ScrollableList extends PureComponent {
} else {
return null;
}
}
};
getScrollTop = () => {
return this._getScrollingElement().scrollTop;
}
};
getScrollHeight = () => {
return this._getScrollingElement().scrollHeight;
}
};
getClientHeight = () => {
return this._getScrollingElement().clientHeight;
}
};
updateScrollBottom = (snapshot) => {
const newScrollTop = this.getScrollHeight() - snapshot;
this.setScrollTop(newScrollTop);
}
};
getSnapshotBeforeUpdate (prevProps) {
const someItemInserted = React.Children.count(prevProps.children) > 0 &&
@ -206,7 +206,7 @@ class ScrollableList extends PureComponent {
if (width && this.state.cachedMediaWidth !== width) {
this.setState({ cachedMediaWidth: width });
}
}
};
componentWillUnmount () {
this.clearMouseIdleTimer();
@ -218,7 +218,7 @@ class ScrollableList extends PureComponent {
onFullScreenChange = () => {
this.setState({ fullscreen: isFullscreen() });
}
};
attachIntersectionObserver () {
let nodeOptions = {
@ -269,12 +269,12 @@ class ScrollableList extends PureComponent {
setRef = (c) => {
this.node = c;
}
};
handleLoadMore = e => {
e.preventDefault();
this.props.onLoadMore();
}
};
handleLoadPending = e => {
e.preventDefault();
@ -286,7 +286,7 @@ class ScrollableList extends PureComponent {
this.clearMouseIdleTimer();
this.mouseIdleTimer = setTimeout(this.handleMouseIdle, MOUSE_IDLE_DELAY);
this.mouseMovedRecently = true;
}
};
render () {
const { children, scrollKey, trackScroll, showLoading, isLoading, hasMore, numPending, prepend, alwaysPrepend, append, emptyMessage, onLoadMore } = this.props;

View file

@ -135,7 +135,7 @@ class Status extends ImmutablePureComponent {
handleToggleMediaVisibility = () => {
this.setState({ showMedia: !this.state.showMedia });
}
};
handleClick = e => {
if (e && (e.button !== 0 || e.ctrlKey || e.metaKey)) {
@ -147,11 +147,11 @@ class Status extends ImmutablePureComponent {
}
this.handleHotkeyOpen();
}
};
handlePrependAccountClick = e => {
this.handleAccountClick(e, false);
}
};
handleAccountClick = (e, proper = true) => {
if (e && (e.button !== 0 || e.ctrlKey || e.metaKey)) {
@ -163,19 +163,19 @@ class Status extends ImmutablePureComponent {
}
this._openProfile(proper);
}
};
handleExpandedToggle = () => {
this.props.onToggleHidden(this._properStatus());
}
};
handleCollapsedToggle = isCollapsed => {
this.props.onToggleCollapsed(this._properStatus(), isCollapsed);
}
};
handleTranslate = () => {
this.props.onTranslate(this._properStatus());
}
};
renderLoadingMediaGallery () {
return <div className='media-gallery' style={{ height: '110px' }} />;
@ -192,11 +192,11 @@ class Status extends ImmutablePureComponent {
handleOpenVideo = (options) => {
const status = this._properStatus();
this.props.onOpenVideo(status.get('id'), status.getIn(['media_attachments', 0]), options);
}
};
handleOpenMedia = (media, index) => {
this.props.onOpenMedia(this._properStatus().get('id'), media, index);
}
};
handleHotkeyOpenMedia = e => {
const { onOpenMedia, onOpenVideo } = this.props;
@ -211,32 +211,32 @@ class Status extends ImmutablePureComponent {
onOpenMedia(status.get('id'), status.get('media_attachments'), 0);
}
}
}
};
handleDeployPictureInPicture = (type, mediaProps) => {
const { deployPictureInPicture } = this.props;
const status = this._properStatus();
deployPictureInPicture(status, type, mediaProps);
}
};
handleHotkeyReply = e => {
e.preventDefault();
this.props.onReply(this._properStatus(), this.context.router.history);
}
};
handleHotkeyFavourite = () => {
this.props.onFavourite(this._properStatus());
}
};
handleHotkeyBoost = e => {
this.props.onReblog(this._properStatus(), e);
}
};
handleHotkeyMention = e => {
e.preventDefault();
this.props.onMention(this._properStatus().get('account'), this.context.router.history);
}
};
handleHotkeyOpen = () => {
if (this.props.onClick) {
@ -252,11 +252,11 @@ class Status extends ImmutablePureComponent {
}
router.history.push(`/@${status.getIn(['account', 'acct'])}/${status.get('id')}`);
}
};
handleHotkeyOpenProfile = () => {
this._openProfile();
}
};
_openProfile = (proper = true) => {
const { router } = this.context;
@ -267,32 +267,32 @@ class Status extends ImmutablePureComponent {
}
router.history.push(`/@${status.getIn(['account', 'acct'])}`);
}
};
handleHotkeyMoveUp = e => {
this.props.onMoveUp(this.props.status.get('id'), e.target.getAttribute('data-featured'));
}
};
handleHotkeyMoveDown = e => {
this.props.onMoveDown(this.props.status.get('id'), e.target.getAttribute('data-featured'));
}
};
handleHotkeyToggleHidden = () => {
this.props.onToggleHidden(this._properStatus());
}
};
handleHotkeyToggleSensitive = () => {
this.handleToggleMediaVisibility();
}
};
handleUnfilterClick = e => {
this.setState({ forceFilter: false });
e.preventDefault();
}
};
handleFilterClick = () => {
this.setState({ forceFilter: true });
}
};
_properStatus () {
const { status } = this.props;
@ -306,7 +306,7 @@ class Status extends ImmutablePureComponent {
handleRef = c => {
this.node = c;
}
};
render () {
let media = null;

View file

@ -97,7 +97,7 @@ class StatusActionBar extends ImmutablePureComponent {
'status',
'relationship',
'withDismiss',
]
];
handleReplyClick = () => {
const { signedIn } = this.context.identity;
@ -107,7 +107,7 @@ class StatusActionBar extends ImmutablePureComponent {
} else {
this.props.onInteractionModal('reply', this.props.status);
}
}
};
handleShareClick = () => {
navigator.share({
@ -116,7 +116,7 @@ class StatusActionBar extends ImmutablePureComponent {
}).catch((e) => {
if (e.name !== 'AbortError') console.error(e);
});
}
};
handleFavouriteClick = () => {
const { signedIn } = this.context.identity;
@ -126,7 +126,7 @@ class StatusActionBar extends ImmutablePureComponent {
} else {
this.props.onInteractionModal('favourite', this.props.status);
}
}
};
handleReblogClick = e => {
const { signedIn } = this.context.identity;
@ -136,35 +136,35 @@ class StatusActionBar extends ImmutablePureComponent {
} else {
this.props.onInteractionModal('reblog', this.props.status);
}
}
};
handleBookmarkClick = () => {
this.props.onBookmark(this.props.status);
}
};
handleDeleteClick = () => {
this.props.onDelete(this.props.status, this.context.router.history);
}
};
handleRedraftClick = () => {
this.props.onDelete(this.props.status, this.context.router.history, true);
}
};
handleEditClick = () => {
this.props.onEdit(this.props.status, this.context.router.history);
}
};
handlePinClick = () => {
this.props.onPin(this.props.status);
}
};
handleMentionClick = () => {
this.props.onMention(this.props.status.get('account'), this.context.router.history);
}
};
handleDirectClick = () => {
this.props.onDirect(this.props.status.get('account'), this.context.router.history);
}
};
handleMuteClick = () => {
const { status, relationship, onMute, onUnmute } = this.props;
@ -175,7 +175,7 @@ class StatusActionBar extends ImmutablePureComponent {
} else {
onMute(account);
}
}
};
handleBlockClick = () => {
const { status, relationship, onBlock, onUnblock } = this.props;
@ -186,50 +186,50 @@ class StatusActionBar extends ImmutablePureComponent {
} else {
onBlock(status);
}
}
};
handleBlockDomain = () => {
const { status, onBlockDomain } = this.props;
const account = status.get('account');
onBlockDomain(account.get('acct').split('@')[1]);
}
};
handleUnblockDomain = () => {
const { status, onUnblockDomain } = this.props;
const account = status.get('account');
onUnblockDomain(account.get('acct').split('@')[1]);
}
};
handleOpen = () => {
this.context.router.history.push(`/@${this.props.status.getIn(['account', 'acct'])}/${this.props.status.get('id')}`);
}
};
handleEmbed = () => {
this.props.onEmbed(this.props.status);
}
};
handleReport = () => {
this.props.onReport(this.props.status);
}
};
handleConversationMuteClick = () => {
this.props.onMuteConversation(this.props.status);
}
};
handleFilterClick = () => {
this.props.onAddFilter(this.props.status);
}
};
handleCopy = () => {
const url = this.props.status.get('url');
navigator.clipboard.writeText(url);
}
};
handleHideClick = () => {
this.props.onFilter();
}
};
render () {
const { status, relationship, intl, withDismiss, withCounters, scrollKey } = this.props;

View file

@ -130,7 +130,7 @@ class StatusContent extends React.PureComponent {
let emoji = emojis[i];
emoji.src = emoji.getAttribute('data-original');
}
}
};
handleMouseLeave = ({ currentTarget }) => {
if (autoPlayGif) {
@ -143,7 +143,7 @@ class StatusContent extends React.PureComponent {
let emoji = emojis[i];
emoji.src = emoji.getAttribute('data-static');
}
}
};
componentDidMount () {
this._updateStatusLinks();
@ -158,7 +158,7 @@ class StatusContent extends React.PureComponent {
e.preventDefault();
this.context.router.history.push(`/@${mention.get('acct')}`);
}
}
};
onHashtagClick = (hashtag, e) => {
hashtag = hashtag.replace(/^#/, '');
@ -167,11 +167,11 @@ class StatusContent extends React.PureComponent {
e.preventDefault();
this.context.router.history.push(`/tags/${hashtag}`);
}
}
};
handleMouseDown = (e) => {
this.startXY = [e.clientX, e.clientY];
}
};
handleMouseUp = (e) => {
if (!this.startXY) {
@ -194,7 +194,7 @@ class StatusContent extends React.PureComponent {
}
this.startXY = null;
}
};
handleSpoilerClick = (e) => {
e.preventDefault();
@ -205,15 +205,15 @@ class StatusContent extends React.PureComponent {
} else {
this.setState({ hidden: !this.state.hidden });
}
}
};
handleTranslate = () => {
this.props.onTranslate();
}
};
setRef = (c) => {
this.node = c;
}
};
render () {
const { status, intl } = this.props;

View file

@ -34,7 +34,7 @@ export default class StatusList extends ImmutablePureComponent {
getFeaturedStatusCount = () => {
return this.props.featuredStatusIds ? this.props.featuredStatusIds.size : 0;
}
};
getCurrentStatusIndex = (id, featured) => {
if (featured) {
@ -42,21 +42,21 @@ export default class StatusList extends ImmutablePureComponent {
} else {
return this.props.statusIds.indexOf(id) + this.getFeaturedStatusCount();
}
}
};
handleMoveUp = (id, featured) => {
const elementIndex = this.getCurrentStatusIndex(id, featured) - 1;
this._selectChild(elementIndex, true);
}
};
handleMoveDown = (id, featured) => {
const elementIndex = this.getCurrentStatusIndex(id, featured) + 1;
this._selectChild(elementIndex, false);
}
};
handleLoadOlder = debounce(() => {
this.props.onLoadMore(this.props.statusIds.size > 0 ? this.props.statusIds.last() : undefined);
}, 300, { leading: true })
}, 300, { leading: true });
_selectChild (index, align_top) {
const container = this.node.node;
@ -74,7 +74,7 @@ export default class StatusList extends ImmutablePureComponent {
setRef = c => {
this.node = c;
}
};
render () {
const { statusIds, featuredStatusIds, onLoadMore, timelineId, ...other } = this.props;