[build] upgrade eslint to 9.37.0 (#88)
Co-authored-by: tobi <tobi.smethurst@protonmail.com> Reviewed-on: https://codeberg.org/superseriousbusiness/masto-fe-standalone/pulls/88 Co-authored-by: Zoë Bijl <moiety@noreply.codeberg.org> Co-committed-by: Zoë Bijl <moiety@noreply.codeberg.org>
This commit is contained in:
@@ -1,13 +1,13 @@
|
||||
import PropTypes from 'prop-types';
|
||||
import PropTypes from "prop-types";
|
||||
|
||||
import classNames from 'classnames';
|
||||
import classNames from "classnames";
|
||||
|
||||
import ImmutablePropTypes from 'react-immutable-proptypes';
|
||||
import ImmutablePureComponent from 'react-immutable-pure-component';
|
||||
import ImmutablePropTypes from "react-immutable-proptypes";
|
||||
import ImmutablePureComponent from "react-immutable-pure-component";
|
||||
|
||||
import { Blurhash } from 'mastodon/components/blurhash';
|
||||
import { Icon } from 'mastodon/components/icon';
|
||||
import { autoPlayGif, displayMedia, useBlurhash } from 'mastodon/initial_state';
|
||||
import { Blurhash } from "mastodon/components/blurhash";
|
||||
import { Icon } from "mastodon/components/icon";
|
||||
import { autoPlayGif, displayMedia, useBlurhash } from "mastodon/initial_state";
|
||||
|
||||
export default class MediaItem extends ImmutablePureComponent {
|
||||
|
||||
@@ -18,7 +18,7 @@ export default class MediaItem extends ImmutablePureComponent {
|
||||
};
|
||||
|
||||
state = {
|
||||
visible: displayMedia !== 'hide_all' && !this.props.attachment.getIn(['status', 'sensitive']) || displayMedia === 'show_all',
|
||||
visible: displayMedia !== "hide_all" && !this.props.attachment.getIn(["status", "sensitive"]) || displayMedia === "show_all",
|
||||
loaded: false,
|
||||
};
|
||||
|
||||
@@ -40,7 +40,7 @@ export default class MediaItem extends ImmutablePureComponent {
|
||||
};
|
||||
|
||||
hoverToPlay () {
|
||||
return !autoPlayGif && ['gifv', 'video'].indexOf(this.props.attachment.get('type')) !== -1;
|
||||
return !autoPlayGif && ["gifv", "video"].indexOf(this.props.attachment.get("type")) !== -1;
|
||||
}
|
||||
|
||||
handleClick = e => {
|
||||
@@ -61,8 +61,8 @@ export default class MediaItem extends ImmutablePureComponent {
|
||||
|
||||
const width = `${Math.floor((displayWidth - 4) / 3) - 4}px`;
|
||||
const height = width;
|
||||
const status = attachment.get('status');
|
||||
const title = status.get('spoiler_text') || attachment.get('description');
|
||||
const status = attachment.get("status");
|
||||
const title = status.get("spoiler_text") || attachment.get("description");
|
||||
|
||||
let thumbnail, label, icon, content;
|
||||
|
||||
@@ -73,45 +73,45 @@ export default class MediaItem extends ImmutablePureComponent {
|
||||
</span>
|
||||
);
|
||||
} else {
|
||||
if (['audio', 'video'].includes(attachment.get('type'))) {
|
||||
if (["audio", "video"].includes(attachment.get("type"))) {
|
||||
content = (
|
||||
<img
|
||||
src={attachment.get('preview_url') || status.getIn(['account', 'avatar_static'])}
|
||||
alt={attachment.get('description')}
|
||||
lang={status.get('language')}
|
||||
src={attachment.get("preview_url") || status.getIn(["account", "avatar_static"])}
|
||||
alt={attachment.get("description")}
|
||||
lang={status.get("language")}
|
||||
onLoad={this.handleImageLoad}
|
||||
/>
|
||||
);
|
||||
|
||||
if (attachment.get('type') === 'audio') {
|
||||
if (attachment.get("type") === "audio") {
|
||||
label = <Icon id='music' />;
|
||||
} else {
|
||||
label = <Icon id='play' />;
|
||||
}
|
||||
} else if (attachment.get('type') === 'image') {
|
||||
const focusX = attachment.getIn(['meta', 'focus', 'x']) || 0;
|
||||
const focusY = attachment.getIn(['meta', 'focus', 'y']) || 0;
|
||||
} else if (attachment.get("type") === "image") {
|
||||
const focusX = attachment.getIn(["meta", "focus", "x"]) || 0;
|
||||
const focusY = attachment.getIn(["meta", "focus", "y"]) || 0;
|
||||
const x = ((focusX / 2) + .5) * 100;
|
||||
const y = ((focusY / -2) + .5) * 100;
|
||||
|
||||
content = (
|
||||
<img
|
||||
src={attachment.get('preview_url')}
|
||||
alt={attachment.get('description')}
|
||||
lang={status.get('language')}
|
||||
src={attachment.get("preview_url")}
|
||||
alt={attachment.get("description")}
|
||||
lang={status.get("language")}
|
||||
style={{ objectPosition: `${x}% ${y}%` }}
|
||||
onLoad={this.handleImageLoad}
|
||||
/>
|
||||
);
|
||||
} else if (attachment.get('type') === 'gifv') {
|
||||
} else if (attachment.get("type") === "gifv") {
|
||||
content = (
|
||||
<video
|
||||
className='media-gallery__item-gifv-thumbnail'
|
||||
aria-label={attachment.get('description')}
|
||||
title={attachment.get('description')}
|
||||
lang={status.get('language')}
|
||||
aria-label={attachment.get("description")}
|
||||
title={attachment.get("description")}
|
||||
lang={status.get("language")}
|
||||
role='application'
|
||||
src={attachment.get('url')}
|
||||
src={attachment.get("url")}
|
||||
onMouseEnter={this.handleMouseEnter}
|
||||
onMouseLeave={this.handleMouseLeave}
|
||||
autoPlay={autoPlayGif}
|
||||
@@ -121,7 +121,7 @@ export default class MediaItem extends ImmutablePureComponent {
|
||||
/>
|
||||
);
|
||||
|
||||
label = 'GIF';
|
||||
label = "GIF";
|
||||
}
|
||||
|
||||
thumbnail = (
|
||||
@@ -139,10 +139,10 @@ export default class MediaItem extends ImmutablePureComponent {
|
||||
|
||||
return (
|
||||
<div className='account-gallery__item' style={{ width, height }}>
|
||||
<a className='media-gallery__item-thumbnail' href={`/@${status.getIn(['account', 'acct'])}/${status.get('id')}`} onClick={this.handleClick} title={title} target='_blank' rel='noopener noreferrer'>
|
||||
<a className='media-gallery__item-thumbnail' href={`/@${status.getIn(["account", "acct"])}/${status.get("id")}`} onClick={this.handleClick} title={title} target='_blank' rel='noopener noreferrer'>
|
||||
<Blurhash
|
||||
hash={attachment.get('blurhash')}
|
||||
className={classNames('media-gallery__preview', { 'media-gallery__preview--hidden': visible && loaded })}
|
||||
hash={attachment.get("blurhash")}
|
||||
className={classNames("media-gallery__preview", { "media-gallery__preview--hidden": visible && loaded })}
|
||||
dummy={!useBlurhash}
|
||||
/>
|
||||
|
||||
|
||||
@@ -1,29 +1,29 @@
|
||||
import PropTypes from 'prop-types';
|
||||
import PropTypes from "prop-types";
|
||||
|
||||
import { FormattedMessage } from 'react-intl';
|
||||
import { FormattedMessage } from "react-intl";
|
||||
|
||||
import ImmutablePropTypes from 'react-immutable-proptypes';
|
||||
import ImmutablePureComponent from 'react-immutable-pure-component';
|
||||
import { connect } from 'react-redux';
|
||||
import ImmutablePropTypes from "react-immutable-proptypes";
|
||||
import ImmutablePureComponent from "react-immutable-pure-component";
|
||||
import { connect } from "react-redux";
|
||||
|
||||
import { lookupAccount, fetchAccount } from 'mastodon/actions/accounts';
|
||||
import { openModal } from 'mastodon/actions/modal';
|
||||
import ColumnBackButton from 'mastodon/components/column_back_button';
|
||||
import { LoadMore } from 'mastodon/components/load_more';
|
||||
import { LoadingIndicator } from 'mastodon/components/loading_indicator';
|
||||
import ScrollContainer from 'mastodon/containers/scroll_container';
|
||||
import BundleColumnError from 'mastodon/features/ui/components/bundle_column_error';
|
||||
import { normalizeForLookup } from 'mastodon/reducers/accounts_map';
|
||||
import { getAccountGallery } from 'mastodon/selectors';
|
||||
import { lookupAccount, fetchAccount } from "mastodon/actions/accounts";
|
||||
import { openModal } from "mastodon/actions/modal";
|
||||
import ColumnBackButton from "mastodon/components/column_back_button";
|
||||
import { LoadMore } from "mastodon/components/load_more";
|
||||
import { LoadingIndicator } from "mastodon/components/loading_indicator";
|
||||
import ScrollContainer from "mastodon/containers/scroll_container";
|
||||
import BundleColumnError from "mastodon/features/ui/components/bundle_column_error";
|
||||
import { normalizeForLookup } from "mastodon/reducers/accounts_map";
|
||||
import { getAccountGallery } from "mastodon/selectors";
|
||||
|
||||
import { expandAccountMediaTimeline } from '../../actions/timelines';
|
||||
import HeaderContainer from '../account_timeline/containers/header_container';
|
||||
import Column from '../ui/components/column';
|
||||
import { expandAccountMediaTimeline } from "../../actions/timelines";
|
||||
import HeaderContainer from "../account_timeline/containers/header_container";
|
||||
import Column from "../ui/components/column";
|
||||
|
||||
import MediaItem from './components/media_item';
|
||||
import MediaItem from "./components/media_item";
|
||||
|
||||
const mapStateToProps = (state, { params: { acct, id } }) => {
|
||||
const accountId = id || state.getIn(['accounts_map', normalizeForLookup(acct)]);
|
||||
const accountId = id || state.getIn(["accounts_map", normalizeForLookup(acct)]);
|
||||
|
||||
if (!accountId) {
|
||||
return {
|
||||
@@ -33,12 +33,12 @@ const mapStateToProps = (state, { params: { acct, id } }) => {
|
||||
|
||||
return {
|
||||
accountId,
|
||||
isAccount: !!state.getIn(['accounts', accountId]),
|
||||
isAccount: !!state.getIn(["accounts", accountId]),
|
||||
attachments: getAccountGallery(state, accountId),
|
||||
isLoading: state.getIn(['timelines', `account:${accountId}:media`, 'isLoading']),
|
||||
hasMore: state.getIn(['timelines', `account:${accountId}:media`, 'hasMore']),
|
||||
suspended: state.getIn(['accounts', accountId, 'suspended'], false),
|
||||
blockedBy: state.getIn(['relationships', accountId, 'blocked_by'], false),
|
||||
isLoading: state.getIn(["timelines", `account:${accountId}:media`, "isLoading"]),
|
||||
hasMore: state.getIn(["timelines", `account:${accountId}:media`, "hasMore"]),
|
||||
suspended: state.getIn(["accounts", accountId, "suspended"], false),
|
||||
blockedBy: state.getIn(["relationships", accountId, "blocked_by"], false),
|
||||
};
|
||||
};
|
||||
|
||||
@@ -89,7 +89,9 @@ class AccountGallery extends ImmutablePureComponent {
|
||||
_load () {
|
||||
const { accountId, isAccount, dispatch } = this.props;
|
||||
|
||||
if (!isAccount) dispatch(fetchAccount(accountId));
|
||||
if (!isAccount) {
|
||||
dispatch(fetchAccount(accountId));
|
||||
}
|
||||
dispatch(expandAccountMediaTimeline(accountId));
|
||||
}
|
||||
|
||||
@@ -115,7 +117,7 @@ class AccountGallery extends ImmutablePureComponent {
|
||||
|
||||
handleScrollToBottom = () => {
|
||||
if (this.props.hasMore) {
|
||||
this.handleLoadMore(this.props.attachments.size > 0 ? this.props.attachments.last().getIn(['status', 'id']) : undefined);
|
||||
this.handleLoadMore(this.props.attachments.size > 0 ? this.props.attachments.last().getIn(["status", "id"]) : undefined);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -139,25 +141,25 @@ class AccountGallery extends ImmutablePureComponent {
|
||||
|
||||
handleOpenMedia = attachment => {
|
||||
const { dispatch } = this.props;
|
||||
const statusId = attachment.getIn(['status', 'id']);
|
||||
const lang = attachment.getIn(['status', 'language']);
|
||||
const statusId = attachment.getIn(["status", "id"]);
|
||||
const lang = attachment.getIn(["status", "language"]);
|
||||
|
||||
if (attachment.get('type') === 'video') {
|
||||
if (attachment.get("type") === "video") {
|
||||
dispatch(openModal({
|
||||
modalType: 'VIDEO',
|
||||
modalType: "VIDEO",
|
||||
modalProps: { media: attachment, statusId, lang, options: { autoPlay: true } },
|
||||
}));
|
||||
} else if (attachment.get('type') === 'audio') {
|
||||
} else if (attachment.get("type") === "audio") {
|
||||
dispatch(openModal({
|
||||
modalType: 'AUDIO',
|
||||
modalType: "AUDIO",
|
||||
modalProps: { media: attachment, statusId, lang, options: { autoPlay: true } },
|
||||
}));
|
||||
} else {
|
||||
const media = attachment.getIn(['status', 'media_attachments']);
|
||||
const index = media.findIndex(x => x.get('id') === attachment.get('id'));
|
||||
const media = attachment.getIn(["status", "media_attachments"]);
|
||||
const index = media.findIndex(x => x.get("id") === attachment.get("id"));
|
||||
|
||||
dispatch(openModal({
|
||||
modalType: 'MEDIA',
|
||||
modalType: "MEDIA",
|
||||
modalProps: { media, index, statusId, lang },
|
||||
}));
|
||||
}
|
||||
@@ -216,9 +218,9 @@ class AccountGallery extends ImmutablePureComponent {
|
||||
) : (
|
||||
<div role='feed' className='account-gallery__container' ref={this.handleRef}>
|
||||
{attachments.map((attachment, index) => attachment === null ? (
|
||||
<LoadMoreMedia key={'more:' + attachments.getIn(index + 1, 'id')} maxId={index > 0 ? attachments.getIn(index - 1, 'id') : null} onLoadMore={this.handleLoadMore} />
|
||||
<LoadMoreMedia key={"more:" + attachments.getIn(index + 1, "id")} maxId={index > 0 ? attachments.getIn(index - 1, "id") : null} onLoadMore={this.handleLoadMore} />
|
||||
) : (
|
||||
<MediaItem key={attachment.get('id')} attachment={attachment} displayWidth={width} onOpenMedia={this.handleOpenMedia} />
|
||||
<MediaItem key={attachment.get("id")} attachment={attachment} displayWidth={width} onOpenMedia={this.handleOpenMedia} />
|
||||
))}
|
||||
|
||||
{loadOlder}
|
||||
|
||||
Reference in New Issue
Block a user