[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:
Zoë Bijl
2025-10-12 13:42:02 +02:00
committed by tobi
parent 75d7a62693
commit 1ff70886a1
975 changed files with 22196 additions and 21964 deletions
@@ -1,6 +1,6 @@
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import { defineMessages, injectIntl, FormattedMessage } from "react-intl";
import { connect } from 'react-redux';
import { connect } from "react-redux";
import {
followAccount,
@@ -9,15 +9,15 @@ import {
unblockAccount,
muteAccount,
unmuteAccount,
} from 'flavours/glitch/actions/accounts';
import { openModal } from 'flavours/glitch/actions/modal';
import { initMuteModal } from 'flavours/glitch/actions/mutes';
import Account from 'flavours/glitch/components/account';
import { unfollowModal } from 'flavours/glitch/initial_state';
import { makeGetAccount } from 'flavours/glitch/selectors';
} from "flavours/glitch/actions/accounts";
import { openModal } from "flavours/glitch/actions/modal";
import { initMuteModal } from "flavours/glitch/actions/mutes";
import Account from "flavours/glitch/components/account";
import { unfollowModal } from "flavours/glitch/initial_state";
import { makeGetAccount } from "flavours/glitch/selectors";
const messages = defineMessages({
unfollowConfirm: { id: 'confirmations.unfollow.confirm', defaultMessage: 'Unfollow' },
unfollowConfirm: { id: "confirmations.unfollow.confirm", defaultMessage: "Unfollow" },
});
const makeMapStateToProps = () => {
@@ -33,35 +33,35 @@ const makeMapStateToProps = () => {
const mapDispatchToProps = (dispatch, { intl }) => ({
onFollow (account) {
if (account.getIn(['relationship', 'following']) || account.getIn(['relationship', 'requested'])) {
if (account.getIn(["relationship", "following"]) || account.getIn(["relationship", "requested"])) {
if (unfollowModal) {
dispatch(openModal({
modalType: 'CONFIRM',
modalType: "CONFIRM",
modalProps: {
message: <FormattedMessage id='confirmations.unfollow.message' defaultMessage='Are you sure you want to unfollow {name}?' values={{ name: <strong>@{account.get('acct')}</strong> }} />,
message: <FormattedMessage id='confirmations.unfollow.message' defaultMessage='Are you sure you want to unfollow {name}?' values={{ name: <strong>@{account.get("acct")}</strong> }} />,
confirm: intl.formatMessage(messages.unfollowConfirm),
onConfirm: () => dispatch(unfollowAccount(account.get('id'))),
onConfirm: () => dispatch(unfollowAccount(account.get("id"))),
},
}));
} else {
dispatch(unfollowAccount(account.get('id')));
dispatch(unfollowAccount(account.get("id")));
}
} else {
dispatch(followAccount(account.get('id')));
dispatch(followAccount(account.get("id")));
}
},
onBlock (account) {
if (account.getIn(['relationship', 'blocking'])) {
dispatch(unblockAccount(account.get('id')));
if (account.getIn(["relationship", "blocking"])) {
dispatch(unblockAccount(account.get("id")));
} else {
dispatch(blockAccount(account.get('id')));
dispatch(blockAccount(account.get("id")));
}
},
onMute (account) {
if (account.getIn(['relationship', 'muting'])) {
dispatch(unmuteAccount(account.get('id')));
if (account.getIn(["relationship", "muting"])) {
dispatch(unmuteAccount(account.get("id")));
} else {
dispatch(initMuteModal(account));
}
@@ -69,7 +69,7 @@ const mapDispatchToProps = (dispatch, { intl }) => ({
onMuteNotifications (account, notifications) {
dispatch(muteAccount(account.get('id'), notifications));
dispatch(muteAccount(account.get("id"), notifications));
},
});
@@ -1,7 +1,7 @@
import PropTypes from 'prop-types';
import { PureComponent } from 'react';
import PropTypes from "prop-types";
import { PureComponent } from "react";
import { IntlProvider } from 'flavours/glitch/locales';
import { IntlProvider } from "flavours/glitch/locales";
export default class AdminComponent extends PureComponent {
@@ -1,13 +1,13 @@
import { PureComponent } from 'react';
import { PureComponent } from "react";
import { Provider } from 'react-redux';
import { Provider } from "react-redux";
import { fetchCustomEmojis } from 'flavours/glitch/actions/custom_emojis';
import { hydrateStore } from 'flavours/glitch/actions/store';
import Compose from 'flavours/glitch/features/standalone/compose';
import initialState from 'flavours/glitch/initial_state';
import { IntlProvider } from 'flavours/glitch/locales';
import { store } from 'flavours/glitch/store';
import { fetchCustomEmojis } from "flavours/glitch/actions/custom_emojis";
import { hydrateStore } from "flavours/glitch/actions/store";
import Compose from "flavours/glitch/features/standalone/compose";
import initialState from "flavours/glitch/initial_state";
import { IntlProvider } from "flavours/glitch/locales";
import { store } from "flavours/glitch/store";
if (initialState) {
store.dispatch(hydrateStore(initialState));
@@ -1,13 +1,13 @@
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import { defineMessages, injectIntl, FormattedMessage } from "react-intl";
import { connect } from 'react-redux';
import { connect } from "react-redux";
import { blockDomain, unblockDomain } from '../actions/domain_blocks';
import { openModal } from '../actions/modal';
import { Domain } from '../components/domain';
import { blockDomain, unblockDomain } from "../actions/domain_blocks";
import { openModal } from "../actions/modal";
import { Domain } from "../components/domain";
const messages = defineMessages({
blockDomainConfirm: { id: 'confirmations.domain_block.confirm', defaultMessage: 'Block entire domain' },
blockDomainConfirm: { id: "confirmations.domain_block.confirm", defaultMessage: "Block entire domain" },
});
const makeMapStateToProps = () => {
@@ -19,7 +19,7 @@ const makeMapStateToProps = () => {
const mapDispatchToProps = (dispatch, { intl }) => ({
onBlockDomain (domain) {
dispatch(openModal({
modalType: 'CONFIRM',
modalType: "CONFIRM",
modalProps: {
message: <FormattedMessage id='confirmations.domain_block.message' defaultMessage='Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.' values={{ domain: <strong>{domain}</strong> }} />,
confirm: intl.formatMessage(messages.blockDomainConfirm),
@@ -1,10 +1,10 @@
import { connect } from 'react-redux';
import { connect } from "react-redux";
import { openDropdownMenu, closeDropdownMenu } from 'flavours/glitch/actions/dropdown_menu';
import { openModal, closeModal } from 'flavours/glitch/actions/modal';
import DropdownMenu from 'flavours/glitch/components/dropdown_menu';
import { openDropdownMenu, closeDropdownMenu } from "flavours/glitch/actions/dropdown_menu";
import { openModal, closeModal } from "flavours/glitch/actions/modal";
import DropdownMenu from "flavours/glitch/components/dropdown_menu";
import { isUserTouching } from '../is_mobile';
import { isUserTouching } from "../is_mobile";
/**
* @param {import('flavours/glitch/store').RootState} state
@@ -17,7 +17,7 @@ const mapStateToProps = state => ({
const mapDispatchToProps = (dispatch, { status, items, scrollKey }) => ({
onOpen(id, onItemClick, keyboard) {
dispatch(isUserTouching() ? openModal({
modalType: 'ACTIONS',
modalType: "ACTIONS",
modalProps: {
status,
actions: items,
@@ -28,7 +28,7 @@ const mapDispatchToProps = (dispatch, { status, items, scrollKey }) => ({
onClose(id) {
dispatch(closeModal({
modalType: 'ACTIONS',
modalType: "ACTIONS",
ignoreFocus: false,
}));
dispatch(closeDropdownMenu({ id }));
@@ -1,10 +1,10 @@
import { connect } from 'react-redux';
import { connect } from "react-redux";
import { setHeight } from 'flavours/glitch/actions/height_cache';
import IntersectionObserverArticle from 'flavours/glitch/components/intersection_observer_article';
import { setHeight } from "flavours/glitch/actions/height_cache";
import IntersectionObserverArticle from "flavours/glitch/components/intersection_observer_article";
const makeMapStateToProps = (state, props) => ({
cachedHeight: state.getIn(['height_cache', props.saveHeightKey, props.id]),
cachedHeight: state.getIn(["height_cache", props.saveHeightKey, props.id]),
});
const mapDispatchToProps = (dispatch) => ({
@@ -1,27 +1,27 @@
import PropTypes from 'prop-types';
import { PureComponent } from 'react';
import PropTypes from "prop-types";
import { PureComponent } from "react";
import { Helmet } from 'react-helmet';
import { Route } from 'react-router-dom';
import { Helmet } from "react-helmet";
import { Route } from "react-router-dom";
import { Provider as ReduxProvider } from 'react-redux';
import { Provider as ReduxProvider } from "react-redux";
import { ScrollContext } from 'react-router-scroll-4';
import { ScrollContext } from "react-router-scroll-4";
import { fetchCustomEmojis } from 'flavours/glitch/actions/custom_emojis';
import { checkDeprecatedLocalSettings } from 'flavours/glitch/actions/local_settings';
import { hydrateStore } from 'flavours/glitch/actions/store';
import { connectUserStream } from 'flavours/glitch/actions/streaming';
import ErrorBoundary from 'flavours/glitch/components/error_boundary';
import { Router } from 'flavours/glitch/components/router';
import UI from 'flavours/glitch/features/ui';
import initialState, { title as siteTitle } from 'flavours/glitch/initial_state';
import { IntlProvider } from 'flavours/glitch/locales';
import { store } from 'flavours/glitch/store';
import { fetchCustomEmojis } from "flavours/glitch/actions/custom_emojis";
import { checkDeprecatedLocalSettings } from "flavours/glitch/actions/local_settings";
import { hydrateStore } from "flavours/glitch/actions/store";
import { connectUserStream } from "flavours/glitch/actions/streaming";
import ErrorBoundary from "flavours/glitch/components/error_boundary";
import { Router } from "flavours/glitch/components/router";
import UI from "flavours/glitch/features/ui";
import initialState, { title as siteTitle } from "flavours/glitch/initial_state";
import { IntlProvider } from "flavours/glitch/locales";
import { store } from "flavours/glitch/store";
import { ThemeComponent } from './theme_component';
import { ThemeComponent } from "./theme_component";
const title = process.env.NODE_ENV === 'production' ? siteTitle : `${siteTitle} (Dev)`;
const title = process.env.NODE_ENV === "production" ? siteTitle : `${siteTitle} (Dev)`;
const hydrateAction = hydrateStore(initialState);
store.dispatch(hydrateAction);
@@ -1,19 +1,19 @@
import PropTypes from 'prop-types';
import { PureComponent } from 'react';
import { createPortal } from 'react-dom';
import PropTypes from "prop-types";
import { PureComponent } from "react";
import { createPortal } from "react-dom";
import { fromJS } from 'immutable';
import { fromJS } from "immutable";
import { ImmutableHashtag as Hashtag } from 'flavours/glitch/components/hashtag';
import MediaGallery from 'flavours/glitch/components/media_gallery';
import ModalRoot from 'flavours/glitch/components/modal_root';
import Poll from 'flavours/glitch/components/poll';
import Audio from 'flavours/glitch/features/audio';
import Card from 'flavours/glitch/features/status/components/card';
import MediaModal from 'flavours/glitch/features/ui/components/media_modal';
import Video from 'flavours/glitch/features/video';
import { IntlProvider } from 'flavours/glitch/locales';
import { getScrollbarWidth } from 'flavours/glitch/utils/scrollbar';
import { ImmutableHashtag as Hashtag } from "flavours/glitch/components/hashtag";
import MediaGallery from "flavours/glitch/components/media_gallery";
import ModalRoot from "flavours/glitch/components/modal_root";
import Poll from "flavours/glitch/components/poll";
import Audio from "flavours/glitch/features/audio";
import Card from "flavours/glitch/features/status/components/card";
import MediaModal from "flavours/glitch/features/ui/components/media_modal";
import Video from "flavours/glitch/features/video";
import { IntlProvider } from "flavours/glitch/locales";
import { getScrollbarWidth } from "flavours/glitch/utils/scrollbar";
const MEDIA_COMPONENTS = { MediaGallery, Video, Card, Poll, Hashtag, Audio };
@@ -33,7 +33,7 @@ export default class MediaContainer extends PureComponent {
};
handleOpenMedia = (media, index, lang) => {
document.body.classList.add('with-modals--active');
document.body.classList.add("with-modals--active");
document.documentElement.style.marginRight = `${getScrollbarWidth()}px`;
this.setState({ media, index, lang });
@@ -41,18 +41,18 @@ export default class MediaContainer extends PureComponent {
handleOpenVideo = (lang, options) => {
const { components } = this.props;
const { media } = JSON.parse(components[options.componentIndex].getAttribute('data-props'));
const { media } = JSON.parse(components[options.componentIndex].getAttribute("data-props"));
const mediaList = fromJS(media);
document.body.classList.add('with-modals--active');
document.body.classList.add("with-modals--active");
document.documentElement.style.marginRight = `${getScrollbarWidth()}px`;
this.setState({ media: mediaList, lang, options });
};
handleCloseMedia = () => {
document.body.classList.remove('with-modals--active');
document.documentElement.style.marginRight = '0';
document.body.classList.remove("with-modals--active");
document.documentElement.style.marginRight = "0";
this.setState({
media: null,
@@ -81,9 +81,9 @@ export default class MediaContainer extends PureComponent {
<IntlProvider>
<>
{[].map.call(components, (component, i) => {
const componentName = component.getAttribute('data-component');
const componentName = component.getAttribute("data-component");
const Component = MEDIA_COMPONENTS[componentName];
const { media, card, poll, hashtag, ...props } = JSON.parse(component.getAttribute('data-props'));
const { media, card, poll, hashtag, ...props } = JSON.parse(component.getAttribute("data-props"));
Object.assign(props, {
...(media ? { media: fromJS(media) } : {}),
@@ -91,7 +91,7 @@ export default class MediaContainer extends PureComponent {
...(poll ? { poll: fromJS(poll) } : {}),
...(hashtag ? { hashtag: fromJS(hashtag) } : {}),
...(componentName === 'Video' ? {
...(componentName === "Video" ? {
componentIndex: i,
onOpenVideo: handleOpenVideo,
} : {
@@ -1,20 +1,20 @@
// Package imports.
import { defineMessages, injectIntl } from 'react-intl';
import { defineMessages, injectIntl } from "react-intl";
import { connect } from 'react-redux';
import { connect } from "react-redux";
// Our imports.
import { openModal } from 'flavours/glitch/actions/modal';
import { openModal } from "flavours/glitch/actions/modal";
import {
deleteMarkedNotifications,
enterNotificationClearingMode,
markAllNotifications,
} from 'flavours/glitch/actions/notifications';
import NotificationPurgeButtons from 'flavours/glitch/components/notification_purge_buttons';
} from "flavours/glitch/actions/notifications";
import NotificationPurgeButtons from "flavours/glitch/components/notification_purge_buttons";
const messages = defineMessages({
clearMessage: { id: 'notifications.marked_clear_confirmation', defaultMessage: 'Are you sure you want to permanently clear all selected notifications?' },
clearConfirm: { id: 'notifications.marked_clear', defaultMessage: 'Clear selected notifications' },
clearMessage: { id: "notifications.marked_clear_confirmation", defaultMessage: "Are you sure you want to permanently clear all selected notifications?" },
clearConfirm: { id: "notifications.marked_clear", defaultMessage: "Clear selected notifications" },
});
const mapDispatchToProps = (dispatch, { intl }) => ({
@@ -24,7 +24,7 @@ const mapDispatchToProps = (dispatch, { intl }) => ({
onDeleteMarked() {
dispatch(openModal({
modalType: 'CONFIRM',
modalType: "CONFIRM",
modalProps: {
message: intl.formatMessage(messages.clearMessage),
confirm: intl.formatMessage(messages.clearConfirm),
@@ -47,7 +47,7 @@ const mapDispatchToProps = (dispatch, { intl }) => ({
});
const mapStateToProps = state => ({
markNewForDelete: state.getIn(['notifications', 'markNewForDelete']),
markNewForDelete: state.getIn(["notifications", "markNewForDelete"]),
});
export default injectIntl(connect(mapStateToProps, mapDispatchToProps)(NotificationPurgeButtons));
@@ -1,9 +1,9 @@
import { connect } from 'react-redux';
import { connect } from "react-redux";
import { debounce } from 'lodash';
import { debounce } from "lodash";
import { fetchPoll, vote } from 'flavours/glitch/actions/polls';
import Poll from 'flavours/glitch/components/poll';
import { fetchPoll, vote } from "flavours/glitch/actions/polls";
import Poll from "flavours/glitch/components/poll";
const mapDispatchToProps = (dispatch, { pollId }) => ({
refresh: debounce(
@@ -20,7 +20,7 @@ const mapDispatchToProps = (dispatch, { pollId }) => ({
});
const mapStateToProps = (state, { pollId }) => ({
poll: state.getIn(['polls', pollId]),
poll: state.getIn(["polls", pollId]),
});
export default connect(mapStateToProps, mapDispatchToProps)(Poll);
@@ -1,4 +1,4 @@
import { ScrollContainer as OriginalScrollContainer } from 'react-router-scroll-4';
import { ScrollContainer as OriginalScrollContainer } from "react-router-scroll-4";
// ScrollContainer is used to automatically scroll to the top when pushing a
// new history state and remembering the scroll position when going back.
@@ -1,17 +1,17 @@
import { defineMessages, injectIntl } from 'react-intl';
import { defineMessages, injectIntl } from "react-intl";
import { connect } from 'react-redux';
import { connect } from "react-redux";
import { initBlockModal } from 'flavours/glitch/actions/blocks';
import { initBoostModal } from 'flavours/glitch/actions/boosts';
import { initBlockModal } from "flavours/glitch/actions/blocks";
import { initBoostModal } from "flavours/glitch/actions/boosts";
import {
replyCompose,
mentionCompose,
directCompose,
} from 'flavours/glitch/actions/compose';
} from "flavours/glitch/actions/compose";
import {
initAddFilter,
} from 'flavours/glitch/actions/filters';
} from "flavours/glitch/actions/filters";
import {
reblog,
favourite,
@@ -21,12 +21,12 @@ import {
unbookmark,
pin,
unpin,
} from 'flavours/glitch/actions/interactions';
import { changeLocalSetting } from 'flavours/glitch/actions/local_settings';
import { openModal } from 'flavours/glitch/actions/modal';
import { initMuteModal } from 'flavours/glitch/actions/mutes';
import { deployPictureInPicture } from 'flavours/glitch/actions/picture_in_picture';
import { initReport } from 'flavours/glitch/actions/reports';
} from "flavours/glitch/actions/interactions";
import { changeLocalSetting } from "flavours/glitch/actions/local_settings";
import { openModal } from "flavours/glitch/actions/modal";
import { initMuteModal } from "flavours/glitch/actions/mutes";
import { deployPictureInPicture } from "flavours/glitch/actions/picture_in_picture";
import { initReport } from "flavours/glitch/actions/reports";
import {
muteStatus,
unmuteStatus,
@@ -36,26 +36,26 @@ import {
editStatus,
translateStatus,
undoStatusTranslation,
} from 'flavours/glitch/actions/statuses';
import Status from 'flavours/glitch/components/status';
import { boostModal, favouriteModal, deleteModal } from 'flavours/glitch/initial_state';
import { makeGetStatus, makeGetPictureInPicture } from 'flavours/glitch/selectors';
} from "flavours/glitch/actions/statuses";
import Status from "flavours/glitch/components/status";
import { boostModal, favouriteModal, deleteModal } from "flavours/glitch/initial_state";
import { makeGetStatus, makeGetPictureInPicture } from "flavours/glitch/selectors";
import { showAlertForError } from '../actions/alerts';
import { showAlertForError } from "../actions/alerts";
const messages = defineMessages({
deleteConfirm: { id: 'confirmations.delete.confirm', defaultMessage: 'Delete' },
deleteMessage: { id: 'confirmations.delete.message', defaultMessage: 'Are you sure you want to delete this status?' },
redraftConfirm: { id: 'confirmations.redraft.confirm', defaultMessage: 'Delete & redraft' },
redraftMessage: { id: 'confirmations.redraft.message', defaultMessage: 'Are you sure you want to delete this status and re-draft it? Favorites and boosts will be lost, and replies to the original post will be orphaned.' },
replyConfirm: { id: 'confirmations.reply.confirm', defaultMessage: 'Reply' },
replyMessage: { id: 'confirmations.reply.message', defaultMessage: 'Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?' },
editConfirm: { id: 'confirmations.edit.confirm', defaultMessage: 'Edit' },
editMessage: { id: 'confirmations.edit.message', defaultMessage: 'Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?' },
unfilterConfirm: { id: 'confirmations.unfilter.confirm', defaultMessage: 'Show' },
author: { id: 'confirmations.unfilter.author', defaultMessage: 'Author' },
matchingFilters: { id: 'confirmations.unfilter.filters', defaultMessage: 'Matching {count, plural, one {filter} other {filters}}' },
editFilter: { id: 'confirmations.unfilter.edit_filter', defaultMessage: 'Edit filter' },
deleteConfirm: { id: "confirmations.delete.confirm", defaultMessage: "Delete" },
deleteMessage: { id: "confirmations.delete.message", defaultMessage: "Are you sure you want to delete this status?" },
redraftConfirm: { id: "confirmations.redraft.confirm", defaultMessage: "Delete & redraft" },
redraftMessage: { id: "confirmations.redraft.message", defaultMessage: "Are you sure you want to delete this status and re-draft it? Favorites and boosts will be lost, and replies to the original post will be orphaned." },
replyConfirm: { id: "confirmations.reply.confirm", defaultMessage: "Reply" },
replyMessage: { id: "confirmations.reply.message", defaultMessage: "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?" },
editConfirm: { id: "confirmations.edit.confirm", defaultMessage: "Edit" },
editMessage: { id: "confirmations.edit.message", defaultMessage: "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?" },
unfilterConfirm: { id: "confirmations.unfilter.confirm", defaultMessage: "Show" },
author: { id: "confirmations.unfilter.author", defaultMessage: "Author" },
matchingFilters: { id: "confirmations.unfilter.filters", defaultMessage: "Matching {count, plural, one {filter} other {filters}}" },
editFilter: { id: "confirmations.unfilter.edit_filter", defaultMessage: "Edit filter" },
});
const makeMapStateToProps = () => {
@@ -65,25 +65,25 @@ const makeMapStateToProps = () => {
const mapStateToProps = (state, props) => {
let status = getStatus(state, props);
let reblogStatus = status ? status.get('reblog', null) : null;
let reblogStatus = status ? status.get("reblog", null) : null;
let account = undefined;
let prepend = undefined;
if (props.featured && status) {
account = status.get('account');
prepend = 'featured';
} else if (reblogStatus !== null && typeof reblogStatus === 'object') {
account = status.get('account');
account = status.get("account");
prepend = "featured";
} else if (reblogStatus !== null && typeof reblogStatus === "object") {
account = status.get("account");
status = reblogStatus;
prepend = 'reblogged_by';
prepend = "reblogged_by";
}
return {
containerId: props.containerId || props.id, // Should match reblogStatus's id for reblogs
status: status,
nextInReplyToId: props.nextId ? state.getIn(['statuses', props.nextId, 'in_reply_to_id']) : null,
nextInReplyToId: props.nextId ? state.getIn(["statuses", props.nextId, "in_reply_to_id"]) : null,
account: account || props.account,
settings: state.get('local_settings'),
settings: state.get("local_settings"),
prepend: prepend || props.prepend,
pictureInPicture: getPictureInPicture(state, props),
};
@@ -98,13 +98,13 @@ const mapDispatchToProps = (dispatch, { intl, contextType }) => ({
dispatch((_, getState) => {
let state = getState();
if (state.getIn(['local_settings', 'confirm_before_clearing_draft']) && state.getIn(['compose', 'text']).trim().length !== 0) {
if (state.getIn(["local_settings", "confirm_before_clearing_draft"]) && state.getIn(["compose", "text"]).trim().length !== 0) {
dispatch(openModal({
modalType: 'CONFIRM',
modalType: "CONFIRM",
modalProps: {
message: intl.formatMessage(messages.replyMessage),
confirm: intl.formatMessage(messages.replyConfirm),
onDoNotAsk: () => dispatch(changeLocalSetting(['confirm_before_clearing_draft'], false)),
onDoNotAsk: () => dispatch(changeLocalSetting(["confirm_before_clearing_draft"], false)),
onConfirm: () => dispatch(replyCompose(status, router)),
},
}));
@@ -115,7 +115,7 @@ const mapDispatchToProps = (dispatch, { intl, contextType }) => ({
},
onModalReblog (status, privacy) {
if (status.get('reblogged')) {
if (status.get("reblogged")) {
dispatch(unreblog(status));
} else {
dispatch(reblog(status, privacy));
@@ -125,7 +125,7 @@ const mapDispatchToProps = (dispatch, { intl, contextType }) => ({
onReblog (status, e) {
dispatch((_, getState) => {
let state = getState();
if (state.getIn(['local_settings', 'confirm_boost_missing_media_description']) && status.get('media_attachments').some(item => !item.get('description')) && !status.get('reblogged')) {
if (state.getIn(["local_settings", "confirm_boost_missing_media_description"]) && status.get("media_attachments").some(item => !item.get("description")) && !status.get("reblogged")) {
dispatch(initBoostModal({ status, onReblog: this.onModalReblog, missingMediaDescription: true }));
} else if (e.shiftKey || !boostModal) {
this.onModalReblog(status);
@@ -136,7 +136,7 @@ const mapDispatchToProps = (dispatch, { intl, contextType }) => ({
},
onBookmark (status) {
if (status.get('bookmarked')) {
if (status.get("bookmarked")) {
dispatch(unbookmark(status));
} else {
dispatch(bookmark(status));
@@ -148,14 +148,14 @@ const mapDispatchToProps = (dispatch, { intl, contextType }) => ({
},
onFavourite (status, e) {
if (status.get('favourited')) {
if (status.get("favourited")) {
dispatch(unfavourite(status));
} else {
if (e.shiftKey || !favouriteModal) {
this.onModalFavourite(status);
} else {
dispatch(openModal({
modalType: 'FAVOURITE',
modalType: "FAVOURITE",
modalProps: {
status,
onFavourite: this.onModalFavourite,
@@ -166,7 +166,7 @@ const mapDispatchToProps = (dispatch, { intl, contextType }) => ({
},
onPin (status) {
if (status.get('pinned')) {
if (status.get("pinned")) {
dispatch(unpin(status));
} else {
dispatch(pin(status));
@@ -175,9 +175,9 @@ const mapDispatchToProps = (dispatch, { intl, contextType }) => ({
onEmbed (status) {
dispatch(openModal({
modalType: 'EMBED',
modalType: "EMBED",
modalProps: {
id: status.get('id'),
id: status.get("id"),
onError: error => dispatch(showAlertForError(error)),
},
}));
@@ -185,14 +185,14 @@ const mapDispatchToProps = (dispatch, { intl, contextType }) => ({
onDelete (status, history, withRedraft = false) {
if (!deleteModal) {
dispatch(deleteStatus(status.get('id'), history, withRedraft));
dispatch(deleteStatus(status.get("id"), history, withRedraft));
} else {
dispatch(openModal({
modalType: 'CONFIRM',
modalType: "CONFIRM",
modalProps: {
message: intl.formatMessage(withRedraft ? messages.redraftMessage : messages.deleteMessage),
confirm: intl.formatMessage(withRedraft ? messages.redraftConfirm : messages.deleteConfirm),
onConfirm: () => dispatch(deleteStatus(status.get('id'), history, withRedraft)),
onConfirm: () => dispatch(deleteStatus(status.get("id"), history, withRedraft)),
},
}));
}
@@ -201,26 +201,26 @@ const mapDispatchToProps = (dispatch, { intl, contextType }) => ({
onEdit (status, history) {
dispatch((_, getState) => {
let state = getState();
if (state.getIn(['compose', 'text']).trim().length !== 0) {
if (state.getIn(["compose", "text"]).trim().length !== 0) {
dispatch(openModal({
modalType: 'CONFIRM',
modalType: "CONFIRM",
modalProps: {
message: intl.formatMessage(messages.editMessage),
confirm: intl.formatMessage(messages.editConfirm),
onConfirm: () => dispatch(editStatus(status.get('id'), history)),
onConfirm: () => dispatch(editStatus(status.get("id"), history)),
},
}));
} else {
dispatch(editStatus(status.get('id'), history));
dispatch(editStatus(status.get("id"), history));
}
});
},
onTranslate (status) {
if (status.get('translation')) {
dispatch(undoStatusTranslation(status.get('id'), status.get('poll')));
if (status.get("translation")) {
dispatch(undoStatusTranslation(status.get("id"), status.get("poll")));
} else {
dispatch(translateStatus(status.get('id')));
dispatch(translateStatus(status.get("id")));
}
},
@@ -234,25 +234,25 @@ const mapDispatchToProps = (dispatch, { intl, contextType }) => ({
onOpenMedia (statusId, media, index, lang) {
dispatch(openModal({
modalType: 'MEDIA',
modalType: "MEDIA",
modalProps: { statusId, media, index, lang },
}));
},
onOpenVideo (statusId, media, lang, options) {
dispatch(openModal({
modalType: 'VIDEO',
modalType: "VIDEO",
modalProps: { statusId, media, lang, options },
}));
},
onBlock (status) {
const account = status.get('account');
const account = status.get("account");
dispatch(initBlockModal(account));
},
onReport (status) {
dispatch(initReport(status.get('account'), status));
dispatch(initReport(status.get("account"), status));
},
onAddFilter (status) {
@@ -264,36 +264,36 @@ const mapDispatchToProps = (dispatch, { intl, contextType }) => ({
},
onMuteConversation (status) {
if (status.get('muted')) {
dispatch(unmuteStatus(status.get('id')));
if (status.get("muted")) {
dispatch(unmuteStatus(status.get("id")));
} else {
dispatch(muteStatus(status.get('id')));
dispatch(muteStatus(status.get("id")));
}
},
onToggleHidden (status) {
if (status.get('hidden')) {
dispatch(revealStatus(status.get('id')));
if (status.get("hidden")) {
dispatch(revealStatus(status.get("id")));
} else {
dispatch(hideStatus(status.get('id')));
dispatch(hideStatus(status.get("id")));
}
},
deployPictureInPicture (status, type, mediaProps) {
dispatch((_, getState) => {
if (getState().getIn(['local_settings', 'media', 'pop_in_player'])) {
dispatch(deployPictureInPicture(status.get('id'), status.getIn(['account', 'id']), type, mediaProps));
if (getState().getIn(["local_settings", "media", "pop_in_player"])) {
dispatch(deployPictureInPicture(status.get("id"), status.getIn(["account", "id"]), type, mediaProps));
}
});
},
onInteractionModal (type, status) {
dispatch(openModal({
modalType: 'INTERACTION',
modalType: "INTERACTION",
modalProps: {
type,
accountId: status.getIn(['account', 'id']),
url: status.get('uri'),
accountId: status.getIn(["account", "id"]),
url: status.get("uri"),
},
}));
},
@@ -1,29 +1,29 @@
import PropTypes from 'prop-types';
import React from 'react';
import PropTypes from "prop-types";
import React from "react";
import { useAppSelector } from 'flavours/glitch/store';
import { useAppSelector } from "flavours/glitch/store";
const ThemeComponent = ({ children }) => {
const theme = useAppSelector(
(state) => state.getIn(['local_settings', 'theme']) ?? 'mastodon-light',
(state) => state.getIn(["local_settings", "theme"]) ?? "mastodon-light",
);
let href;
switch (true) {
case theme === 'mastodon':
href = '';
break;
case theme === 'mastodon-light':
href = '/packs/css/skins/glitch/mastodon-light/common.css';
break;
case theme === 'contrast':
href = '/packs/css/skins/glitch/contrast/common.css';
break;
case theme === "mastodon":
href = "";
break;
case theme === "mastodon-light":
href = "/packs/css/skins/glitch/mastodon-light/common.css";
break;
case theme === "contrast":
href = "/packs/css/skins/glitch/contrast/common.css";
break;
}
return (
<>
{href !== '' ? <link rel='stylesheet' media='all' href={href} /> : null}
{href !== "" ? <link rel='stylesheet' media='all' href={href} /> : null}
{children}
</>
);