diff --git a/app/javascript/flavours/glitch/actions/accounts.js b/app/javascript/flavours/glitch/actions/accounts.js
index 9e5c85a15c..d4f18ff2d7 100644
--- a/app/javascript/flavours/glitch/actions/accounts.js
+++ b/app/javascript/flavours/glitch/actions/accounts.js
@@ -1,4 +1,5 @@
import api, { getLinks } from '../api';
+
import { importFetchedAccount, importFetchedAccounts } from './importer';
export const ACCOUNT_FETCH_REQUEST = 'ACCOUNT_FETCH_REQUEST';
diff --git a/app/javascript/flavours/glitch/actions/announcements.js b/app/javascript/flavours/glitch/actions/announcements.js
index 586dcfd337..339c5f3adc 100644
--- a/app/javascript/flavours/glitch/actions/announcements.js
+++ b/app/javascript/flavours/glitch/actions/announcements.js
@@ -1,4 +1,5 @@
import api from '../api';
+
import { normalizeAnnouncement } from './importer/normalizer';
export const ANNOUNCEMENTS_FETCH_REQUEST = 'ANNOUNCEMENTS_FETCH_REQUEST';
diff --git a/app/javascript/flavours/glitch/actions/blocks.js b/app/javascript/flavours/glitch/actions/blocks.js
index 192aa3ce40..66421ed455 100644
--- a/app/javascript/flavours/glitch/actions/blocks.js
+++ b/app/javascript/flavours/glitch/actions/blocks.js
@@ -1,4 +1,5 @@
import api, { getLinks } from '../api';
+
import { fetchRelationships } from './accounts';
import { importFetchedAccounts } from './importer';
import { openModal } from './modal';
diff --git a/app/javascript/flavours/glitch/actions/bookmarks.js b/app/javascript/flavours/glitch/actions/bookmarks.js
index 3c8eec5468..0b16f61e63 100644
--- a/app/javascript/flavours/glitch/actions/bookmarks.js
+++ b/app/javascript/flavours/glitch/actions/bookmarks.js
@@ -1,4 +1,5 @@
import api, { getLinks } from '../api';
+
import { importFetchedStatuses } from './importer';
export const BOOKMARKED_STATUSES_FETCH_REQUEST = 'BOOKMARKED_STATUSES_FETCH_REQUEST';
diff --git a/app/javascript/flavours/glitch/actions/compose.js b/app/javascript/flavours/glitch/actions/compose.js
index f0d50ccf13..c34a5e8991 100644
--- a/app/javascript/flavours/glitch/actions/compose.js
+++ b/app/javascript/flavours/glitch/actions/compose.js
@@ -1,11 +1,14 @@
+import { defineMessages } from 'react-intl';
+
import axios from 'axios';
import { throttle } from 'lodash';
-import { defineMessages } from 'react-intl';
+
import api from 'flavours/glitch/api';
import { search as emojiSearch } from 'flavours/glitch/features/emoji/emoji_mart_search_light';
import { tagHistory } from 'flavours/glitch/settings';
import { recoverHashtags } from 'flavours/glitch/utils/hashtag';
import resizeImage from 'flavours/glitch/utils/resize_image';
+
import { showAlert, showAlertForError } from './alerts';
import { useEmoji } from './emojis';
import { importFetchedAccounts, importFetchedStatus } from './importer';
diff --git a/app/javascript/flavours/glitch/actions/conversations.js b/app/javascript/flavours/glitch/actions/conversations.js
index 4ef654b1f9..8c4c4529fb 100644
--- a/app/javascript/flavours/glitch/actions/conversations.js
+++ b/app/javascript/flavours/glitch/actions/conversations.js
@@ -1,4 +1,5 @@
import api, { getLinks } from '../api';
+
import {
importFetchedAccounts,
importFetchedStatuses,
diff --git a/app/javascript/flavours/glitch/actions/directory.js b/app/javascript/flavours/glitch/actions/directory.js
index 4b2b6dd56d..cda63f2b5a 100644
--- a/app/javascript/flavours/glitch/actions/directory.js
+++ b/app/javascript/flavours/glitch/actions/directory.js
@@ -1,6 +1,7 @@
import api from '../api';
-import { importFetchedAccounts } from './importer';
+
import { fetchRelationships } from './accounts';
+import { importFetchedAccounts } from './importer';
export const DIRECTORY_FETCH_REQUEST = 'DIRECTORY_FETCH_REQUEST';
export const DIRECTORY_FETCH_SUCCESS = 'DIRECTORY_FETCH_SUCCESS';
diff --git a/app/javascript/flavours/glitch/actions/favourites.js b/app/javascript/flavours/glitch/actions/favourites.js
index 7388e0c580..2d4d4e6206 100644
--- a/app/javascript/flavours/glitch/actions/favourites.js
+++ b/app/javascript/flavours/glitch/actions/favourites.js
@@ -1,4 +1,5 @@
import api, { getLinks } from '../api';
+
import { importFetchedStatuses } from './importer';
export const FAVOURITED_STATUSES_FETCH_REQUEST = 'FAVOURITED_STATUSES_FETCH_REQUEST';
diff --git a/app/javascript/flavours/glitch/actions/filters.js b/app/javascript/flavours/glitch/actions/filters.js
index e9c609fc87..3774ee042a 100644
--- a/app/javascript/flavours/glitch/actions/filters.js
+++ b/app/javascript/flavours/glitch/actions/filters.js
@@ -1,4 +1,5 @@
import api from '../api';
+
import { openModal } from './modal';
export const FILTERS_FETCH_REQUEST = 'FILTERS_FETCH_REQUEST';
diff --git a/app/javascript/flavours/glitch/actions/history.js b/app/javascript/flavours/glitch/actions/history.js
index c142aaf617..52401b7dce 100644
--- a/app/javascript/flavours/glitch/actions/history.js
+++ b/app/javascript/flavours/glitch/actions/history.js
@@ -1,4 +1,5 @@
import api from '../api';
+
import { importFetchedAccounts } from './importer';
export const HISTORY_FETCH_REQUEST = 'HISTORY_FETCH_REQUEST';
diff --git a/app/javascript/flavours/glitch/actions/importer/normalizer.js b/app/javascript/flavours/glitch/actions/importer/normalizer.js
index 1c9f524e43..f0d47f95e2 100644
--- a/app/javascript/flavours/glitch/actions/importer/normalizer.js
+++ b/app/javascript/flavours/glitch/actions/importer/normalizer.js
@@ -1,7 +1,8 @@
import escapeTextContentForBrowser from 'escape-html';
+
import emojify from 'flavours/glitch/features/emoji/emoji';
-import { unescapeHTML } from 'flavours/glitch/utils/html';
import { autoHideCW } from 'flavours/glitch/utils/content_warning';
+import { unescapeHTML } from 'flavours/glitch/utils/html';
const domParser = new DOMParser();
diff --git a/app/javascript/flavours/glitch/actions/interactions.js b/app/javascript/flavours/glitch/actions/interactions.js
index c7b552a656..6b8864a039 100644
--- a/app/javascript/flavours/glitch/actions/interactions.js
+++ b/app/javascript/flavours/glitch/actions/interactions.js
@@ -1,4 +1,5 @@
import api from '../api';
+
import { importFetchedAccounts, importFetchedStatus } from './importer';
export const REBLOG_REQUEST = 'REBLOG_REQUEST';
diff --git a/app/javascript/flavours/glitch/actions/lists.js b/app/javascript/flavours/glitch/actions/lists.js
index 5ab9224363..2faa54b955 100644
--- a/app/javascript/flavours/glitch/actions/lists.js
+++ b/app/javascript/flavours/glitch/actions/lists.js
@@ -1,6 +1,7 @@
import api from '../api';
-import { importFetchedAccounts } from './importer';
+
import { showAlertForError } from './alerts';
+import { importFetchedAccounts } from './importer';
export const LIST_FETCH_REQUEST = 'LIST_FETCH_REQUEST';
export const LIST_FETCH_SUCCESS = 'LIST_FETCH_SUCCESS';
diff --git a/app/javascript/flavours/glitch/actions/local_settings.js b/app/javascript/flavours/glitch/actions/local_settings.js
index adf7fd2abc..a48669b6aa 100644
--- a/app/javascript/flavours/glitch/actions/local_settings.js
+++ b/app/javascript/flavours/glitch/actions/local_settings.js
@@ -1,4 +1,5 @@
import { expandSpoilers, disableSwiping } from 'flavours/glitch/initial_state';
+
import { openModal } from './modal';
export const LOCAL_SETTING_CHANGE = 'LOCAL_SETTING_CHANGE';
diff --git a/app/javascript/flavours/glitch/actions/markers.js b/app/javascript/flavours/glitch/actions/markers.js
index 8fd9da405e..ece1d57090 100644
--- a/app/javascript/flavours/glitch/actions/markers.js
+++ b/app/javascript/flavours/glitch/actions/markers.js
@@ -1,8 +1,11 @@
-import api from '../api';
-import { debounce } from 'lodash';
-import { compareId } from '../compare_id';
import { List as ImmutableList } from 'immutable';
+import { debounce } from 'lodash';
+
+import api from '../api';
+import { compareId } from '../compare_id';
+
+
export const MARKERS_FETCH_REQUEST = 'MARKERS_FETCH_REQUEST';
export const MARKERS_FETCH_SUCCESS = 'MARKERS_FETCH_SUCCESS';
export const MARKERS_FETCH_FAIL = 'MARKERS_FETCH_FAIL';
diff --git a/app/javascript/flavours/glitch/actions/mutes.js b/app/javascript/flavours/glitch/actions/mutes.js
index aa47d14642..2ff4d27c80 100644
--- a/app/javascript/flavours/glitch/actions/mutes.js
+++ b/app/javascript/flavours/glitch/actions/mutes.js
@@ -1,7 +1,9 @@
+import { openModal } from 'flavours/glitch/actions/modal';
+
import api, { getLinks } from '../api';
+
import { fetchRelationships } from './accounts';
import { importFetchedAccounts } from './importer';
-import { openModal } from 'flavours/glitch/actions/modal';
export const MUTES_FETCH_REQUEST = 'MUTES_FETCH_REQUEST';
export const MUTES_FETCH_SUCCESS = 'MUTES_FETCH_SUCCESS';
diff --git a/app/javascript/flavours/glitch/actions/notifications.js b/app/javascript/flavours/glitch/actions/notifications.js
index c044ea927f..47d45d0012 100644
--- a/app/javascript/flavours/glitch/actions/notifications.js
+++ b/app/javascript/flavours/glitch/actions/notifications.js
@@ -1,5 +1,15 @@
-import api, { getLinks } from '../api';
import IntlMessageFormat from 'intl-messageformat';
+import { defineMessages } from 'react-intl';
+
+import { List as ImmutableList } from 'immutable';
+
+import { compareId } from 'flavours/glitch/compare_id';
+import { usePendingItems as preferPendingItems } from 'flavours/glitch/initial_state';
+import { unescapeHTML } from 'flavours/glitch/utils/html';
+import { requestNotificationPermission } from 'flavours/glitch/utils/notifications';
+
+import api, { getLinks } from '../api';
+
import { fetchFollowRequests, fetchRelationships } from './accounts';
import {
importFetchedAccount,
@@ -9,12 +19,9 @@ import {
} from './importer';
import { submitMarkers } from './markers';
import { saveSettings } from './settings';
-import { defineMessages } from 'react-intl';
-import { List as ImmutableList } from 'immutable';
-import { unescapeHTML } from 'flavours/glitch/utils/html';
-import { usePendingItems as preferPendingItems } from 'flavours/glitch/initial_state';
-import { compareId } from 'flavours/glitch/compare_id';
-import { requestNotificationPermission } from 'flavours/glitch/utils/notifications';
+
+
+
export const NOTIFICATIONS_UPDATE = 'NOTIFICATIONS_UPDATE';
export const NOTIFICATIONS_UPDATE_NOOP = 'NOTIFICATIONS_UPDATE_NOOP';
diff --git a/app/javascript/flavours/glitch/actions/pin_statuses.js b/app/javascript/flavours/glitch/actions/pin_statuses.js
index a0d5933b1c..8aca199e97 100644
--- a/app/javascript/flavours/glitch/actions/pin_statuses.js
+++ b/app/javascript/flavours/glitch/actions/pin_statuses.js
@@ -1,7 +1,9 @@
+import { me } from 'flavours/glitch/initial_state';
+
import api from '../api';
+
import { importFetchedStatuses } from './importer';
-import { me } from 'flavours/glitch/initial_state';
export const PINNED_STATUSES_FETCH_REQUEST = 'PINNED_STATUSES_FETCH_REQUEST';
export const PINNED_STATUSES_FETCH_SUCCESS = 'PINNED_STATUSES_FETCH_SUCCESS';
diff --git a/app/javascript/flavours/glitch/actions/polls.js b/app/javascript/flavours/glitch/actions/polls.js
index 8e8b82df5d..a37410dc90 100644
--- a/app/javascript/flavours/glitch/actions/polls.js
+++ b/app/javascript/flavours/glitch/actions/polls.js
@@ -1,4 +1,5 @@
import api from '../api';
+
import { importFetchedPoll } from './importer';
export const POLL_VOTE_REQUEST = 'POLL_VOTE_REQUEST';
diff --git a/app/javascript/flavours/glitch/actions/push_notifications/index.js b/app/javascript/flavours/glitch/actions/push_notifications/index.js
index 9dcc4bd4bb..46b63867f1 100644
--- a/app/javascript/flavours/glitch/actions/push_notifications/index.js
+++ b/app/javascript/flavours/glitch/actions/push_notifications/index.js
@@ -1,5 +1,5 @@
-import { setAlerts } from './setter';
import { saveSettings } from './registerer';
+import { setAlerts } from './setter';
export function changeAlerts(path, value) {
return dispatch => {
diff --git a/app/javascript/flavours/glitch/actions/push_notifications/registerer.js b/app/javascript/flavours/glitch/actions/push_notifications/registerer.js
index bc5634233f..336bbc6869 100644
--- a/app/javascript/flavours/glitch/actions/push_notifications/registerer.js
+++ b/app/javascript/flavours/glitch/actions/push_notifications/registerer.js
@@ -1,5 +1,6 @@
import api from '../../api';
import { pushNotificationsSetting } from '../../settings';
+
import { setBrowserSupport, setSubscription, clearSubscription } from './setter';
// Taken from https://www.npmjs.com/package/web-push
diff --git a/app/javascript/flavours/glitch/actions/reports.js b/app/javascript/flavours/glitch/actions/reports.js
index fbe5b3791b..b3f9bf1ac3 100644
--- a/app/javascript/flavours/glitch/actions/reports.js
+++ b/app/javascript/flavours/glitch/actions/reports.js
@@ -1,4 +1,5 @@
import api from '../api';
+
import { openModal } from './modal';
export const REPORT_SUBMIT_REQUEST = 'REPORT_SUBMIT_REQUEST';
diff --git a/app/javascript/flavours/glitch/actions/search.js b/app/javascript/flavours/glitch/actions/search.js
index 0012808e5b..d5154c6a84 100644
--- a/app/javascript/flavours/glitch/actions/search.js
+++ b/app/javascript/flavours/glitch/actions/search.js
@@ -1,4 +1,5 @@
import api from '../api';
+
import { fetchRelationships } from './accounts';
import { importFetchedAccounts, importFetchedStatuses } from './importer';
diff --git a/app/javascript/flavours/glitch/actions/server.js b/app/javascript/flavours/glitch/actions/server.js
index 091af0f0fe..bd784906d4 100644
--- a/app/javascript/flavours/glitch/actions/server.js
+++ b/app/javascript/flavours/glitch/actions/server.js
@@ -1,4 +1,5 @@
import api from '../api';
+
import { importFetchedAccount } from './importer';
export const SERVER_FETCH_REQUEST = 'Server_FETCH_REQUEST';
diff --git a/app/javascript/flavours/glitch/actions/settings.js b/app/javascript/flavours/glitch/actions/settings.js
index 60f0abf950..120ae133ed 100644
--- a/app/javascript/flavours/glitch/actions/settings.js
+++ b/app/javascript/flavours/glitch/actions/settings.js
@@ -1,5 +1,7 @@
-import api from '../api';
import { debounce } from 'lodash';
+
+import api from '../api';
+
import { showAlertForError } from './alerts';
export const SETTING_CHANGE = 'SETTING_CHANGE';
diff --git a/app/javascript/flavours/glitch/actions/statuses.js b/app/javascript/flavours/glitch/actions/statuses.js
index 487cd69884..9bc9bf3876 100644
--- a/app/javascript/flavours/glitch/actions/statuses.js
+++ b/app/javascript/flavours/glitch/actions/statuses.js
@@ -1,8 +1,8 @@
import api from '../api';
-import { deleteFromTimelines } from './timelines';
-import { importFetchedStatus, importFetchedStatuses } from './importer';
import { ensureComposeIsVisible, setComposeToStatus } from './compose';
+import { importFetchedStatus, importFetchedStatuses } from './importer';
+import { deleteFromTimelines } from './timelines';
export const STATUS_FETCH_REQUEST = 'STATUS_FETCH_REQUEST';
export const STATUS_FETCH_SUCCESS = 'STATUS_FETCH_SUCCESS';
diff --git a/app/javascript/flavours/glitch/actions/store.js b/app/javascript/flavours/glitch/actions/store.js
index 137b68e222..e57b37a122 100644
--- a/app/javascript/flavours/glitch/actions/store.js
+++ b/app/javascript/flavours/glitch/actions/store.js
@@ -1,4 +1,5 @@
import { Iterable, fromJS } from 'immutable';
+
import { hydrateCompose } from './compose';
import { importFetchedAccounts } from './importer';
import { saveSettings } from './settings';
diff --git a/app/javascript/flavours/glitch/actions/streaming.js b/app/javascript/flavours/glitch/actions/streaming.js
index b4eb60ad4e..e16a7409e6 100644
--- a/app/javascript/flavours/glitch/actions/streaming.js
+++ b/app/javascript/flavours/glitch/actions/streaming.js
@@ -1,6 +1,18 @@
// @ts-check
+import { getLocale } from 'mastodon/locales';
+
import { connectStream } from '../stream';
+
+import {
+ fetchAnnouncements,
+ updateAnnouncements,
+ updateReaction as updateAnnouncementsReaction,
+ deleteAnnouncement,
+} from './announcements';
+import { updateConversations } from './conversations';
+import { updateNotifications, expandNotifications } from './notifications';
+import { updateStatus } from './statuses';
import {
updateTimeline,
deleteFromTimelines,
@@ -12,16 +24,6 @@ import {
fillCommunityTimelineGaps,
fillListTimelineGaps,
} from './timelines';
-import { updateNotifications, expandNotifications } from './notifications';
-import { updateConversations } from './conversations';
-import { updateStatus } from './statuses';
-import {
- fetchAnnouncements,
- updateAnnouncements,
- updateReaction as updateAnnouncementsReaction,
- deleteAnnouncement,
-} from './announcements';
-import { getLocale } from 'mastodon/locales';
const { messages } = getLocale();
diff --git a/app/javascript/flavours/glitch/actions/suggestions.js b/app/javascript/flavours/glitch/actions/suggestions.js
index 9e8cd1ea40..870a311024 100644
--- a/app/javascript/flavours/glitch/actions/suggestions.js
+++ b/app/javascript/flavours/glitch/actions/suggestions.js
@@ -1,6 +1,7 @@
import api from '../api';
-import { importFetchedAccounts } from './importer';
+
import { fetchRelationships } from './accounts';
+import { importFetchedAccounts } from './importer';
export const SUGGESTIONS_FETCH_REQUEST = 'SUGGESTIONS_FETCH_REQUEST';
export const SUGGESTIONS_FETCH_SUCCESS = 'SUGGESTIONS_FETCH_SUCCESS';
diff --git a/app/javascript/flavours/glitch/actions/timelines.js b/app/javascript/flavours/glitch/actions/timelines.js
index 603759760b..7d4d56a784 100644
--- a/app/javascript/flavours/glitch/actions/timelines.js
+++ b/app/javascript/flavours/glitch/actions/timelines.js
@@ -1,11 +1,13 @@
-import { importFetchedStatus, importFetchedStatuses } from './importer';
-import { submitMarkers } from './markers';
-import api, { getLinks } from 'flavours/glitch/api';
import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
+
+import api, { getLinks } from 'flavours/glitch/api';
import { compareId } from 'flavours/glitch/compare_id';
import { usePendingItems as preferPendingItems } from 'flavours/glitch/initial_state';
import { toServerSideType } from 'flavours/glitch/utils/filters';
+import { importFetchedStatus, importFetchedStatuses } from './importer';
+import { submitMarkers } from './markers';
+
export const TIMELINE_UPDATE = 'TIMELINE_UPDATE';
export const TIMELINE_DELETE = 'TIMELINE_DELETE';
export const TIMELINE_CLEAR = 'TIMELINE_CLEAR';
diff --git a/app/javascript/flavours/glitch/actions/trends.js b/app/javascript/flavours/glitch/actions/trends.js
index edda0b5b5d..d314423884 100644
--- a/app/javascript/flavours/glitch/actions/trends.js
+++ b/app/javascript/flavours/glitch/actions/trends.js
@@ -1,4 +1,5 @@
import api, { getLinks } from '../api';
+
import { importFetchedStatuses } from './importer';
export const TRENDS_TAGS_FETCH_REQUEST = 'TRENDS_TAGS_FETCH_REQUEST';
diff --git a/app/javascript/flavours/glitch/api.js b/app/javascript/flavours/glitch/api.js
index 42b64d6cc5..1c171a1c4a 100644
--- a/app/javascript/flavours/glitch/api.js
+++ b/app/javascript/flavours/glitch/api.js
@@ -2,6 +2,7 @@
import axios from 'axios';
import LinkHeader from 'http-link-header';
+
import ready from './ready';
/**
diff --git a/app/javascript/flavours/glitch/components/account.jsx b/app/javascript/flavours/glitch/components/account.jsx
index c1c7560e92..c34ae9b608 100644
--- a/app/javascript/flavours/glitch/components/account.jsx
+++ b/app/javascript/flavours/glitch/components/account.jsx
@@ -1,14 +1,19 @@
-import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
+
+import { defineMessages, injectIntl } from 'react-intl';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+
+import { Skeleton } from 'flavours/glitch/components/skeleton';
+import { me } from 'flavours/glitch/initial_state';
+
import { Avatar } from './avatar';
import { DisplayName } from './display_name';
-import Permalink from './permalink';
import { IconButton } from './icon_button';
-import { defineMessages, injectIntl } from 'react-intl';
-import ImmutablePureComponent from 'react-immutable-pure-component';
-import { me } from 'flavours/glitch/initial_state';
+import Permalink from './permalink';
import { RelativeTimestamp } from './relative_timestamp';
-import { Skeleton } from 'flavours/glitch/components/skeleton';
+
const messages = defineMessages({
follow: { id: 'account.follow', defaultMessage: 'Follow' },
diff --git a/app/javascript/flavours/glitch/components/admin/Counter.jsx b/app/javascript/flavours/glitch/components/admin/Counter.jsx
index 471eb113f3..9bb792fc9d 100644
--- a/app/javascript/flavours/glitch/components/admin/Counter.jsx
+++ b/app/javascript/flavours/glitch/components/admin/Counter.jsx
@@ -1,9 +1,13 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import api from 'flavours/glitch/api';
+import { PureComponent } from 'react';
+
import { FormattedNumber } from 'react-intl';
-import { Sparklines, SparklinesCurve } from 'react-sparklines';
+
import classNames from 'classnames';
+
+import { Sparklines, SparklinesCurve } from 'react-sparklines';
+
+import api from 'flavours/glitch/api';
import { Skeleton } from 'flavours/glitch/components/skeleton';
const percIncrease = (a, b) => {
diff --git a/app/javascript/flavours/glitch/components/admin/Dimension.jsx b/app/javascript/flavours/glitch/components/admin/Dimension.jsx
index 740a523df0..793fe2dd76 100644
--- a/app/javascript/flavours/glitch/components/admin/Dimension.jsx
+++ b/app/javascript/flavours/glitch/components/admin/Dimension.jsx
@@ -1,9 +1,11 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import api from 'flavours/glitch/api';
+import { PureComponent } from 'react';
+
import { FormattedNumber } from 'react-intl';
-import { roundTo10 } from 'flavours/glitch/utils/numbers';
+
+import api from 'flavours/glitch/api';
import { Skeleton } from 'flavours/glitch/components/skeleton';
+import { roundTo10 } from 'flavours/glitch/utils/numbers';
export default class Dimension extends PureComponent {
diff --git a/app/javascript/flavours/glitch/components/admin/ReportReasonSelector.jsx b/app/javascript/flavours/glitch/components/admin/ReportReasonSelector.jsx
index 23e977baec..d72465e4ad 100644
--- a/app/javascript/flavours/glitch/components/admin/ReportReasonSelector.jsx
+++ b/app/javascript/flavours/glitch/components/admin/ReportReasonSelector.jsx
@@ -1,9 +1,12 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import api from 'flavours/glitch/api';
+import { PureComponent } from 'react';
+
import { injectIntl, defineMessages } from 'react-intl';
+
import classNames from 'classnames';
+import api from 'flavours/glitch/api';
+
const messages = defineMessages({
other: { id: 'report.categories.other', defaultMessage: 'Other' },
spam: { id: 'report.categories.spam', defaultMessage: 'Spam' },
diff --git a/app/javascript/flavours/glitch/components/admin/Retention.jsx b/app/javascript/flavours/glitch/components/admin/Retention.jsx
index 543ba70e76..2cfc30b6fb 100644
--- a/app/javascript/flavours/glitch/components/admin/Retention.jsx
+++ b/app/javascript/flavours/glitch/components/admin/Retention.jsx
@@ -1,8 +1,11 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import api from 'flavours/glitch/api';
+import { PureComponent } from 'react';
+
import { FormattedMessage, FormattedNumber, FormattedDate } from 'react-intl';
+
import classNames from 'classnames';
+
+import api from 'flavours/glitch/api';
import { roundTo10 } from 'flavours/glitch/utils/numbers';
const dateForCohort = cohort => {
diff --git a/app/javascript/flavours/glitch/components/admin/Trends.jsx b/app/javascript/flavours/glitch/components/admin/Trends.jsx
index f5fb1aef2b..975ea6e0f2 100644
--- a/app/javascript/flavours/glitch/components/admin/Trends.jsx
+++ b/app/javascript/flavours/glitch/components/admin/Trends.jsx
@@ -1,8 +1,11 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import api from 'flavours/glitch/api';
+import { PureComponent } from 'react';
+
import { FormattedMessage } from 'react-intl';
+
import classNames from 'classnames';
+
+import api from 'flavours/glitch/api';
import Hashtag from 'flavours/glitch/components/hashtag';
export default class Trends extends PureComponent {
diff --git a/app/javascript/flavours/glitch/components/attachment_list.jsx b/app/javascript/flavours/glitch/components/attachment_list.jsx
index ed558acce2..173157b0d5 100644
--- a/app/javascript/flavours/glitch/components/attachment_list.jsx
+++ b/app/javascript/flavours/glitch/components/attachment_list.jsx
@@ -1,8 +1,12 @@
-import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
-import ImmutablePureComponent from 'react-immutable-pure-component';
+
import { FormattedMessage } from 'react-intl';
+
import classNames from 'classnames';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+
import { Icon } from 'flavours/glitch/components/icon';
const filename = url => url.split('/').pop().split('#')[0].split('?')[0];
diff --git a/app/javascript/flavours/glitch/components/autosuggest_emoji.jsx b/app/javascript/flavours/glitch/components/autosuggest_emoji.jsx
index 3442889ec6..32a996fd7c 100644
--- a/app/javascript/flavours/glitch/components/autosuggest_emoji.jsx
+++ b/app/javascript/flavours/glitch/components/autosuggest_emoji.jsx
@@ -1,7 +1,7 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import unicodeMapping from 'flavours/glitch/features/emoji/emoji_unicode_mapping_light';
+import { PureComponent } from 'react';
+import unicodeMapping from 'flavours/glitch/features/emoji/emoji_unicode_mapping_light';
import { assetHost } from 'flavours/glitch/utils/config';
export default class AutosuggestEmoji extends PureComponent {
diff --git a/app/javascript/flavours/glitch/components/autosuggest_hashtag.jsx b/app/javascript/flavours/glitch/components/autosuggest_hashtag.jsx
index 3406286772..0a01d2f6f4 100644
--- a/app/javascript/flavours/glitch/components/autosuggest_hashtag.jsx
+++ b/app/javascript/flavours/glitch/components/autosuggest_hashtag.jsx
@@ -1,8 +1,11 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import ShortNumber from 'flavours/glitch/components/short_number';
+import { PureComponent } from 'react';
+
import { FormattedMessage } from 'react-intl';
+import ShortNumber from 'flavours/glitch/components/short_number';
+
+
export default class AutosuggestHashtag extends PureComponent {
static propTypes = {
diff --git a/app/javascript/flavours/glitch/components/autosuggest_input.jsx b/app/javascript/flavours/glitch/components/autosuggest_input.jsx
index 743585f31d..d3b7c48ab0 100644
--- a/app/javascript/flavours/glitch/components/autosuggest_input.jsx
+++ b/app/javascript/flavours/glitch/components/autosuggest_input.jsx
@@ -1,10 +1,16 @@
+import PropTypes from 'prop-types';
+
+import classNames from 'classnames';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+
import AutosuggestAccountContainer from 'flavours/glitch/features/compose/containers/autosuggest_account_container';
+
import AutosuggestEmoji from './autosuggest_emoji';
import AutosuggestHashtag from './autosuggest_hashtag';
-import ImmutablePropTypes from 'react-immutable-proptypes';
-import PropTypes from 'prop-types';
-import ImmutablePureComponent from 'react-immutable-pure-component';
-import classNames from 'classnames';
+
+
const textAtCursorMatchesToken = (str, caretPosition, searchTokens) => {
let word;
diff --git a/app/javascript/flavours/glitch/components/autosuggest_textarea.jsx b/app/javascript/flavours/glitch/components/autosuggest_textarea.jsx
index 7c38b64340..931e7227df 100644
--- a/app/javascript/flavours/glitch/components/autosuggest_textarea.jsx
+++ b/app/javascript/flavours/glitch/components/autosuggest_textarea.jsx
@@ -1,11 +1,19 @@
+import PropTypes from 'prop-types';
+
+import classNames from 'classnames';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+
+import Textarea from 'react-textarea-autosize';
+
import AutosuggestAccountContainer from 'flavours/glitch/features/compose/containers/autosuggest_account_container';
+
import AutosuggestEmoji from './autosuggest_emoji';
import AutosuggestHashtag from './autosuggest_hashtag';
-import ImmutablePropTypes from 'react-immutable-proptypes';
-import PropTypes from 'prop-types';
-import ImmutablePureComponent from 'react-immutable-pure-component';
-import Textarea from 'react-textarea-autosize';
-import classNames from 'classnames';
+
+
+
const textAtCursorMatchesToken = (str, caretPosition) => {
let word;
diff --git a/app/javascript/flavours/glitch/components/avatar_composite.jsx b/app/javascript/flavours/glitch/components/avatar_composite.jsx
index 2c80792276..5503abf4a9 100644
--- a/app/javascript/flavours/glitch/components/avatar_composite.jsx
+++ b/app/javascript/flavours/glitch/components/avatar_composite.jsx
@@ -1,6 +1,8 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
+
import { autoPlayGif } from 'flavours/glitch/initial_state';
export default class AvatarComposite extends PureComponent {
diff --git a/app/javascript/flavours/glitch/components/avatar_overlay.jsx b/app/javascript/flavours/glitch/components/avatar_overlay.jsx
index a37b8f586b..d8215a4785 100644
--- a/app/javascript/flavours/glitch/components/avatar_overlay.jsx
+++ b/app/javascript/flavours/glitch/components/avatar_overlay.jsx
@@ -1,6 +1,8 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
+
import { autoPlayGif } from 'flavours/glitch/initial_state';
export default class AvatarOverlay extends PureComponent {
diff --git a/app/javascript/flavours/glitch/components/button.jsx b/app/javascript/flavours/glitch/components/button.jsx
index 9529f4884c..bdeeeac999 100644
--- a/app/javascript/flavours/glitch/components/button.jsx
+++ b/app/javascript/flavours/glitch/components/button.jsx
@@ -1,5 +1,6 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import classNames from 'classnames';
export default class Button extends PureComponent {
diff --git a/app/javascript/flavours/glitch/components/column.jsx b/app/javascript/flavours/glitch/components/column.jsx
index 0eb7ede5f2..312a6848b5 100644
--- a/app/javascript/flavours/glitch/components/column.jsx
+++ b/app/javascript/flavours/glitch/components/column.jsx
@@ -1,6 +1,8 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import { supportsPassiveEvents } from 'detect-passive-events';
+
import { scrollTop } from '../scroll';
const listenerOptions = supportsPassiveEvents ? { passive: true } : false;
diff --git a/app/javascript/flavours/glitch/components/column_back_button.jsx b/app/javascript/flavours/glitch/components/column_back_button.jsx
index d3aca49ea0..0934d4b335 100644
--- a/app/javascript/flavours/glitch/components/column_back_button.jsx
+++ b/app/javascript/flavours/glitch/components/column_back_button.jsx
@@ -1,9 +1,12 @@
-import { PureComponent } from 'react';
-import { FormattedMessage } from 'react-intl';
import PropTypes from 'prop-types';
-import { Icon } from 'flavours/glitch/components/icon';
+import { PureComponent } from 'react';
import { createPortal } from 'react-dom';
+import { FormattedMessage } from 'react-intl';
+
+import { Icon } from 'flavours/glitch/components/icon';
+
+
export default class ColumnBackButton extends PureComponent {
static contextTypes = {
diff --git a/app/javascript/flavours/glitch/components/column_back_button_slim.jsx b/app/javascript/flavours/glitch/components/column_back_button_slim.jsx
index ce0cd4cb4e..7b3bac45f9 100644
--- a/app/javascript/flavours/glitch/components/column_back_button_slim.jsx
+++ b/app/javascript/flavours/glitch/components/column_back_button_slim.jsx
@@ -1,6 +1,8 @@
-import { PureComponent } from 'react';
-import { FormattedMessage } from 'react-intl';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
+import { FormattedMessage } from 'react-intl';
+
import { Icon } from 'flavours/glitch/components/icon';
export default class ColumnBackButtonSlim extends PureComponent {
diff --git a/app/javascript/flavours/glitch/components/column_header.jsx b/app/javascript/flavours/glitch/components/column_header.jsx
index 3e8ff8b8c8..e8c056c0bf 100644
--- a/app/javascript/flavours/glitch/components/column_header.jsx
+++ b/app/javascript/flavours/glitch/components/column_header.jsx
@@ -1,8 +1,11 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
import { createPortal } from 'react-dom';
-import classNames from 'classnames';
+
import { FormattedMessage, injectIntl, defineMessages } from 'react-intl';
+
+import classNames from 'classnames';
+
import { Icon } from 'flavours/glitch/components/icon';
const messages = defineMessages({
diff --git a/app/javascript/flavours/glitch/components/dismissable_banner.jsx b/app/javascript/flavours/glitch/components/dismissable_banner.jsx
index d33a3ca98a..21063c9ed6 100644
--- a/app/javascript/flavours/glitch/components/dismissable_banner.jsx
+++ b/app/javascript/flavours/glitch/components/dismissable_banner.jsx
@@ -1,9 +1,12 @@
-import { PureComponent } from 'react';
-import { IconButton } from './icon_button';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import { injectIntl, defineMessages } from 'react-intl';
+
import { bannerSettings } from 'flavours/glitch/settings';
+import { IconButton } from './icon_button';
+
const messages = defineMessages({
dismiss: { id: 'dismissable_banner.dismiss', defaultMessage: 'Dismiss' },
});
diff --git a/app/javascript/flavours/glitch/components/dropdown_menu.jsx b/app/javascript/flavours/glitch/components/dropdown_menu.jsx
index de303b8dc7..e6951ddeea 100644
--- a/app/javascript/flavours/glitch/components/dropdown_menu.jsx
+++ b/app/javascript/flavours/glitch/components/dropdown_menu.jsx
@@ -1,12 +1,19 @@
-import { PureComponent, cloneElement, Children } from 'react';
import PropTypes from 'prop-types';
-import ImmutablePropTypes from 'react-immutable-proptypes';
-import { IconButton } from './icon_button';
-import Overlay from 'react-overlays/Overlay';
-import { supportsPassiveEvents } from 'detect-passive-events';
+import { PureComponent, cloneElement, Children } from 'react';
+
import classNames from 'classnames';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+
+import { supportsPassiveEvents } from 'detect-passive-events';
+import Overlay from 'react-overlays/Overlay';
+
import { CircularProgress } from 'flavours/glitch/components/loading_indicator';
+import { IconButton } from './icon_button';
+
+
+
const listenerOptions = supportsPassiveEvents ? { passive: true, capture: true } : true;
let id = 0;
diff --git a/app/javascript/flavours/glitch/components/edited_timestamp/containers/dropdown_menu_container.js b/app/javascript/flavours/glitch/components/edited_timestamp/containers/dropdown_menu_container.js
index a1519757de..7c9c167137 100644
--- a/app/javascript/flavours/glitch/components/edited_timestamp/containers/dropdown_menu_container.js
+++ b/app/javascript/flavours/glitch/components/edited_timestamp/containers/dropdown_menu_container.js
@@ -1,4 +1,5 @@
import { connect } from 'react-redux';
+
import { openDropdownMenu, closeDropdownMenu } from 'flavours/glitch/actions/dropdown_menu';
import { fetchHistory } from 'flavours/glitch/actions/history';
import DropdownMenu from 'flavours/glitch/components/dropdown_menu';
diff --git a/app/javascript/flavours/glitch/components/edited_timestamp/index.jsx b/app/javascript/flavours/glitch/components/edited_timestamp/index.jsx
index c823c76a53..5189f80510 100644
--- a/app/javascript/flavours/glitch/components/edited_timestamp/index.jsx
+++ b/app/javascript/flavours/glitch/components/edited_timestamp/index.jsx
@@ -1,12 +1,16 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import { FormattedMessage, injectIntl } from 'react-intl';
-import { Icon } from 'flavours/glitch/components/icon';
-import DropdownMenu from './containers/dropdown_menu_container';
+
import { connect } from 'react-redux';
+
import { openModal } from 'flavours/glitch/actions/modal';
-import { RelativeTimestamp } from 'flavours/glitch/components/relative_timestamp';
+import { Icon } from 'flavours/glitch/components/icon';
import InlineAccount from 'flavours/glitch/components/inline_account';
+import { RelativeTimestamp } from 'flavours/glitch/components/relative_timestamp';
+
+import DropdownMenu from './containers/dropdown_menu_container';
const mapDispatchToProps = (dispatch, { statusId }) => ({
diff --git a/app/javascript/flavours/glitch/components/error_boundary.jsx b/app/javascript/flavours/glitch/components/error_boundary.jsx
index 9475d2041b..4a4dadf0a5 100644
--- a/app/javascript/flavours/glitch/components/error_boundary.jsx
+++ b/app/javascript/flavours/glitch/components/error_boundary.jsx
@@ -1,10 +1,14 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import { FormattedMessage } from 'react-intl';
+
+import { Helmet } from 'react-helmet';
+
+import StackTrace from 'stacktrace-js';
+
import { source_url } from 'flavours/glitch/initial_state';
import { preferencesLink } from 'flavours/glitch/utils/backend_links';
-import StackTrace from 'stacktrace-js';
-import { Helmet } from 'react-helmet';
export default class ErrorBoundary extends PureComponent {
diff --git a/app/javascript/flavours/glitch/components/hashtag.jsx b/app/javascript/flavours/glitch/components/hashtag.jsx
index 4a1f43ec0d..eddeeb0f7d 100644
--- a/app/javascript/flavours/glitch/components/hashtag.jsx
+++ b/app/javascript/flavours/glitch/components/hashtag.jsx
@@ -1,13 +1,20 @@
// @ts-check
-import { Component } from 'react';
-import { Sparklines, SparklinesCurve } from 'react-sparklines';
-import { FormattedMessage } from 'react-intl';
import PropTypes from 'prop-types';
+import { Component } from 'react';
+
+import { FormattedMessage } from 'react-intl';
+
+import classNames from 'classnames';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
-import Permalink from './permalink';
+
+import { Sparklines, SparklinesCurve } from 'react-sparklines';
+
import ShortNumber from 'flavours/glitch/components/short_number';
import { Skeleton } from 'flavours/glitch/components/skeleton';
-import classNames from 'classnames';
+
+import Permalink from './permalink';
+
class SilentErrorBoundary extends Component {
diff --git a/app/javascript/flavours/glitch/components/inline_account.jsx b/app/javascript/flavours/glitch/components/inline_account.jsx
index 911b6f2936..98e44c05e0 100644
--- a/app/javascript/flavours/glitch/components/inline_account.jsx
+++ b/app/javascript/flavours/glitch/components/inline_account.jsx
@@ -1,8 +1,10 @@
import { PureComponent } from 'react';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
import { connect } from 'react-redux';
-import { makeGetAccount } from 'flavours/glitch/selectors';
+
import { Avatar } from 'flavours/glitch/components/avatar';
+import { makeGetAccount } from 'flavours/glitch/selectors';
const makeMapStateToProps = () => {
const getAccount = makeGetAccount();
diff --git a/app/javascript/flavours/glitch/components/intersection_observer_article.jsx b/app/javascript/flavours/glitch/components/intersection_observer_article.jsx
index d31a24cad0..115146645d 100644
--- a/app/javascript/flavours/glitch/components/intersection_observer_article.jsx
+++ b/app/javascript/flavours/glitch/components/intersection_observer_article.jsx
@@ -1,7 +1,8 @@
-import { cloneElement, Component } from 'react';
import PropTypes from 'prop-types';
-import scheduleIdleTask from '../features/ui/util/schedule_idle_task';
+import { cloneElement, Component } from 'react';
+
import getRectFromEntry from '../features/ui/util/get_rect_from_entry';
+import scheduleIdleTask from '../features/ui/util/schedule_idle_task';
// Diff these props in the "unrendered" state
const updateOnPropsForUnrendered = ['id', 'index', 'listLength', 'cachedHeight'];
diff --git a/app/javascript/flavours/glitch/components/link.jsx b/app/javascript/flavours/glitch/components/link.jsx
index f17a38b419..40cddf8f54 100644
--- a/app/javascript/flavours/glitch/components/link.jsx
+++ b/app/javascript/flavours/glitch/components/link.jsx
@@ -2,10 +2,11 @@
// ~ 😘 kibi!
// Package imports.
-import classNames from 'classnames';
import PropTypes from 'prop-types';
import { PureComponent } from 'react';
+import classNames from 'classnames';
+
// Utils.
import { assignHandlers } from 'flavours/glitch/utils/react_helpers';
diff --git a/app/javascript/flavours/glitch/components/load_gap.jsx b/app/javascript/flavours/glitch/components/load_gap.jsx
index 7e0f28243d..7a5e381eb1 100644
--- a/app/javascript/flavours/glitch/components/load_gap.jsx
+++ b/app/javascript/flavours/glitch/components/load_gap.jsx
@@ -1,6 +1,8 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import { injectIntl, defineMessages } from 'react-intl';
+
import { Icon } from 'flavours/glitch/components/icon';
const messages = defineMessages({
diff --git a/app/javascript/flavours/glitch/components/load_more.jsx b/app/javascript/flavours/glitch/components/load_more.jsx
index ca834b71ee..1cdf6836d2 100644
--- a/app/javascript/flavours/glitch/components/load_more.jsx
+++ b/app/javascript/flavours/glitch/components/load_more.jsx
@@ -1,6 +1,7 @@
-import { PureComponent } from 'react';
-import { FormattedMessage } from 'react-intl';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
+import { FormattedMessage } from 'react-intl';
export default class LoadMore extends PureComponent {
diff --git a/app/javascript/flavours/glitch/components/load_pending.jsx b/app/javascript/flavours/glitch/components/load_pending.jsx
index d05e6b1dc9..e9c1a97836 100644
--- a/app/javascript/flavours/glitch/components/load_pending.jsx
+++ b/app/javascript/flavours/glitch/components/load_pending.jsx
@@ -1,6 +1,7 @@
-import { PureComponent } from 'react';
-import { FormattedMessage } from 'react-intl';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
+import { FormattedMessage } from 'react-intl';
export default class LoadPending extends PureComponent {
diff --git a/app/javascript/flavours/glitch/components/media_attachments.jsx b/app/javascript/flavours/glitch/components/media_attachments.jsx
index 96a67e6617..2c1c2831eb 100644
--- a/app/javascript/flavours/glitch/components/media_attachments.jsx
+++ b/app/javascript/flavours/glitch/components/media_attachments.jsx
@@ -1,10 +1,13 @@
import PropTypes from 'prop-types';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
-import { MediaGallery, Video, Audio } from 'flavours/glitch/features/ui/util/async-components';
-import Bundle from 'flavours/glitch/features/ui/components/bundle';
+
import noop from 'lodash/noop';
+import Bundle from 'flavours/glitch/features/ui/components/bundle';
+import { MediaGallery, Video, Audio } from 'flavours/glitch/features/ui/util/async-components';
+
export default class MediaAttachments extends ImmutablePureComponent {
static propTypes = {
diff --git a/app/javascript/flavours/glitch/components/media_gallery.jsx b/app/javascript/flavours/glitch/components/media_gallery.jsx
index 0361a8470b..19635ba255 100644
--- a/app/javascript/flavours/glitch/components/media_gallery.jsx
+++ b/app/javascript/flavours/glitch/components/media_gallery.jsx
@@ -1,13 +1,19 @@
-import { PureComponent } from 'react';
-import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
-import { is } from 'immutable';
-import { IconButton } from './icon_button';
+import { PureComponent } from 'react';
+
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
import classNames from 'classnames';
-import { autoPlayGif, displayMedia, useBlurhash } from 'flavours/glitch/initial_state';
+
+import { is } from 'immutable';
+import ImmutablePropTypes from 'react-immutable-proptypes';
+
import { debounce } from 'lodash';
+
import { Blurhash } from 'flavours/glitch/components/blurhash';
+import { autoPlayGif, displayMedia, useBlurhash } from 'flavours/glitch/initial_state';
+
+import { IconButton } from './icon_button';
const messages = defineMessages({
hidden: {
diff --git a/app/javascript/flavours/glitch/components/modal_root.jsx b/app/javascript/flavours/glitch/components/modal_root.jsx
index 4df7afc1c4..a99c51f924 100644
--- a/app/javascript/flavours/glitch/components/modal_root.jsx
+++ b/app/javascript/flavours/glitch/components/modal_root.jsx
@@ -1,8 +1,9 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import 'wicg-inert';
-import { createBrowserHistory } from 'history';
import { multiply } from 'color-blend';
+import { createBrowserHistory } from 'history';
export default class ModalRoot extends PureComponent {
diff --git a/app/javascript/flavours/glitch/components/navigation_portal.jsx b/app/javascript/flavours/glitch/components/navigation_portal.jsx
index cdd16259aa..e142a3ec60 100644
--- a/app/javascript/flavours/glitch/components/navigation_portal.jsx
+++ b/app/javascript/flavours/glitch/components/navigation_portal.jsx
@@ -1,8 +1,10 @@
import { PureComponent } from 'react';
+
import { Switch, Route, withRouter } from 'react-router-dom';
-import { showTrends } from 'flavours/glitch/initial_state';
-import Trends from 'flavours/glitch/features/getting_started/containers/trends_container';
+
import AccountNavigation from 'flavours/glitch/features/account/navigation';
+import Trends from 'flavours/glitch/features/getting_started/containers/trends_container';
+import { showTrends } from 'flavours/glitch/initial_state';
const DefaultNavigation = () => (
showTrends ? (
diff --git a/app/javascript/flavours/glitch/components/notification_purge_buttons.jsx b/app/javascript/flavours/glitch/components/notification_purge_buttons.jsx
index 02e0603ac0..dfc7ac5a8a 100644
--- a/app/javascript/flavours/glitch/components/notification_purge_buttons.jsx
+++ b/app/javascript/flavours/glitch/components/notification_purge_buttons.jsx
@@ -7,11 +7,15 @@
// Package imports //
import PropTypes from 'prop-types';
+
import { defineMessages, injectIntl } from 'react-intl';
-import ImmutablePureComponent from 'react-immutable-pure-component';
-import { Icon } from 'flavours/glitch/components/icon';
+
import classNames from 'classnames';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+
+import { Icon } from 'flavours/glitch/components/icon';
+
const messages = defineMessages({
btnAll : { id: 'notification_purge.btn_all', defaultMessage: 'Select\nall' },
btnNone : { id: 'notification_purge.btn_none', defaultMessage: 'Select\nnone' },
diff --git a/app/javascript/flavours/glitch/components/permalink.jsx b/app/javascript/flavours/glitch/components/permalink.jsx
index 2209c4c9aa..fa33ce066a 100644
--- a/app/javascript/flavours/glitch/components/permalink.jsx
+++ b/app/javascript/flavours/glitch/components/permalink.jsx
@@ -1,5 +1,5 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
export default class Permalink extends PureComponent {
diff --git a/app/javascript/flavours/glitch/components/picture_in_picture_placeholder.jsx b/app/javascript/flavours/glitch/components/picture_in_picture_placeholder.jsx
index b796b01f27..8a4784da5b 100644
--- a/app/javascript/flavours/glitch/components/picture_in_picture_placeholder.jsx
+++ b/app/javascript/flavours/glitch/components/picture_in_picture_placeholder.jsx
@@ -1,10 +1,15 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import { Icon } from 'flavours/glitch/components/icon';
-import { removePictureInPicture } from 'flavours/glitch/actions/picture_in_picture';
-import { connect } from 'react-redux';
+import { PureComponent } from 'react';
+
import { FormattedMessage } from 'react-intl';
+import { connect } from 'react-redux';
+
+import { removePictureInPicture } from 'flavours/glitch/actions/picture_in_picture';
+import { Icon } from 'flavours/glitch/components/icon';
+
+
+
class PictureInPicturePlaceholder extends PureComponent {
static propTypes = {
diff --git a/app/javascript/flavours/glitch/components/poll.jsx b/app/javascript/flavours/glitch/components/poll.jsx
index 3a9c987b8c..3ac9a22730 100644
--- a/app/javascript/flavours/glitch/components/poll.jsx
+++ b/app/javascript/flavours/glitch/components/poll.jsx
@@ -1,14 +1,21 @@
import PropTypes from 'prop-types';
+
+import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
+import classNames from 'classnames';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
-import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
-import classNames from 'classnames';
-import Motion from 'flavours/glitch/features/ui/util/optional_motion';
-import spring from 'react-motion/lib/spring';
+
import escapeTextContentForBrowser from 'escape-html';
-import emojify from 'flavours/glitch/features/emoji/emoji';
-import { RelativeTimestamp } from './relative_timestamp';
+import spring from 'react-motion/lib/spring';
+
import { Icon } from 'flavours/glitch/components/icon';
+import emojify from 'flavours/glitch/features/emoji/emoji';
+import Motion from 'flavours/glitch/features/ui/util/optional_motion';
+
+import { RelativeTimestamp } from './relative_timestamp';
+
const messages = defineMessages({
closed: {
diff --git a/app/javascript/flavours/glitch/components/regeneration_indicator.jsx b/app/javascript/flavours/glitch/components/regeneration_indicator.jsx
index a28587fb25..78844f389d 100644
--- a/app/javascript/flavours/glitch/components/regeneration_indicator.jsx
+++ b/app/javascript/flavours/glitch/components/regeneration_indicator.jsx
@@ -1,4 +1,5 @@
import { FormattedMessage } from 'react-intl';
+
import illustration from 'flavours/glitch/images/elephant_ui_working.svg';
const RegenerationIndicator = () => (
diff --git a/app/javascript/flavours/glitch/components/scrollable_list.jsx b/app/javascript/flavours/glitch/components/scrollable_list.jsx
index 7293eb3904..447f6234f1 100644
--- a/app/javascript/flavours/glitch/components/scrollable_list.jsx
+++ b/app/javascript/flavours/glitch/components/scrollable_list.jsx
@@ -1,17 +1,24 @@
-import { Children, cloneElement, PureComponent } from 'react';
-import ScrollContainer from 'flavours/glitch/containers/scroll_container';
import PropTypes from 'prop-types';
+import { Children, cloneElement, PureComponent } from 'react';
+
+import classNames from 'classnames';
+
+import { List as ImmutableList } from 'immutable';
+import { connect } from 'react-redux';
+
+import { supportsPassiveEvents } from 'detect-passive-events';
+import { throttle } from 'lodash';
+
import IntersectionObserverArticleContainer from 'flavours/glitch/containers/intersection_observer_article_container';
+import ScrollContainer from 'flavours/glitch/containers/scroll_container';
+import IntersectionObserverWrapper from 'flavours/glitch/features/ui/util/intersection_observer_wrapper';
+
+import { attachFullscreenListener, detachFullscreenListener, isFullscreen } from '../features/ui/util/fullscreen';
+
import LoadMore from './load_more';
import LoadPending from './load_pending';
-import IntersectionObserverWrapper from 'flavours/glitch/features/ui/util/intersection_observer_wrapper';
-import { throttle } from 'lodash';
-import { List as ImmutableList } from 'immutable';
-import classNames from 'classnames';
-import { supportsPassiveEvents } from 'detect-passive-events';
-import { attachFullscreenListener, detachFullscreenListener, isFullscreen } from '../features/ui/util/fullscreen';
import LoadingIndicator from './loading_indicator';
-import { connect } from 'react-redux';
+
const MOUSE_IDLE_DELAY = 300;
diff --git a/app/javascript/flavours/glitch/components/server_banner.jsx b/app/javascript/flavours/glitch/components/server_banner.jsx
index 1b55b31408..4809df1ddc 100644
--- a/app/javascript/flavours/glitch/components/server_banner.jsx
+++ b/app/javascript/flavours/glitch/components/server_banner.jsx
@@ -1,14 +1,18 @@
import PropTypes from 'prop-types';
import { PureComponent } from 'react';
+
import { FormattedMessage, defineMessages, injectIntl } from 'react-intl';
+
+import { Link } from 'react-router-dom';
+
import { connect } from 'react-redux';
+
import { fetchServer } from 'flavours/glitch/actions/server';
+import { ServerHeroImage } from 'flavours/glitch/components/server_hero_image';
import ShortNumber from 'flavours/glitch/components/short_number';
import { Skeleton } from 'flavours/glitch/components/skeleton';
import Account from 'flavours/glitch/containers/account_container';
import { domain } from 'flavours/glitch/initial_state';
-import { ServerHeroImage } from 'flavours/glitch/components/server_hero_image';
-import { Link } from 'react-router-dom';
const messages = defineMessages({
aboutActiveUsers: { id: 'server_banner.about_active_users', defaultMessage: 'People using this server during the last 30 days (Monthly Active Users)' },
diff --git a/app/javascript/flavours/glitch/components/setting_text.jsx b/app/javascript/flavours/glitch/components/setting_text.jsx
index 11427f2d65..79d4bf8ea3 100644
--- a/app/javascript/flavours/glitch/components/setting_text.jsx
+++ b/app/javascript/flavours/glitch/components/setting_text.jsx
@@ -1,5 +1,6 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
export default class SettingText extends PureComponent {
diff --git a/app/javascript/flavours/glitch/components/short_number.jsx b/app/javascript/flavours/glitch/components/short_number.jsx
index 550ed7d0ac..b7ac4f5fd5 100644
--- a/app/javascript/flavours/glitch/components/short_number.jsx
+++ b/app/javascript/flavours/glitch/components/short_number.jsx
@@ -1,7 +1,10 @@
-import { memo } from 'react';
import PropTypes from 'prop-types';
-import { toShortNumber, pluralReady, DECIMAL_UNITS } from '../utils/numbers';
+import { memo } from 'react';
+
import { FormattedMessage, FormattedNumber } from 'react-intl';
+
+import { toShortNumber, pluralReady, DECIMAL_UNITS } from '../utils/numbers';
+
// @ts-check
/**
diff --git a/app/javascript/flavours/glitch/components/status.jsx b/app/javascript/flavours/glitch/components/status.jsx
index 69e5204d92..cd7b26881e 100644
--- a/app/javascript/flavours/glitch/components/status.jsx
+++ b/app/javascript/flavours/glitch/components/status.jsx
@@ -1,26 +1,30 @@
-import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
-import StatusPrepend from './status_prepend';
+
+import { injectIntl, FormattedMessage } from 'react-intl';
+
+import classNames from 'classnames';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+
+import { HotKeys } from 'react-hotkeys';
+
+import PictureInPicturePlaceholder from 'flavours/glitch/components/picture_in_picture_placeholder';
+import PollContainer from 'flavours/glitch/containers/poll_container';
+import NotificationOverlayContainer from 'flavours/glitch/features/notifications/containers/overlay_container';
+import { displayMedia } from 'flavours/glitch/initial_state';
+import { autoUnfoldCW } from 'flavours/glitch/utils/content_warning';
+
+import Card from '../features/status/components/card';
+import Bundle from '../features/ui/components/bundle';
+import { MediaGallery, Video, Audio } from '../features/ui/util/async-components';
+
+import AttachmentList from './attachment_list';
+import StatusActionBar from './status_action_bar';
+import StatusContent from './status_content';
import StatusHeader from './status_header';
import StatusIcons from './status_icons';
-import StatusContent from './status_content';
-import StatusActionBar from './status_action_bar';
-import AttachmentList from './attachment_list';
-import Card from '../features/status/components/card';
-import { injectIntl, FormattedMessage } from 'react-intl';
-import ImmutablePureComponent from 'react-immutable-pure-component';
-import { MediaGallery, Video, Audio } from '../features/ui/util/async-components';
-import { HotKeys } from 'react-hotkeys';
-import NotificationOverlayContainer from 'flavours/glitch/features/notifications/containers/overlay_container';
-import classNames from 'classnames';
-import { autoUnfoldCW } from 'flavours/glitch/utils/content_warning';
-import PollContainer from 'flavours/glitch/containers/poll_container';
-import { displayMedia } from 'flavours/glitch/initial_state';
-import PictureInPicturePlaceholder from 'flavours/glitch/components/picture_in_picture_placeholder';
-
-// We use the component (and not the container) since we do not want
-// to use the progress bar to show download progress
-import Bundle from '../features/ui/components/bundle';
+import StatusPrepend from './status_prepend';
export const textForScreenReader = (intl, status, rebloggedByText = false, expanded = false) => {
const displayName = status.getIn(['account', 'display_name']);
diff --git a/app/javascript/flavours/glitch/components/status_action_bar.jsx b/app/javascript/flavours/glitch/components/status_action_bar.jsx
index b7c928175d..00b3c3e940 100644
--- a/app/javascript/flavours/glitch/components/status_action_bar.jsx
+++ b/app/javascript/flavours/glitch/components/status_action_bar.jsx
@@ -1,14 +1,19 @@
-import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
-import { IconButton } from './icon_button';
-import DropdownMenuContainer from 'flavours/glitch/containers/dropdown_menu_container';
+
import { defineMessages, injectIntl } from 'react-intl';
-import ImmutablePureComponent from 'react-immutable-pure-component';
-import { me } from 'flavours/glitch/initial_state';
-import { RelativeTimestamp } from './relative_timestamp';
-import { accountAdminLink, statusAdminLink } from 'flavours/glitch/utils/backend_links';
+
import classNames from 'classnames';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+
+import DropdownMenuContainer from 'flavours/glitch/containers/dropdown_menu_container';
+import { me } from 'flavours/glitch/initial_state';
import { PERMISSION_MANAGE_USERS, PERMISSION_MANAGE_FEDERATION } from 'flavours/glitch/permissions';
+import { accountAdminLink, statusAdminLink } from 'flavours/glitch/utils/backend_links';
+
+import { IconButton } from './icon_button';
+import { RelativeTimestamp } from './relative_timestamp';
const messages = defineMessages({
delete: { id: 'status.delete', defaultMessage: 'Delete' },
diff --git a/app/javascript/flavours/glitch/components/status_content.jsx b/app/javascript/flavours/glitch/components/status_content.jsx
index 440ee367db..c7fcf37741 100644
--- a/app/javascript/flavours/glitch/components/status_content.jsx
+++ b/app/javascript/flavours/glitch/components/status_content.jsx
@@ -1,14 +1,19 @@
-import { PureComponent } from 'react';
-import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import { FormattedMessage, injectIntl } from 'react-intl';
-import Permalink from './permalink';
-import { connect } from 'react-redux';
+
import classnames from 'classnames';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import { connect } from 'react-redux';
+
import { Icon } from 'flavours/glitch/components/icon';
import { autoPlayGif, languages as preloadedLanguages } from 'flavours/glitch/initial_state';
import { decode as decodeIDNA } from 'flavours/glitch/utils/idna';
+import Permalink from './permalink';
+
const textMatchesTarget = (text, origin, host) => {
return (text === origin || text === host
|| text.startsWith(origin + '/') || text.startsWith(host + '/')
diff --git a/app/javascript/flavours/glitch/components/status_header.jsx b/app/javascript/flavours/glitch/components/status_header.jsx
index 176f2c6477..cf7ab5365e 100644
--- a/app/javascript/flavours/glitch/components/status_header.jsx
+++ b/app/javascript/flavours/glitch/components/status_header.jsx
@@ -1,6 +1,7 @@
// Package imports.
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
// Mastodon imports.
diff --git a/app/javascript/flavours/glitch/components/status_icons.jsx b/app/javascript/flavours/glitch/components/status_icons.jsx
index 60f1732636..a30f2c4df7 100644
--- a/app/javascript/flavours/glitch/components/status_icons.jsx
+++ b/app/javascript/flavours/glitch/components/status_icons.jsx
@@ -1,15 +1,19 @@
// Package imports.
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import ImmutablePropTypes from 'react-immutable-proptypes';
+import { PureComponent } from 'react';
+
import { defineMessages, injectIntl } from 'react-intl';
+import ImmutablePropTypes from 'react-immutable-proptypes';
+
+
// Mastodon imports.
-import { IconButton } from './icon_button';
-import VisibilityIcon from './status_visibility_icon';
import { Icon } from 'flavours/glitch/components/icon';
import { languages } from 'flavours/glitch/initial_state';
+import { IconButton } from './icon_button';
+import VisibilityIcon from './status_visibility_icon';
+
// Messages for use with internationalization stuff.
const messages = defineMessages({
collapse: { id: 'status.collapse', defaultMessage: 'Collapse' },
diff --git a/app/javascript/flavours/glitch/components/status_list.jsx b/app/javascript/flavours/glitch/components/status_list.jsx
index ef628dbc73..29fa174407 100644
--- a/app/javascript/flavours/glitch/components/status_list.jsx
+++ b/app/javascript/flavours/glitch/components/status_list.jsx
@@ -1,11 +1,15 @@
-import { debounce } from 'lodash';
-import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
-import StatusContainer from 'flavours/glitch/containers/status_container';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
+
+import { debounce } from 'lodash';
+
+import RegenerationIndicator from 'flavours/glitch/components/regeneration_indicator';
+import StatusContainer from 'flavours/glitch/containers/status_container';
+
import LoadGap from './load_gap';
import ScrollableList from './scrollable_list';
-import RegenerationIndicator from 'flavours/glitch/components/regeneration_indicator';
export default class StatusList extends ImmutablePureComponent {
diff --git a/app/javascript/flavours/glitch/components/status_prepend.jsx b/app/javascript/flavours/glitch/components/status_prepend.jsx
index 401b8ed127..9b2bcc8ea1 100644
--- a/app/javascript/flavours/glitch/components/status_prepend.jsx
+++ b/app/javascript/flavours/glitch/components/status_prepend.jsx
@@ -1,8 +1,11 @@
// Package imports //
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import ImmutablePropTypes from 'react-immutable-proptypes';
+import { PureComponent } from 'react';
+
import { FormattedMessage } from 'react-intl';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+
import { Icon } from 'flavours/glitch/components/icon';
import { me } from 'flavours/glitch/initial_state';
diff --git a/app/javascript/flavours/glitch/components/status_visibility_icon.jsx b/app/javascript/flavours/glitch/components/status_visibility_icon.jsx
index d68d245470..39a8a49bfc 100644
--- a/app/javascript/flavours/glitch/components/status_visibility_icon.jsx
+++ b/app/javascript/flavours/glitch/components/status_visibility_icon.jsx
@@ -1,7 +1,10 @@
// Package imports //
import PropTypes from 'prop-types';
+
import { defineMessages, injectIntl } from 'react-intl';
+
import ImmutablePureComponent from 'react-immutable-pure-component';
+
import { Icon } from 'flavours/glitch/components/icon';
const messages = defineMessages({
diff --git a/app/javascript/flavours/glitch/containers/account_container.jsx b/app/javascript/flavours/glitch/containers/account_container.jsx
index 53604d8de7..537c63f3f1 100644
--- a/app/javascript/flavours/glitch/containers/account_container.jsx
+++ b/app/javascript/flavours/glitch/containers/account_container.jsx
@@ -1,7 +1,7 @@
-import { connect } from 'react-redux';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
-import { makeGetAccount } from 'flavours/glitch/selectors';
-import Account from 'flavours/glitch/components/account';
+
+import { connect } from 'react-redux';
+
import {
followAccount,
unfollowAccount,
@@ -12,7 +12,9 @@ import {
} 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' },
diff --git a/app/javascript/flavours/glitch/containers/admin_component.jsx b/app/javascript/flavours/glitch/containers/admin_component.jsx
index 00c0efe3d7..d73189d66d 100644
--- a/app/javascript/flavours/glitch/containers/admin_component.jsx
+++ b/app/javascript/flavours/glitch/containers/admin_component.jsx
@@ -1,6 +1,8 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import { IntlProvider, addLocaleData } from 'react-intl';
+
import { getLocale } from 'mastodon/locales';
const { localeData, messages } = getLocale();
diff --git a/app/javascript/flavours/glitch/containers/compose_container.jsx b/app/javascript/flavours/glitch/containers/compose_container.jsx
index 8926c2724b..c240a1f27b 100644
--- a/app/javascript/flavours/glitch/containers/compose_container.jsx
+++ b/app/javascript/flavours/glitch/containers/compose_container.jsx
@@ -1,13 +1,18 @@
-import { PureComponent } from 'react';
-import { Provider } from 'react-redux';
import PropTypes from 'prop-types';
-import { store } from 'flavours/glitch/store';
-import { hydrateStore } from 'flavours/glitch/actions/store';
+import { PureComponent } from 'react';
+
import { IntlProvider, addLocaleData } from 'react-intl';
-import { getLocale } from 'mastodon/locales';
+
+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 { fetchCustomEmojis } from 'flavours/glitch/actions/custom_emojis';
+import { store } from 'flavours/glitch/store';
+
+import { getLocale } from 'mastodon/locales';
+
const { localeData, messages } = getLocale();
addLocaleData(localeData);
diff --git a/app/javascript/flavours/glitch/containers/domain_container.jsx b/app/javascript/flavours/glitch/containers/domain_container.jsx
index bc2a448494..4828445c48 100644
--- a/app/javascript/flavours/glitch/containers/domain_container.jsx
+++ b/app/javascript/flavours/glitch/containers/domain_container.jsx
@@ -1,8 +1,10 @@
-import { connect } from 'react-redux';
-import { blockDomain, unblockDomain } from '../actions/domain_blocks';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
-import { Domain } from '../components/domain';
+
+import { connect } from 'react-redux';
+
+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' },
diff --git a/app/javascript/flavours/glitch/containers/dropdown_menu_container.js b/app/javascript/flavours/glitch/containers/dropdown_menu_container.js
index 43ce8ca631..5ad13e5554 100644
--- a/app/javascript/flavours/glitch/containers/dropdown_menu_container.js
+++ b/app/javascript/flavours/glitch/containers/dropdown_menu_container.js
@@ -1,7 +1,9 @@
+import { connect } from 'react-redux';
+
import { openDropdownMenu, closeDropdownMenu } from 'flavours/glitch/actions/dropdown_menu';
import { openModal, closeModal } from 'flavours/glitch/actions/modal';
-import { connect } from 'react-redux';
import DropdownMenu from 'flavours/glitch/components/dropdown_menu';
+
import { isUserTouching } from '../is_mobile';
const mapStateToProps = state => ({
diff --git a/app/javascript/flavours/glitch/containers/intersection_observer_article_container.js b/app/javascript/flavours/glitch/containers/intersection_observer_article_container.js
index f2741f2d4f..11aedd5278 100644
--- a/app/javascript/flavours/glitch/containers/intersection_observer_article_container.js
+++ b/app/javascript/flavours/glitch/containers/intersection_observer_article_container.js
@@ -1,6 +1,7 @@
import { connect } from 'react-redux';
-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]),
diff --git a/app/javascript/flavours/glitch/containers/mastodon.jsx b/app/javascript/flavours/glitch/containers/mastodon.jsx
index a9d0256e42..8f46c1697c 100644
--- a/app/javascript/flavours/glitch/containers/mastodon.jsx
+++ b/app/javascript/flavours/glitch/containers/mastodon.jsx
@@ -1,18 +1,23 @@
import PropTypes from 'prop-types';
import { PureComponent } from 'react';
-import { Helmet } from 'react-helmet';
+
import { IntlProvider, addLocaleData } from 'react-intl';
-import { Provider as ReduxProvider } from 'react-redux';
+
+import { Helmet } from 'react-helmet';
import { BrowserRouter, Route } from 'react-router-dom';
+
+import { Provider as ReduxProvider } from 'react-redux';
+
import { ScrollContext } from 'react-router-scroll-4';
-import { store } from 'flavours/glitch/store';
-import UI from 'flavours/glitch/features/ui';
+
import { fetchCustomEmojis } from 'flavours/glitch/actions/custom_emojis';
-import { hydrateStore } from 'flavours/glitch/actions/store';
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 UI from 'flavours/glitch/features/ui';
import initialState, { title as siteTitle } from 'flavours/glitch/initial_state';
+import { store } from 'flavours/glitch/store';
import { getLocale } from 'locales';
const { localeData, messages } = getLocale();
diff --git a/app/javascript/flavours/glitch/containers/media_container.jsx b/app/javascript/flavours/glitch/containers/media_container.jsx
index 40512b5ae6..0d2f193daf 100644
--- a/app/javascript/flavours/glitch/containers/media_container.jsx
+++ b/app/javascript/flavours/glitch/containers/media_container.jsx
@@ -1,18 +1,22 @@
+import PropTypes from 'prop-types';
import { PureComponent } from 'react';
import { createPortal } from 'react-dom';
-import PropTypes from 'prop-types';
+
import { IntlProvider, addLocaleData } from 'react-intl';
+
import { fromJS } from 'immutable';
-import { getLocale } from 'mastodon/locales';
-import { getScrollbarWidth } from 'flavours/glitch/utils/scrollbar';
-import MediaGallery from 'flavours/glitch/components/media_gallery';
-import Poll from 'flavours/glitch/components/poll';
+
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 Card from 'flavours/glitch/features/status/components/card';
-import Audio from 'flavours/glitch/features/audio';
+import { getScrollbarWidth } from 'flavours/glitch/utils/scrollbar';
+
+import { getLocale } from 'mastodon/locales';
const { localeData, messages } = getLocale();
addLocaleData(localeData);
diff --git a/app/javascript/flavours/glitch/containers/notification_purge_buttons_container.js b/app/javascript/flavours/glitch/containers/notification_purge_buttons_container.js
index 2570cf4a56..58075b1c48 100644
--- a/app/javascript/flavours/glitch/containers/notification_purge_buttons_container.js
+++ b/app/javascript/flavours/glitch/containers/notification_purge_buttons_container.js
@@ -1,15 +1,16 @@
// Package imports.
-import { connect } from 'react-redux';
import { defineMessages, injectIntl } from 'react-intl';
+import { connect } from 'react-redux';
+
// Our imports.
-import NotificationPurgeButtons from 'flavours/glitch/components/notification_purge_buttons';
+import { openModal } from 'flavours/glitch/actions/modal';
import {
deleteMarkedNotifications,
enterNotificationClearingMode,
markAllNotifications,
} from 'flavours/glitch/actions/notifications';
-import { openModal } from 'flavours/glitch/actions/modal';
+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?' },
diff --git a/app/javascript/flavours/glitch/containers/poll_container.js b/app/javascript/flavours/glitch/containers/poll_container.js
index 345351cc61..e25dd06148 100644
--- a/app/javascript/flavours/glitch/containers/poll_container.js
+++ b/app/javascript/flavours/glitch/containers/poll_container.js
@@ -1,8 +1,9 @@
import { connect } from 'react-redux';
+
import { debounce } from 'lodash';
-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(
diff --git a/app/javascript/flavours/glitch/containers/status_container.js b/app/javascript/flavours/glitch/containers/status_container.js
index 27ba4e4260..6ae58aa3d5 100644
--- a/app/javascript/flavours/glitch/containers/status_container.js
+++ b/app/javascript/flavours/glitch/containers/status_container.js
@@ -1,11 +1,17 @@
+import { defineMessages, injectIntl } from 'react-intl';
+
import { connect } from 'react-redux';
-import Status from 'flavours/glitch/components/status';
-import { makeGetStatus, makeGetPictureInPicture } from 'flavours/glitch/selectors';
+
+import { initBlockModal } from 'flavours/glitch/actions/blocks';
+import { initBoostModal } from 'flavours/glitch/actions/boosts';
import {
replyCompose,
mentionCompose,
directCompose,
} from 'flavours/glitch/actions/compose';
+import {
+ initAddFilter,
+} from 'flavours/glitch/actions/filters';
import {
reblog,
favourite,
@@ -16,6 +22,11 @@ import {
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';
import {
muteStatus,
unmuteStatus,
@@ -26,18 +37,10 @@ import {
translateStatus,
undoStatusTranslation,
} from 'flavours/glitch/actions/statuses';
-import {
- initAddFilter,
-} from 'flavours/glitch/actions/filters';
-import { initMuteModal } from 'flavours/glitch/actions/mutes';
-import { initBlockModal } from 'flavours/glitch/actions/blocks';
-import { initReport } from 'flavours/glitch/actions/reports';
-import { initBoostModal } from 'flavours/glitch/actions/boosts';
-import { openModal } from 'flavours/glitch/actions/modal';
-import { deployPictureInPicture } from 'flavours/glitch/actions/picture_in_picture';
-import { changeLocalSetting } from 'flavours/glitch/actions/local_settings';
-import { defineMessages, injectIntl } from 'react-intl';
+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';
const messages = defineMessages({
diff --git a/app/javascript/flavours/glitch/features/about/index.jsx b/app/javascript/flavours/glitch/features/about/index.jsx
index d267056863..42a3077de6 100644
--- a/app/javascript/flavours/glitch/features/about/index.jsx
+++ b/app/javascript/flavours/glitch/features/about/index.jsx
@@ -1,17 +1,21 @@
-import { PureComponent } from 'react';
-import ImmutablePropTypes from 'react-immutable-proptypes';
-import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
-import { connect } from 'react-redux';
import PropTypes from 'prop-types';
-import Column from 'flavours/glitch/components/column';
-import LinkFooter from 'flavours/glitch/features/ui/components/link_footer';
-import { Helmet } from 'react-helmet';
-import { fetchServer, fetchExtendedDescription, fetchDomainBlocks } from 'flavours/glitch/actions/server';
-import Account from 'flavours/glitch/containers/account_container';
-import { Skeleton } from 'flavours/glitch/components/skeleton';
-import { Icon } from 'flavours/glitch/components/icon';
+import { PureComponent } from 'react';
+
+import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
import classNames from 'classnames';
+import { Helmet } from 'react-helmet';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import { connect } from 'react-redux';
+
+import { fetchServer, fetchExtendedDescription, fetchDomainBlocks } from 'flavours/glitch/actions/server';
+import Column from 'flavours/glitch/components/column';
+import { Icon } from 'flavours/glitch/components/icon';
import { ServerHeroImage } from 'flavours/glitch/components/server_hero_image';
+import { Skeleton } from 'flavours/glitch/components/skeleton';
+import Account from 'flavours/glitch/containers/account_container';
+import LinkFooter from 'flavours/glitch/features/ui/components/link_footer';
const messages = defineMessages({
title: { id: 'column.about', defaultMessage: 'About' },
diff --git a/app/javascript/flavours/glitch/features/account/components/account_note.jsx b/app/javascript/flavours/glitch/features/account/components/account_note.jsx
index 0962b99e3e..041f8de983 100644
--- a/app/javascript/flavours/glitch/features/account/components/account_note.jsx
+++ b/app/javascript/flavours/glitch/features/account/components/account_note.jsx
@@ -1,10 +1,14 @@
-import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
+
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
-import { Icon } from 'flavours/glitch/components/icon';
+
import Textarea from 'react-textarea-autosize';
+import { Icon } from 'flavours/glitch/components/icon';
+
const messages = defineMessages({
placeholder: { id: 'account_note.glitch_placeholder', defaultMessage: 'No comment provided' },
});
diff --git a/app/javascript/flavours/glitch/features/account/components/action_bar.jsx b/app/javascript/flavours/glitch/features/account/components/action_bar.jsx
index 8cdcd745fc..46a766925a 100644
--- a/app/javascript/flavours/glitch/features/account/components/action_bar.jsx
+++ b/app/javascript/flavours/glitch/features/account/components/action_bar.jsx
@@ -1,7 +1,11 @@
import { PureComponent } from 'react';
-import ImmutablePropTypes from 'react-immutable-proptypes';
-import { NavLink } from 'react-router-dom';
+
import { FormattedMessage, FormattedNumber } from 'react-intl';
+
+import { NavLink } from 'react-router-dom';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+
import { Icon } from 'flavours/glitch/components/icon';
class ActionBar extends PureComponent {
diff --git a/app/javascript/flavours/glitch/features/account/components/featured_tags.jsx b/app/javascript/flavours/glitch/features/account/components/featured_tags.jsx
index 51d74e18d2..87e88f2fa8 100644
--- a/app/javascript/flavours/glitch/features/account/components/featured_tags.jsx
+++ b/app/javascript/flavours/glitch/features/account/components/featured_tags.jsx
@@ -1,7 +1,10 @@
import PropTypes from 'prop-types';
+
+import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
-import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
import Hashtag from 'flavours/glitch/components/hashtag';
const messages = defineMessages({
diff --git a/app/javascript/flavours/glitch/features/account/components/follow_request_note.jsx b/app/javascript/flavours/glitch/features/account/components/follow_request_note.jsx
index 0d880355bf..7368ce9758 100644
--- a/app/javascript/flavours/glitch/features/account/components/follow_request_note.jsx
+++ b/app/javascript/flavours/glitch/features/account/components/follow_request_note.jsx
@@ -1,6 +1,8 @@
-import ImmutablePropTypes from 'react-immutable-proptypes';
import { FormattedMessage } from 'react-intl';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
+
import { Icon } from 'flavours/glitch/components/icon';
export default class FollowRequestNote extends ImmutablePureComponent {
diff --git a/app/javascript/flavours/glitch/features/account/components/header.jsx b/app/javascript/flavours/glitch/features/account/components/header.jsx
index a7a4e680b2..43dbddb98d 100644
--- a/app/javascript/flavours/glitch/features/account/components/header.jsx
+++ b/app/javascript/flavours/glitch/features/account/components/header.jsx
@@ -1,19 +1,26 @@
-import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
+
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
-import ImmutablePureComponent from 'react-immutable-pure-component';
-import { autoPlayGif, me, domain } from 'flavours/glitch/initial_state';
-import { preferencesLink, profileLink, accountAdminLink } from 'flavours/glitch/utils/backend_links';
+
import classNames from 'classnames';
-import { Icon } from 'flavours/glitch/components/icon';
-import { IconButton } from 'flavours/glitch/components/icon_button';
+import { Helmet } from 'react-helmet';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+
import { Avatar } from 'flavours/glitch/components/avatar';
import Button from 'flavours/glitch/components/button';
+import { Icon } from 'flavours/glitch/components/icon';
+import { IconButton } from 'flavours/glitch/components/icon_button';
import DropdownMenuContainer from 'flavours/glitch/containers/dropdown_menu_container';
+import { autoPlayGif, me, domain } from 'flavours/glitch/initial_state';
+import { PERMISSION_MANAGE_USERS, PERMISSION_MANAGE_FEDERATION } from 'flavours/glitch/permissions';
+import { preferencesLink, profileLink, accountAdminLink } from 'flavours/glitch/utils/backend_links';
+
import AccountNoteContainer from '../containers/account_note_container';
import FollowRequestNoteContainer from '../containers/follow_request_note_container';
-import { PERMISSION_MANAGE_USERS, PERMISSION_MANAGE_FEDERATION } from 'flavours/glitch/permissions';
-import { Helmet } from 'react-helmet';
+
+
const messages = defineMessages({
unfollow: { id: 'account.unfollow', defaultMessage: 'Unfollow' },
diff --git a/app/javascript/flavours/glitch/features/account/components/profile_column_header.jsx b/app/javascript/flavours/glitch/features/account/components/profile_column_header.jsx
index 5ba1166169..e84fa375ee 100644
--- a/app/javascript/flavours/glitch/features/account/components/profile_column_header.jsx
+++ b/app/javascript/flavours/glitch/features/account/components/profile_column_header.jsx
@@ -1,8 +1,11 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import ColumnHeader from '../../../components/column_header';
+import { PureComponent } from 'react';
+
import { injectIntl, defineMessages } from 'react-intl';
+import ColumnHeader from '../../../components/column_header';
+
+
const messages = defineMessages({
profile: { id: 'column_header.profile', defaultMessage: 'Profile' },
});
diff --git a/app/javascript/flavours/glitch/features/account/containers/account_note_container.js b/app/javascript/flavours/glitch/features/account/containers/account_note_container.js
index f1d007ecb0..51d229c84b 100644
--- a/app/javascript/flavours/glitch/features/account/containers/account_note_container.js
+++ b/app/javascript/flavours/glitch/features/account/containers/account_note_container.js
@@ -1,5 +1,7 @@
import { connect } from 'react-redux';
+
import { changeAccountNoteComment, submitAccountNote, initEditAccountNote, cancelAccountNote } from 'flavours/glitch/actions/account_notes';
+
import AccountNote from '../components/account_note';
const mapStateToProps = (state, { account }) => {
diff --git a/app/javascript/flavours/glitch/features/account/containers/featured_tags_container.js b/app/javascript/flavours/glitch/features/account/containers/featured_tags_container.js
index 6f0b069419..bafdcba809 100644
--- a/app/javascript/flavours/glitch/features/account/containers/featured_tags_container.js
+++ b/app/javascript/flavours/glitch/features/account/containers/featured_tags_container.js
@@ -1,7 +1,9 @@
-import { connect } from 'react-redux';
-import FeaturedTags from '../components/featured_tags';
-import { makeGetAccount } from 'flavours/glitch/selectors';
import { List as ImmutableList } from 'immutable';
+import { connect } from 'react-redux';
+
+import { makeGetAccount } from 'flavours/glitch/selectors';
+
+import FeaturedTags from '../components/featured_tags';
const mapStateToProps = () => {
const getAccount = makeGetAccount();
diff --git a/app/javascript/flavours/glitch/features/account/containers/follow_request_note_container.js b/app/javascript/flavours/glitch/features/account/containers/follow_request_note_container.js
index c6a3afb7e2..3b2ffbadfe 100644
--- a/app/javascript/flavours/glitch/features/account/containers/follow_request_note_container.js
+++ b/app/javascript/flavours/glitch/features/account/containers/follow_request_note_container.js
@@ -1,7 +1,9 @@
import { connect } from 'react-redux';
-import FollowRequestNote from '../components/follow_request_note';
+
import { authorizeFollowRequest, rejectFollowRequest } from 'flavours/glitch/actions/accounts';
+import FollowRequestNote from '../components/follow_request_note';
+
const mapDispatchToProps = (dispatch, { account }) => ({
onAuthorize () {
dispatch(authorizeFollowRequest(account.get('id')));
diff --git a/app/javascript/flavours/glitch/features/account/navigation.jsx b/app/javascript/flavours/glitch/features/account/navigation.jsx
index 2739ca24e3..4be00c49f2 100644
--- a/app/javascript/flavours/glitch/features/account/navigation.jsx
+++ b/app/javascript/flavours/glitch/features/account/navigation.jsx
@@ -1,6 +1,8 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import { connect } from 'react-redux';
+
import FeaturedTags from 'flavours/glitch/features/account/containers/featured_tags_container';
import { normalizeForLookup } from 'flavours/glitch/reducers/accounts_map';
diff --git a/app/javascript/flavours/glitch/features/account_gallery/components/media_item.jsx b/app/javascript/flavours/glitch/features/account_gallery/components/media_item.jsx
index b8c85fd369..4453b557d9 100644
--- a/app/javascript/flavours/glitch/features/account_gallery/components/media_item.jsx
+++ b/app/javascript/flavours/glitch/features/account_gallery/components/media_item.jsx
@@ -1,11 +1,16 @@
-import { Blurhash } from 'flavours/glitch/components/blurhash';
-import classNames from 'classnames';
-import { Icon } from 'flavours/glitch/components/icon';
-import { autoPlayGif, displayMedia, useBlurhash } from 'flavours/glitch/initial_state';
import PropTypes from 'prop-types';
+
+import classNames from 'classnames';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
+import { Blurhash } from 'flavours/glitch/components/blurhash';
+import { Icon } from 'flavours/glitch/components/icon';
+import { autoPlayGif, displayMedia, useBlurhash } from 'flavours/glitch/initial_state';
+
+
+
export default class MediaItem extends ImmutablePureComponent {
static propTypes = {
diff --git a/app/javascript/flavours/glitch/features/account_gallery/index.jsx b/app/javascript/flavours/glitch/features/account_gallery/index.jsx
index 45ded50902..c8567a1010 100644
--- a/app/javascript/flavours/glitch/features/account_gallery/index.jsx
+++ b/app/javascript/flavours/glitch/features/account_gallery/index.jsx
@@ -1,21 +1,26 @@
-import { connect } from 'react-redux';
-import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
-import { lookupAccount, fetchAccount } from 'flavours/glitch/actions/accounts';
-import { expandAccountMediaTimeline } from 'flavours/glitch/actions/timelines';
-import LoadingIndicator from 'flavours/glitch/components/loading_indicator';
-import Column from 'flavours/glitch/features/ui/components/column';
-import ProfileColumnHeader from 'flavours/glitch/features/account/components/profile_column_header';
-import ImmutablePureComponent from 'react-immutable-pure-component';
-import { getAccountGallery } from 'flavours/glitch/selectors';
-import MediaItem from './components/media_item';
-import HeaderContainer from 'flavours/glitch/features/account_timeline/containers/header_container';
-import ScrollContainer from 'flavours/glitch/containers/scroll_container';
-import LoadMore from 'flavours/glitch/components/load_more';
-import { openModal } from 'flavours/glitch/actions/modal';
+
import { FormattedMessage } from 'react-intl';
-import { normalizeForLookup } from 'flavours/glitch/reducers/accounts_map';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+import { connect } from 'react-redux';
+
+import { lookupAccount, fetchAccount } from 'flavours/glitch/actions/accounts';
+import { openModal } from 'flavours/glitch/actions/modal';
+import { expandAccountMediaTimeline } from 'flavours/glitch/actions/timelines';
+import LoadMore from 'flavours/glitch/components/load_more';
+import LoadingIndicator from 'flavours/glitch/components/loading_indicator';
+import ScrollContainer from 'flavours/glitch/containers/scroll_container';
+import ProfileColumnHeader from 'flavours/glitch/features/account/components/profile_column_header';
+import HeaderContainer from 'flavours/glitch/features/account_timeline/containers/header_container';
import BundleColumnError from 'flavours/glitch/features/ui/components/bundle_column_error';
+import Column from 'flavours/glitch/features/ui/components/column';
+import { normalizeForLookup } from 'flavours/glitch/reducers/accounts_map';
+import { getAccountGallery } from 'flavours/glitch/selectors';
+
+import MediaItem from './components/media_item';
+
const mapStateToProps = (state, { params: { acct, id } }) => {
const accountId = id || state.getIn(['accounts_map', normalizeForLookup(acct)]);
diff --git a/app/javascript/flavours/glitch/features/account_timeline/components/header.jsx b/app/javascript/flavours/glitch/features/account_timeline/components/header.jsx
index c36fdda779..5480045b70 100644
--- a/app/javascript/flavours/glitch/features/account_timeline/components/header.jsx
+++ b/app/javascript/flavours/glitch/features/account_timeline/components/header.jsx
@@ -1,11 +1,16 @@
-import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
-import InnerHeader from 'flavours/glitch/features/account/components/header';
-import ActionBar from 'flavours/glitch/features/account/components/action_bar';
-import ImmutablePureComponent from 'react-immutable-pure-component';
-import MemorialNote from './memorial_note';
+
import { FormattedMessage } from 'react-intl';
+
import { NavLink } from 'react-router-dom';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+
+import ActionBar from 'flavours/glitch/features/account/components/action_bar';
+import InnerHeader from 'flavours/glitch/features/account/components/header';
+
+import MemorialNote from './memorial_note';
import MovedNote from './moved_note';
export default class Header extends ImmutablePureComponent {
diff --git a/app/javascript/flavours/glitch/features/account_timeline/components/limited_account_hint.jsx b/app/javascript/flavours/glitch/features/account_timeline/components/limited_account_hint.jsx
index ea5fd75bc3..5ea37a5d31 100644
--- a/app/javascript/flavours/glitch/features/account_timeline/components/limited_account_hint.jsx
+++ b/app/javascript/flavours/glitch/features/account_timeline/components/limited_account_hint.jsx
@@ -1,8 +1,11 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import { connect } from 'react-redux';
-import { revealAccount } from 'flavours/glitch/actions/accounts';
+import { PureComponent } from 'react';
+
import { FormattedMessage } from 'react-intl';
+
+import { connect } from 'react-redux';
+
+import { revealAccount } from 'flavours/glitch/actions/accounts';
import Button from 'flavours/glitch/components/button';
import { domain } from 'flavours/glitch/initial_state';
diff --git a/app/javascript/flavours/glitch/features/account_timeline/components/moved_note.jsx b/app/javascript/flavours/glitch/features/account_timeline/components/moved_note.jsx
index b6ee3963fe..7b9f6fa37d 100644
--- a/app/javascript/flavours/glitch/features/account_timeline/components/moved_note.jsx
+++ b/app/javascript/flavours/glitch/features/account_timeline/components/moved_note.jsx
@@ -1,10 +1,14 @@
import PropTypes from 'prop-types';
-import ImmutablePropTypes from 'react-immutable-proptypes';
+
import { FormattedMessage } from 'react-intl';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
+
+import { Icon } from 'flavours/glitch/components/icon';
+
import AvatarOverlay from '../../../components/avatar_overlay';
import { DisplayName } from '../../../components/display_name';
-import { Icon } from 'flavours/glitch/components/icon';
export default class MovedNote extends ImmutablePureComponent {
diff --git a/app/javascript/flavours/glitch/features/account_timeline/containers/header_container.jsx b/app/javascript/flavours/glitch/features/account_timeline/containers/header_container.jsx
index 86447a56d0..dd3dd07806 100644
--- a/app/javascript/flavours/glitch/features/account_timeline/containers/header_container.jsx
+++ b/app/javascript/flavours/glitch/features/account_timeline/containers/header_container.jsx
@@ -1,6 +1,8 @@
+import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
import { connect } from 'react-redux';
-import { makeGetAccount, getAccountHidden } from 'flavours/glitch/selectors';
-import Header from '../components/header';
+
+import { initEditAccountNote } from 'flavours/glitch/actions/account_notes';
import {
followAccount,
unfollowAccount,
@@ -9,18 +11,19 @@ import {
pinAccount,
unpinAccount,
} from 'flavours/glitch/actions/accounts';
+import { initBlockModal } from 'flavours/glitch/actions/blocks';
import {
mentionCompose,
directCompose,
} from 'flavours/glitch/actions/compose';
-import { initMuteModal } from 'flavours/glitch/actions/mutes';
-import { initBlockModal } from 'flavours/glitch/actions/blocks';
-import { initReport } from 'flavours/glitch/actions/reports';
-import { openModal } from 'flavours/glitch/actions/modal';
import { blockDomain, unblockDomain } from 'flavours/glitch/actions/domain_blocks';
-import { initEditAccountNote } from 'flavours/glitch/actions/account_notes';
-import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+import { openModal } from 'flavours/glitch/actions/modal';
+import { initMuteModal } from 'flavours/glitch/actions/mutes';
+import { initReport } from 'flavours/glitch/actions/reports';
import { unfollowModal } from 'flavours/glitch/initial_state';
+import { makeGetAccount, getAccountHidden } from 'flavours/glitch/selectors';
+
+import Header from '../components/header';
const messages = defineMessages({
cancelFollowRequestConfirm: { id: 'confirmations.cancel_follow_request.confirm', defaultMessage: 'Withdraw request' },
diff --git a/app/javascript/flavours/glitch/features/account_timeline/index.jsx b/app/javascript/flavours/glitch/features/account_timeline/index.jsx
index 3a2afeb7ad..1fe63e9957 100644
--- a/app/javascript/flavours/glitch/features/account_timeline/index.jsx
+++ b/app/javascript/flavours/glitch/features/account_timeline/index.jsx
@@ -1,22 +1,34 @@
-import { connect } from 'react-redux';
-import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
-import { lookupAccount, fetchAccount } from 'flavours/glitch/actions/accounts';
-import { expandAccountFeaturedTimeline, expandAccountTimeline } from '../../actions/timelines';
-import StatusList from '../../components/status_list';
-import LoadingIndicator from '../../components/loading_indicator';
-import Column from '../ui/components/column';
-import ProfileColumnHeader from 'flavours/glitch/features/account/components/profile_column_header';
-import HeaderContainer from './containers/header_container';
-import { List as ImmutableList } from 'immutable';
-import ImmutablePureComponent from 'react-immutable-pure-component';
+
import { FormattedMessage } from 'react-intl';
+
+import { List as ImmutableList } from 'immutable';
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+import { connect } from 'react-redux';
+
+import { lookupAccount, fetchAccount } from 'flavours/glitch/actions/accounts';
import { TimelineHint } from 'flavours/glitch/components/timeline_hint';
-import LimitedAccountHint from './components/limited_account_hint';
-import { getAccountHidden } from 'flavours/glitch/selectors';
-import { fetchFeaturedTags } from '../../actions/featured_tags';
-import { normalizeForLookup } from 'flavours/glitch/reducers/accounts_map';
+import ProfileColumnHeader from 'flavours/glitch/features/account/components/profile_column_header';
import BundleColumnError from 'flavours/glitch/features/ui/components/bundle_column_error';
+import { normalizeForLookup } from 'flavours/glitch/reducers/accounts_map';
+import { getAccountHidden } from 'flavours/glitch/selectors';
+
+import { fetchFeaturedTags } from '../../actions/featured_tags';
+import { expandAccountFeaturedTimeline, expandAccountTimeline } from '../../actions/timelines';
+import LoadingIndicator from '../../components/loading_indicator';
+import StatusList from '../../components/status_list';
+import Column from '../ui/components/column';
+
+import LimitedAccountHint from './components/limited_account_hint';
+import HeaderContainer from './containers/header_container';
+
+
+
+
+
+
+
const emptyList = ImmutableList();
diff --git a/app/javascript/flavours/glitch/features/audio/index.jsx b/app/javascript/flavours/glitch/features/audio/index.jsx
index 13343f941f..1c41306666 100644
--- a/app/javascript/flavours/glitch/features/audio/index.jsx
+++ b/app/javascript/flavours/glitch/features/audio/index.jsx
@@ -1,15 +1,23 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import { defineMessages, FormattedMessage, injectIntl } from 'react-intl';
-import { formatTime, getPointerPosition, fileNameFromURL } from 'flavours/glitch/features/video';
-import { Icon } from 'flavours/glitch/components/icon';
+
import classNames from 'classnames';
-import { throttle, debounce } from 'lodash';
-import Visualizer from './visualizer';
-import { displayMedia, useBlurhash } from 'flavours/glitch/initial_state';
-import { Blurhash } from 'flavours/glitch/components/blurhash';
+
import { is } from 'immutable';
+import { throttle, debounce } from 'lodash';
+
+import { Blurhash } from 'flavours/glitch/components/blurhash';
+import { Icon } from 'flavours/glitch/components/icon';
+import { formatTime, getPointerPosition, fileNameFromURL } from 'flavours/glitch/features/video';
+import { displayMedia, useBlurhash } from 'flavours/glitch/initial_state';
+
+import Visualizer from './visualizer';
+
+
+
const messages = defineMessages({
play: { id: 'video.play', defaultMessage: 'Play' },
pause: { id: 'video.pause', defaultMessage: 'Pause' },
diff --git a/app/javascript/flavours/glitch/features/blocks/index.jsx b/app/javascript/flavours/glitch/features/blocks/index.jsx
index dbf7ae1207..d7cefd65b6 100644
--- a/app/javascript/flavours/glitch/features/blocks/index.jsx
+++ b/app/javascript/flavours/glitch/features/blocks/index.jsx
@@ -1,15 +1,23 @@
-import { connect } from 'react-redux';
-import ImmutablePropTypes from 'react-immutable-proptypes';
-import { debounce } from 'lodash';
import PropTypes from 'prop-types';
-import LoadingIndicator from 'flavours/glitch/components/loading_indicator';
-import ScrollableList from '../../components/scrollable_list';
-import Column from 'flavours/glitch/features/ui/components/column';
-import ColumnBackButtonSlim from 'flavours/glitch/components/column_back_button_slim';
-import AccountContainer from 'flavours/glitch/containers/account_container';
-import { fetchBlocks, expandBlocks } from 'flavours/glitch/actions/blocks';
+
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
+import { connect } from 'react-redux';
+
+import { debounce } from 'lodash';
+
+import { fetchBlocks, expandBlocks } from 'flavours/glitch/actions/blocks';
+import ColumnBackButtonSlim from 'flavours/glitch/components/column_back_button_slim';
+import LoadingIndicator from 'flavours/glitch/components/loading_indicator';
+import AccountContainer from 'flavours/glitch/containers/account_container';
+import Column from 'flavours/glitch/features/ui/components/column';
+
+import ScrollableList from '../../components/scrollable_list';
+
+
+
const messages = defineMessages({
heading: { id: 'column.blocks', defaultMessage: 'Blocked users' },
diff --git a/app/javascript/flavours/glitch/features/bookmarked_statuses/index.jsx b/app/javascript/flavours/glitch/features/bookmarked_statuses/index.jsx
index cc31427b69..fe8b883de5 100644
--- a/app/javascript/flavours/glitch/features/bookmarked_statuses/index.jsx
+++ b/app/javascript/flavours/glitch/features/bookmarked_statuses/index.jsx
@@ -1,10 +1,15 @@
-import { debounce } from 'lodash';
import PropTypes from 'prop-types';
-import { Helmet } from 'react-helmet';
+
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
+import { Helmet } from 'react-helmet';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { connect } from 'react-redux';
+
+import { debounce } from 'lodash';
+
import { fetchBookmarkedStatuses, expandBookmarkedStatuses } from 'flavours/glitch/actions/bookmarks';
import { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';
import ColumnHeader from 'flavours/glitch/components/column_header';
diff --git a/app/javascript/flavours/glitch/features/closed_registrations_modal/index.jsx b/app/javascript/flavours/glitch/features/closed_registrations_modal/index.jsx
index bf71904762..b556da3911 100644
--- a/app/javascript/flavours/glitch/features/closed_registrations_modal/index.jsx
+++ b/app/javascript/flavours/glitch/features/closed_registrations_modal/index.jsx
@@ -1,8 +1,10 @@
-import { connect } from 'react-redux';
import { FormattedMessage } from 'react-intl';
+
import ImmutablePureComponent from 'react-immutable-pure-component';
-import { domain } from 'flavours/glitch/initial_state';
+import { connect } from 'react-redux';
+
import { fetchServer } from 'flavours/glitch/actions/server';
+import { domain } from 'flavours/glitch/initial_state';
const mapStateToProps = state => ({
message: state.getIn(['server', 'server', 'registrations', 'message']),
diff --git a/app/javascript/flavours/glitch/features/community_timeline/components/column_settings.jsx b/app/javascript/flavours/glitch/features/community_timeline/components/column_settings.jsx
index 62a1e54926..1e93125d59 100644
--- a/app/javascript/flavours/glitch/features/community_timeline/components/column_settings.jsx
+++ b/app/javascript/flavours/glitch/features/community_timeline/components/column_settings.jsx
@@ -1,7 +1,10 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import ImmutablePropTypes from 'react-immutable-proptypes';
+import { PureComponent } from 'react';
+
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+
import SettingText from 'flavours/glitch/components/setting_text';
import SettingToggle from 'flavours/glitch/features/notifications/components/setting_toggle';
diff --git a/app/javascript/flavours/glitch/features/community_timeline/containers/column_settings_container.js b/app/javascript/flavours/glitch/features/community_timeline/containers/column_settings_container.js
index eac1c4bbac..dbfc4594e1 100644
--- a/app/javascript/flavours/glitch/features/community_timeline/containers/column_settings_container.js
+++ b/app/javascript/flavours/glitch/features/community_timeline/containers/column_settings_container.js
@@ -1,8 +1,10 @@
import { connect } from 'react-redux';
-import ColumnSettings from '../components/column_settings';
+
import { changeColumnParams } from 'flavours/glitch/actions/columns';
import { changeSetting } from 'flavours/glitch/actions/settings';
+import ColumnSettings from '../components/column_settings';
+
const mapStateToProps = (state, { columnId }) => {
const uuid = columnId;
const columns = state.getIn(['settings', 'columns']);
diff --git a/app/javascript/flavours/glitch/features/community_timeline/index.jsx b/app/javascript/flavours/glitch/features/community_timeline/index.jsx
index 3685f8bd17..8db07a7f77 100644
--- a/app/javascript/flavours/glitch/features/community_timeline/index.jsx
+++ b/app/javascript/flavours/glitch/features/community_timeline/index.jsx
@@ -1,17 +1,23 @@
-import { PureComponent } from 'react';
-import { connect } from 'react-redux';
-import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import PropTypes from 'prop-types';
-import StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container';
+import { PureComponent } from 'react';
+
+import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
+import { Helmet } from 'react-helmet';
+
+import { connect } from 'react-redux';
+
+import { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';
+import { connectCommunityStream } from 'flavours/glitch/actions/streaming';
+import { expandCommunityTimeline } from 'flavours/glitch/actions/timelines';
import Column from 'flavours/glitch/components/column';
import ColumnHeader from 'flavours/glitch/components/column_header';
-import { expandCommunityTimeline } from 'flavours/glitch/actions/timelines';
-import { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';
-import ColumnSettingsContainer from './containers/column_settings_container';
-import { connectCommunityStream } from 'flavours/glitch/actions/streaming';
-import { Helmet } from 'react-helmet';
-import { domain } from 'flavours/glitch/initial_state';
import DismissableBanner from 'flavours/glitch/components/dismissable_banner';
+import StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container';
+import { domain } from 'flavours/glitch/initial_state';
+
+import ColumnSettingsContainer from './containers/column_settings_container';
+
const messages = defineMessages({
title: { id: 'column.community', defaultMessage: 'Local timeline' },
diff --git a/app/javascript/flavours/glitch/features/compose/components/action_bar.jsx b/app/javascript/flavours/glitch/features/compose/components/action_bar.jsx
index 1dda335263..4cfd79979e 100644
--- a/app/javascript/flavours/glitch/features/compose/components/action_bar.jsx
+++ b/app/javascript/flavours/glitch/features/compose/components/action_bar.jsx
@@ -1,10 +1,16 @@
-import { PureComponent } from 'react';
-import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
-import DropdownMenuContainer from '../../../containers/dropdown_menu_container';
+import { PureComponent } from 'react';
+
import { defineMessages, injectIntl } from 'react-intl';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+
import { preferencesLink, profileLink } from 'flavours/glitch/utils/backend_links';
+import DropdownMenuContainer from '../../../containers/dropdown_menu_container';
+
+
+
const messages = defineMessages({
edit_profile: { id: 'account.edit_profile', defaultMessage: 'Edit profile' },
pins: { id: 'navigation_bar.pins', defaultMessage: 'Pinned posts' },
diff --git a/app/javascript/flavours/glitch/features/compose/components/autosuggest_account.jsx b/app/javascript/flavours/glitch/features/compose/components/autosuggest_account.jsx
index 1361f660ce..5f00da52c4 100644
--- a/app/javascript/flavours/glitch/features/compose/components/autosuggest_account.jsx
+++ b/app/javascript/flavours/glitch/features/compose/components/autosuggest_account.jsx
@@ -1,8 +1,9 @@
-import { Avatar } from 'flavours/glitch/components/avatar';
-import { DisplayName } from 'flavours/glitch/components/display_name';
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
+import { Avatar } from 'flavours/glitch/components/avatar';
+import { DisplayName } from 'flavours/glitch/components/display_name';
+
export default class AutosuggestAccount extends ImmutablePureComponent {
static propTypes = {
diff --git a/app/javascript/flavours/glitch/features/compose/components/character_counter.jsx b/app/javascript/flavours/glitch/features/compose/components/character_counter.jsx
index 15fc77bdcd..42452b30f6 100644
--- a/app/javascript/flavours/glitch/features/compose/components/character_counter.jsx
+++ b/app/javascript/flavours/glitch/features/compose/components/character_counter.jsx
@@ -1,5 +1,6 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import { length } from 'stringz';
export default class CharacterCounter extends PureComponent {
diff --git a/app/javascript/flavours/glitch/features/compose/components/compose_form.jsx b/app/javascript/flavours/glitch/features/compose/components/compose_form.jsx
index d8a403f2a1..53e1bf79ae 100644
--- a/app/javascript/flavours/glitch/features/compose/components/compose_form.jsx
+++ b/app/javascript/flavours/glitch/features/compose/components/compose_form.jsx
@@ -1,20 +1,26 @@
-import CharacterCounter from './character_counter';
-import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
-import ReplyIndicatorContainer from '../containers/reply_indicator_container';
-import AutosuggestTextarea from '../../../components/autosuggest_textarea';
-import AutosuggestInput from '../../../components/autosuggest_input';
+
import { defineMessages, injectIntl } from 'react-intl';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+
+import { length } from 'stringz';
+
+import { maxChars } from 'flavours/glitch/initial_state';
+import { isMobile } from 'flavours/glitch/is_mobile';
+
+import AutosuggestInput from '../../../components/autosuggest_input';
+import AutosuggestTextarea from '../../../components/autosuggest_textarea';
import EmojiPickerDropdown from '../containers/emoji_picker_dropdown_container';
+import OptionsContainer from '../containers/options_container';
import PollFormContainer from '../containers/poll_form_container';
+import ReplyIndicatorContainer from '../containers/reply_indicator_container';
import UploadFormContainer from '../containers/upload_form_container';
import WarningContainer from '../containers/warning_container';
-import { isMobile } from 'flavours/glitch/is_mobile';
-import ImmutablePureComponent from 'react-immutable-pure-component';
-import { length } from 'stringz';
import { countableText } from '../util/counter';
-import { maxChars } from 'flavours/glitch/initial_state';
-import OptionsContainer from '../containers/options_container';
+
+import CharacterCounter from './character_counter';
import Publisher from './publisher';
import TextareaIcons from './textarea_icons';
diff --git a/app/javascript/flavours/glitch/features/compose/components/dropdown.jsx b/app/javascript/flavours/glitch/features/compose/components/dropdown.jsx
index 9c49fa5a1a..a50413ebe6 100644
--- a/app/javascript/flavours/glitch/features/compose/components/dropdown.jsx
+++ b/app/javascript/flavours/glitch/features/compose/components/dropdown.jsx
@@ -1,11 +1,14 @@
// Package imports.
-import classNames from 'classnames';
import PropTypes from 'prop-types';
import { PureComponent } from 'react';
+
+import classNames from 'classnames';
+
import Overlay from 'react-overlays/Overlay';
// Components.
import { IconButton } from 'flavours/glitch/components/icon_button';
+
import DropdownMenu from './dropdown_menu';
// The component.
diff --git a/app/javascript/flavours/glitch/features/compose/components/dropdown_menu.jsx b/app/javascript/flavours/glitch/features/compose/components/dropdown_menu.jsx
index bb3c8b4aef..a78e6914cf 100644
--- a/app/javascript/flavours/glitch/features/compose/components/dropdown_menu.jsx
+++ b/app/javascript/flavours/glitch/features/compose/components/dropdown_menu.jsx
@@ -1,7 +1,9 @@
// Package imports.
import PropTypes from 'prop-types';
import { PureComponent } from 'react';
+
import classNames from 'classnames';
+
import { supportsPassiveEvents } from 'detect-passive-events';
// Components.
diff --git a/app/javascript/flavours/glitch/features/compose/components/emoji_picker_dropdown.jsx b/app/javascript/flavours/glitch/features/compose/components/emoji_picker_dropdown.jsx
index c5f4ca6ba7..e01be88a2f 100644
--- a/app/javascript/flavours/glitch/features/compose/components/emoji_picker_dropdown.jsx
+++ b/app/javascript/flavours/glitch/features/compose/components/emoji_picker_dropdown.jsx
@@ -1,15 +1,21 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
-import { EmojiPicker as EmojiPickerAsync } from '../../ui/util/async-components';
-import Overlay from 'react-overlays/Overlay';
+
import classNames from 'classnames';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
+
import { supportsPassiveEvents } from 'detect-passive-events';
-import { buildCustomEmojis, categoriesFromEmojis } from '../../emoji/emoji';
+import Overlay from 'react-overlays/Overlay';
+
import { useSystemEmojiFont } from 'flavours/glitch/initial_state';
import { assetHost } from 'flavours/glitch/utils/config';
+import { buildCustomEmojis, categoriesFromEmojis } from '../../emoji/emoji';
+import { EmojiPicker as EmojiPickerAsync } from '../../ui/util/async-components';
+
const messages = defineMessages({
emoji: { id: 'emoji_button.label', defaultMessage: 'Insert emoji' },
emoji_search: { id: 'emoji_button.search', defaultMessage: 'Search...' },
diff --git a/app/javascript/flavours/glitch/features/compose/components/header.jsx b/app/javascript/flavours/glitch/features/compose/components/header.jsx
index 6a7d057b10..ac6d4dce85 100644
--- a/app/javascript/flavours/glitch/features/compose/components/header.jsx
+++ b/app/javascript/flavours/glitch/features/compose/components/header.jsx
@@ -1,18 +1,16 @@
-// Package imports.
import PropTypes from 'prop-types';
-import ImmutablePropTypes from 'react-immutable-proptypes';
+
import { injectIntl, defineMessages } from 'react-intl';
+
import { Link } from 'react-router-dom';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
-// Components.
import { Icon } from 'flavours/glitch/components/icon';
-
-// Utils.
-import { conditionalRender } from 'flavours/glitch/utils/react_helpers';
import { signOutLink } from 'flavours/glitch/utils/backend_links';
+import { conditionalRender } from 'flavours/glitch/utils/react_helpers';
-// Messages.
const messages = defineMessages({
community: {
defaultMessage: 'Local timeline',
diff --git a/app/javascript/flavours/glitch/features/compose/components/language_dropdown.jsx b/app/javascript/flavours/glitch/features/compose/components/language_dropdown.jsx
index 5ffcf9aa88..a067f686e1 100644
--- a/app/javascript/flavours/glitch/features/compose/components/language_dropdown.jsx
+++ b/app/javascript/flavours/glitch/features/compose/components/language_dropdown.jsx
@@ -1,13 +1,18 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import { injectIntl, defineMessages } from 'react-intl';
-import TextIconButton from './text_icon_button';
-import Overlay from 'react-overlays/Overlay';
-import { supportsPassiveEvents } from 'detect-passive-events';
+
import classNames from 'classnames';
+
+import { supportsPassiveEvents } from 'detect-passive-events';
+import fuzzysort from 'fuzzysort';
+import Overlay from 'react-overlays/Overlay';
+
import { languages as preloadedLanguages } from 'flavours/glitch/initial_state';
import { loupeIcon, deleteIcon } from 'flavours/glitch/utils/icons';
-import fuzzysort from 'fuzzysort';
+
+import TextIconButton from './text_icon_button';
const messages = defineMessages({
changeLanguage: { id: 'compose.language.change', defaultMessage: 'Change language' },
diff --git a/app/javascript/flavours/glitch/features/compose/components/navigation_bar.jsx b/app/javascript/flavours/glitch/features/compose/components/navigation_bar.jsx
index 699949523f..383a9db528 100644
--- a/app/javascript/flavours/glitch/features/compose/components/navigation_bar.jsx
+++ b/app/javascript/flavours/glitch/features/compose/components/navigation_bar.jsx
@@ -1,12 +1,16 @@
import PropTypes from 'prop-types';
+
+import { FormattedMessage } from 'react-intl';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
-import ActionBar from './action_bar';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+
import { Avatar } from 'flavours/glitch/components/avatar';
import Permalink from 'flavours/glitch/components/permalink';
-import { FormattedMessage } from 'react-intl';
-import ImmutablePureComponent from 'react-immutable-pure-component';
import { profileLink } from 'flavours/glitch/utils/backend_links';
+import ActionBar from './action_bar';
+
export default class NavigationBar extends ImmutablePureComponent {
static propTypes = {
diff --git a/app/javascript/flavours/glitch/features/compose/components/options.jsx b/app/javascript/flavours/glitch/features/compose/components/options.jsx
index ffbd12264c..98bba41198 100644
--- a/app/javascript/flavours/glitch/features/compose/components/options.jsx
+++ b/app/javascript/flavours/glitch/features/compose/components/options.jsx
@@ -1,20 +1,28 @@
// Package imports.
import PropTypes from 'prop-types';
-import ImmutablePropTypes from 'react-immutable-proptypes';
+
import { defineMessages, injectIntl } from 'react-intl';
-import Toggle from 'react-toggle';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
import { connect } from 'react-redux';
+import Toggle from 'react-toggle';
+
+
// Components.
import { IconButton } from 'flavours/glitch/components/icon_button';
-import TextIconButton from './text_icon_button';
+import { pollLimits } from 'flavours/glitch/initial_state';
+
import DropdownContainer from '../containers/dropdown_container';
-import PrivacyDropdownContainer from '../containers/privacy_dropdown_container';
import LanguageDropdown from '../containers/language_dropdown_container';
-import ImmutablePureComponent from 'react-immutable-pure-component';
+import PrivacyDropdownContainer from '../containers/privacy_dropdown_container';
+
+import TextIconButton from './text_icon_button';
+
+
// Utils.
-import { pollLimits } from 'flavours/glitch/initial_state';
// Messages.
const messages = defineMessages({
diff --git a/app/javascript/flavours/glitch/features/compose/components/poll_form.jsx b/app/javascript/flavours/glitch/features/compose/components/poll_form.jsx
index a92d08f863..2ba9f6db64 100644
--- a/app/javascript/flavours/glitch/features/compose/components/poll_form.jsx
+++ b/app/javascript/flavours/glitch/features/compose/components/poll_form.jsx
@@ -1,12 +1,16 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
+import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
+import classNames from 'classnames';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
-import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
-import { IconButton } from 'flavours/glitch/components/icon_button';
-import { Icon } from 'flavours/glitch/components/icon';
+
import AutosuggestInput from 'flavours/glitch/components/autosuggest_input';
-import classNames from 'classnames';
+import { Icon } from 'flavours/glitch/components/icon';
+import { IconButton } from 'flavours/glitch/components/icon_button';
import { pollLimits } from 'flavours/glitch/initial_state';
const messages = defineMessages({
diff --git a/app/javascript/flavours/glitch/features/compose/components/privacy_dropdown.jsx b/app/javascript/flavours/glitch/features/compose/components/privacy_dropdown.jsx
index a9ebbaf10e..c9b950f8d7 100644
--- a/app/javascript/flavours/glitch/features/compose/components/privacy_dropdown.jsx
+++ b/app/javascript/flavours/glitch/features/compose/components/privacy_dropdown.jsx
@@ -1,6 +1,8 @@
import PropTypes from 'prop-types';
import { PureComponent } from 'react';
+
import { defineMessages, injectIntl } from 'react-intl';
+
import Dropdown from './dropdown';
const messages = defineMessages({
diff --git a/app/javascript/flavours/glitch/features/compose/components/publisher.jsx b/app/javascript/flavours/glitch/features/compose/components/publisher.jsx
index 216b8e223d..3ff4121749 100644
--- a/app/javascript/flavours/glitch/features/compose/components/publisher.jsx
+++ b/app/javascript/flavours/glitch/features/compose/components/publisher.jsx
@@ -1,18 +1,17 @@
-// Package imports.
-import classNames from 'classnames';
import PropTypes from 'prop-types';
+
import { defineMessages, injectIntl } from 'react-intl';
-import { length } from 'stringz';
+
+import classNames from 'classnames';
+
import ImmutablePureComponent from 'react-immutable-pure-component';
-// Components.
+import { length } from 'stringz';
+
import Button from 'flavours/glitch/components/button';
import { Icon } from 'flavours/glitch/components/icon';
-
-// Utils.
import { maxChars } from 'flavours/glitch/initial_state';
-// Messages.
const messages = defineMessages({
publish: {
defaultMessage: 'Publish',
diff --git a/app/javascript/flavours/glitch/features/compose/components/reply_indicator.jsx b/app/javascript/flavours/glitch/features/compose/components/reply_indicator.jsx
index 8a3c5dacdd..c55ffd1906 100644
--- a/app/javascript/flavours/glitch/features/compose/components/reply_indicator.jsx
+++ b/app/javascript/flavours/glitch/features/compose/components/reply_indicator.jsx
@@ -1,13 +1,15 @@
// Package imports.
import PropTypes from 'prop-types';
-import ImmutablePropTypes from 'react-immutable-proptypes';
+
import { defineMessages, injectIntl } from 'react-intl';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
// Components.
-import AccountContainer from 'flavours/glitch/containers/account_container';
-import { IconButton } from 'flavours/glitch/components/icon_button';
import AttachmentList from 'flavours/glitch/components/attachment_list';
+import { IconButton } from 'flavours/glitch/components/icon_button';
+import AccountContainer from 'flavours/glitch/containers/account_container';
// Messages.
const messages = defineMessages({
diff --git a/app/javascript/flavours/glitch/features/compose/components/search.jsx b/app/javascript/flavours/glitch/features/compose/components/search.jsx
index 737599ee60..4b655db1c7 100644
--- a/app/javascript/flavours/glitch/features/compose/components/search.jsx
+++ b/app/javascript/flavours/glitch/features/compose/components/search.jsx
@@ -1,19 +1,17 @@
-// Package imports.
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import {
injectIntl,
FormattedMessage,
defineMessages,
} from 'react-intl';
+
import Overlay from 'react-overlays/Overlay';
-// Components.
import { Icon } from 'flavours/glitch/components/icon';
-
-// Utils.
-import { focusRoot } from 'flavours/glitch/utils/dom_helpers';
import { searchEnabled } from 'flavours/glitch/initial_state';
+import { focusRoot } from 'flavours/glitch/utils/dom_helpers';
const messages = defineMessages({
placeholder: { id: 'search.placeholder', defaultMessage: 'Search' },
diff --git a/app/javascript/flavours/glitch/features/compose/components/search_results.jsx b/app/javascript/flavours/glitch/features/compose/components/search_results.jsx
index 1cd7d07d18..3c379fe15c 100644
--- a/app/javascript/flavours/glitch/features/compose/components/search_results.jsx
+++ b/app/javascript/flavours/glitch/features/compose/components/search_results.jsx
@@ -1,13 +1,16 @@
import PropTypes from 'prop-types';
-import ImmutablePropTypes from 'react-immutable-proptypes';
+
import { FormattedMessage, defineMessages, injectIntl } from 'react-intl';
-import AccountContainer from 'flavours/glitch/containers/account_container';
-import StatusContainer from 'flavours/glitch/containers/status_container';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
+
import { ImmutableHashtag as Hashtag } from 'flavours/glitch/components/hashtag';
import { Icon } from 'flavours/glitch/components/icon';
-import { searchEnabled } from 'flavours/glitch/initial_state';
import LoadMore from 'flavours/glitch/components/load_more';
+import AccountContainer from 'flavours/glitch/containers/account_container';
+import StatusContainer from 'flavours/glitch/containers/status_container';
+import { searchEnabled } from 'flavours/glitch/initial_state';
const messages = defineMessages({
dismissSuggestion: { id: 'suggestions.dismiss', defaultMessage: 'Dismiss suggestion' },
diff --git a/app/javascript/flavours/glitch/features/compose/components/text_icon_button.jsx b/app/javascript/flavours/glitch/features/compose/components/text_icon_button.jsx
index ddb9923695..1967cef0da 100644
--- a/app/javascript/flavours/glitch/features/compose/components/text_icon_button.jsx
+++ b/app/javascript/flavours/glitch/features/compose/components/text_icon_button.jsx
@@ -1,5 +1,5 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
const iconStyle = {
height: null,
diff --git a/app/javascript/flavours/glitch/features/compose/components/textarea_icons.jsx b/app/javascript/flavours/glitch/features/compose/components/textarea_icons.jsx
index 4afc7ab925..6ef35fc3e3 100644
--- a/app/javascript/flavours/glitch/features/compose/components/textarea_icons.jsx
+++ b/app/javascript/flavours/glitch/features/compose/components/textarea_icons.jsx
@@ -1,7 +1,9 @@
// Package imports.
import PropTypes from 'prop-types';
-import ImmutablePropTypes from 'react-immutable-proptypes';
+
import { defineMessages, injectIntl } from 'react-intl';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
// Components.
diff --git a/app/javascript/flavours/glitch/features/compose/components/upload.jsx b/app/javascript/flavours/glitch/features/compose/components/upload.jsx
index dff365e839..b55657e912 100644
--- a/app/javascript/flavours/glitch/features/compose/components/upload.jsx
+++ b/app/javascript/flavours/glitch/features/compose/components/upload.jsx
@@ -1,11 +1,16 @@
-import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
-import Motion from '../../ui/util/optional_motion';
-import spring from 'react-motion/lib/spring';
-import ImmutablePureComponent from 'react-immutable-pure-component';
+
import { FormattedMessage } from 'react-intl';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+
+import spring from 'react-motion/lib/spring';
+
import { Icon } from 'flavours/glitch/components/icon';
+import Motion from '../../ui/util/optional_motion';
+
export default class Upload extends ImmutablePureComponent {
static contextTypes = {
diff --git a/app/javascript/flavours/glitch/features/compose/components/upload_form.jsx b/app/javascript/flavours/glitch/features/compose/components/upload_form.jsx
index 155ec27a10..a05bdac90f 100644
--- a/app/javascript/flavours/glitch/features/compose/components/upload_form.jsx
+++ b/app/javascript/flavours/glitch/features/compose/components/upload_form.jsx
@@ -1,8 +1,9 @@
import ImmutablePropTypes from 'react-immutable-proptypes';
-import UploadProgressContainer from '../containers/upload_progress_container';
import ImmutablePureComponent from 'react-immutable-pure-component';
-import UploadContainer from '../containers/upload_container';
+
import SensitiveButtonContainer from '../containers/sensitive_button_container';
+import UploadContainer from '../containers/upload_container';
+import UploadProgressContainer from '../containers/upload_progress_container';
export default class UploadForm extends ImmutablePureComponent {
diff --git a/app/javascript/flavours/glitch/features/compose/components/upload_progress.jsx b/app/javascript/flavours/glitch/features/compose/components/upload_progress.jsx
index a329e1c879..213c238c9b 100644
--- a/app/javascript/flavours/glitch/features/compose/components/upload_progress.jsx
+++ b/app/javascript/flavours/glitch/features/compose/components/upload_progress.jsx
@@ -1,10 +1,17 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import Motion from '../../ui/util/optional_motion';
-import spring from 'react-motion/lib/spring';
-import { Icon } from 'flavours/glitch/components/icon';
+import { PureComponent } from 'react';
+
import { FormattedMessage } from 'react-intl';
+import spring from 'react-motion/lib/spring';
+
+import { Icon } from 'flavours/glitch/components/icon';
+
+import Motion from '../../ui/util/optional_motion';
+
+
+
+
export default class UploadProgress extends PureComponent {
static propTypes = {
diff --git a/app/javascript/flavours/glitch/features/compose/components/warning.jsx b/app/javascript/flavours/glitch/features/compose/components/warning.jsx
index 4947a4e28b..e89c9eaa5c 100644
--- a/app/javascript/flavours/glitch/features/compose/components/warning.jsx
+++ b/app/javascript/flavours/glitch/features/compose/components/warning.jsx
@@ -1,8 +1,11 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import Motion from '../../ui/util/optional_motion';
+import { PureComponent } from 'react';
+
import spring from 'react-motion/lib/spring';
+import Motion from '../../ui/util/optional_motion';
+
+
export default class Warning extends PureComponent {
static propTypes = {
diff --git a/app/javascript/flavours/glitch/features/compose/containers/autosuggest_account_container.js b/app/javascript/flavours/glitch/features/compose/containers/autosuggest_account_container.js
index 0e1c328fe9..87362a4af4 100644
--- a/app/javascript/flavours/glitch/features/compose/containers/autosuggest_account_container.js
+++ b/app/javascript/flavours/glitch/features/compose/containers/autosuggest_account_container.js
@@ -1,7 +1,9 @@
import { connect } from 'react-redux';
-import AutosuggestAccount from '../components/autosuggest_account';
+
import { makeGetAccount } from 'flavours/glitch/selectors';
+import AutosuggestAccount from '../components/autosuggest_account';
+
const makeMapStateToProps = () => {
const getAccount = makeGetAccount();
diff --git a/app/javascript/flavours/glitch/features/compose/containers/compose_form_container.js b/app/javascript/flavours/glitch/features/compose/containers/compose_form_container.js
index ddcdb367a5..e01ea3497f 100644
--- a/app/javascript/flavours/glitch/features/compose/containers/compose_form_container.js
+++ b/app/javascript/flavours/glitch/features/compose/containers/compose_form_container.js
@@ -1,6 +1,7 @@
-import { connect } from 'react-redux';
import { defineMessages, injectIntl } from 'react-intl';
-import ComposeForm from '../components/compose_form';
+
+import { connect } from 'react-redux';
+
import {
changeCompose,
changeComposeSpoilerText,
@@ -13,13 +14,14 @@ import {
submitCompose,
uploadCompose,
} from 'flavours/glitch/actions/compose';
+import { changeLocalSetting } from 'flavours/glitch/actions/local_settings';
import {
openModal,
} from 'flavours/glitch/actions/modal';
-import { changeLocalSetting } from 'flavours/glitch/actions/local_settings';
-
import { privacyPreference } from 'flavours/glitch/utils/privacy_preference';
+import ComposeForm from '../components/compose_form';
+
const messages = defineMessages({
missingDescriptionMessage: {
id: 'confirmations.missing_media_description.message',
diff --git a/app/javascript/flavours/glitch/features/compose/containers/dropdown_container.js b/app/javascript/flavours/glitch/features/compose/containers/dropdown_container.js
index 3ac16505fc..e7fca2a651 100644
--- a/app/javascript/flavours/glitch/features/compose/containers/dropdown_container.js
+++ b/app/javascript/flavours/glitch/features/compose/containers/dropdown_container.js
@@ -1,6 +1,8 @@
import { connect } from 'react-redux';
-import { isUserTouching } from 'flavours/glitch/is_mobile';
+
import { openModal, closeModal } from 'flavours/glitch/actions/modal';
+import { isUserTouching } from 'flavours/glitch/is_mobile';
+
import Dropdown from '../components/dropdown';
const mapDispatchToProps = dispatch => ({
diff --git a/app/javascript/flavours/glitch/features/compose/containers/emoji_picker_dropdown_container.js b/app/javascript/flavours/glitch/features/compose/containers/emoji_picker_dropdown_container.js
index d2fe56103a..c06c52c14e 100644
--- a/app/javascript/flavours/glitch/features/compose/containers/emoji_picker_dropdown_container.js
+++ b/app/javascript/flavours/glitch/features/compose/containers/emoji_picker_dropdown_container.js
@@ -1,9 +1,11 @@
-import { connect } from 'react-redux';
-import EmojiPickerDropdown from '../components/emoji_picker_dropdown';
-import { changeSetting } from 'flavours/glitch/actions/settings';
-import { createSelector } from 'reselect';
import { Map as ImmutableMap } from 'immutable';
+import { connect } from 'react-redux';
+import { createSelector } from 'reselect';
+
import { useEmoji } from 'flavours/glitch/actions/emojis';
+import { changeSetting } from 'flavours/glitch/actions/settings';
+
+import EmojiPickerDropdown from '../components/emoji_picker_dropdown';
const perLine = 8;
const lines = 2;
diff --git a/app/javascript/flavours/glitch/features/compose/containers/header_container.js b/app/javascript/flavours/glitch/features/compose/containers/header_container.js
index e1ce19fb08..500dbaedd5 100644
--- a/app/javascript/flavours/glitch/features/compose/containers/header_container.js
+++ b/app/javascript/flavours/glitch/features/compose/containers/header_container.js
@@ -1,9 +1,12 @@
-import { openModal } from 'flavours/glitch/actions/modal';
-import { connect } from 'react-redux';
import { defineMessages, injectIntl } from 'react-intl';
-import Header from '../components/header';
+
+import { connect } from 'react-redux';
+
+import { openModal } from 'flavours/glitch/actions/modal';
import { logOut } from 'flavours/glitch/utils/log_out';
+import Header from '../components/header';
+
const messages = defineMessages({
logoutMessage: { id: 'confirmations.logout.message', defaultMessage: 'Are you sure you want to log out?' },
logoutConfirm: { id: 'confirmations.logout.confirm', defaultMessage: 'Log out' },
diff --git a/app/javascript/flavours/glitch/features/compose/containers/language_dropdown_container.js b/app/javascript/flavours/glitch/features/compose/containers/language_dropdown_container.js
index 7f07064c40..c9aed0722d 100644
--- a/app/javascript/flavours/glitch/features/compose/containers/language_dropdown_container.js
+++ b/app/javascript/flavours/glitch/features/compose/containers/language_dropdown_container.js
@@ -1,9 +1,12 @@
+import { Map as ImmutableMap } from 'immutable';
import { connect } from 'react-redux';
-import LanguageDropdown from '../components/language_dropdown';
+import { createSelector } from 'reselect';
+
import { changeComposeLanguage } from 'flavours/glitch/actions/compose';
import { useLanguage } from 'flavours/glitch/actions/languages';
-import { createSelector } from 'reselect';
-import { Map as ImmutableMap } from 'immutable';
+
+import LanguageDropdown from '../components/language_dropdown';
+
const getFrequentlyUsedLanguages = createSelector([
state => state.getIn(['settings', 'frequentlyUsedLanguages'], ImmutableMap()),
diff --git a/app/javascript/flavours/glitch/features/compose/containers/navigation_container.js b/app/javascript/flavours/glitch/features/compose/containers/navigation_container.js
index 89036adcd3..ed0fc42c22 100644
--- a/app/javascript/flavours/glitch/features/compose/containers/navigation_container.js
+++ b/app/javascript/flavours/glitch/features/compose/containers/navigation_container.js
@@ -1,9 +1,12 @@
-import { connect } from 'react-redux';
import { defineMessages, injectIntl } from 'react-intl';
-import NavigationBar from '../components/navigation_bar';
-import { logOut } from 'flavours/glitch/utils/log_out';
+
+import { connect } from 'react-redux';
+
import { openModal } from 'flavours/glitch/actions/modal';
import { me } from 'flavours/glitch/initial_state';
+import { logOut } from 'flavours/glitch/utils/log_out';
+
+import NavigationBar from '../components/navigation_bar';
const messages = defineMessages({
logoutMessage: { id: 'confirmations.logout.message', defaultMessage: 'Are you sure you want to log out?' },
diff --git a/app/javascript/flavours/glitch/features/compose/containers/options_container.js b/app/javascript/flavours/glitch/features/compose/containers/options_container.js
index 5b7ccc06b8..7494595346 100644
--- a/app/javascript/flavours/glitch/features/compose/containers/options_container.js
+++ b/app/javascript/flavours/glitch/features/compose/containers/options_container.js
@@ -1,5 +1,5 @@
import { connect } from 'react-redux';
-import Options from '../components/options';
+
import {
changeComposeAdvancedOption,
changeComposeContentType,
@@ -8,6 +8,8 @@ import {
} from 'flavours/glitch/actions/compose';
import { openModal } from 'flavours/glitch/actions/modal';
+import Options from '../components/options';
+
function mapStateToProps (state) {
const poll = state.getIn(['compose', 'poll']);
const media = state.getIn(['compose', 'media_attachments']);
diff --git a/app/javascript/flavours/glitch/features/compose/containers/poll_form_container.js b/app/javascript/flavours/glitch/features/compose/containers/poll_form_container.js
index 14038b3e8c..cc8f341a3a 100644
--- a/app/javascript/flavours/glitch/features/compose/containers/poll_form_container.js
+++ b/app/javascript/flavours/glitch/features/compose/containers/poll_form_container.js
@@ -1,5 +1,5 @@
import { connect } from 'react-redux';
-import PollForm from '../components/poll_form';
+
import {
addPollOption,
removePollOption,
@@ -10,6 +10,8 @@ import {
selectComposeSuggestion,
} from 'flavours/glitch/actions/compose';
+import PollForm from '../components/poll_form';
+
const mapStateToProps = state => ({
suggestions: state.getIn(['compose', 'suggestions']),
options: state.getIn(['compose', 'poll', 'options']),
diff --git a/app/javascript/flavours/glitch/features/compose/containers/privacy_dropdown_container.js b/app/javascript/flavours/glitch/features/compose/containers/privacy_dropdown_container.js
index 5591d89c46..3e9ad63a07 100644
--- a/app/javascript/flavours/glitch/features/compose/containers/privacy_dropdown_container.js
+++ b/app/javascript/flavours/glitch/features/compose/containers/privacy_dropdown_container.js
@@ -1,9 +1,11 @@
import { connect } from 'react-redux';
-import PrivacyDropdown from '../components/privacy_dropdown';
+
import { changeComposeVisibility } from 'flavours/glitch/actions/compose';
import { openModal, closeModal } from 'flavours/glitch/actions/modal';
import { isUserTouching } from 'flavours/glitch/is_mobile';
+import PrivacyDropdown from '../components/privacy_dropdown';
+
const mapStateToProps = state => ({
value: state.getIn(['compose', 'privacy']),
});
diff --git a/app/javascript/flavours/glitch/features/compose/containers/reply_indicator_container.js b/app/javascript/flavours/glitch/features/compose/containers/reply_indicator_container.js
index dd6899be41..61012bcb1e 100644
--- a/app/javascript/flavours/glitch/features/compose/containers/reply_indicator_container.js
+++ b/app/javascript/flavours/glitch/features/compose/containers/reply_indicator_container.js
@@ -1,5 +1,7 @@
import { connect } from 'react-redux';
+
import { cancelReplyCompose } from 'flavours/glitch/actions/compose';
+
import ReplyIndicator from '../components/reply_indicator';
const makeMapStateToProps = () => {
diff --git a/app/javascript/flavours/glitch/features/compose/containers/search_container.js b/app/javascript/flavours/glitch/features/compose/containers/search_container.js
index 8f4bfcf088..8280d962b3 100644
--- a/app/javascript/flavours/glitch/features/compose/containers/search_container.js
+++ b/app/javascript/flavours/glitch/features/compose/containers/search_container.js
@@ -1,10 +1,12 @@
import { connect } from 'react-redux';
+
import {
changeSearch,
clearSearch,
submitSearch,
showSearch,
} from 'flavours/glitch/actions/search';
+
import Search from '../components/search';
const mapStateToProps = state => ({
diff --git a/app/javascript/flavours/glitch/features/compose/containers/search_results_container.js b/app/javascript/flavours/glitch/features/compose/containers/search_results_container.js
index 5c2c1be232..7287a022b4 100644
--- a/app/javascript/flavours/glitch/features/compose/containers/search_results_container.js
+++ b/app/javascript/flavours/glitch/features/compose/containers/search_results_container.js
@@ -1,7 +1,9 @@
import { connect } from 'react-redux';
-import SearchResults from '../components/search_results';
-import { fetchSuggestions, dismissSuggestion } from 'flavours/glitch/actions/suggestions';
+
import { expandSearch } from 'flavours/glitch/actions/search';
+import { fetchSuggestions, dismissSuggestion } from 'flavours/glitch/actions/suggestions';
+
+import SearchResults from '../components/search_results';
const mapStateToProps = state => ({
results: state.getIn(['search', 'results']),
diff --git a/app/javascript/flavours/glitch/features/compose/containers/sensitive_button_container.jsx b/app/javascript/flavours/glitch/features/compose/containers/sensitive_button_container.jsx
index 8a771cdecb..f763c520b0 100644
--- a/app/javascript/flavours/glitch/features/compose/containers/sensitive_button_container.jsx
+++ b/app/javascript/flavours/glitch/features/compose/containers/sensitive_button_container.jsx
@@ -1,10 +1,15 @@
-import { PureComponent } from 'react';
-import { connect } from 'react-redux';
import PropTypes from 'prop-types';
-import classNames from 'classnames';
-import { changeComposeSensitivity } from 'flavours/glitch/actions/compose';
+import { PureComponent } from 'react';
+
import { injectIntl, defineMessages, FormattedMessage } from 'react-intl';
+import classNames from 'classnames';
+
+import { connect } from 'react-redux';
+
+import { changeComposeSensitivity } from 'flavours/glitch/actions/compose';
+
+
const messages = defineMessages({
marked: {
id: 'compose_form.sensitive.marked',
diff --git a/app/javascript/flavours/glitch/features/compose/containers/upload_container.js b/app/javascript/flavours/glitch/features/compose/containers/upload_container.js
index 2189c870b1..006506f169 100644
--- a/app/javascript/flavours/glitch/features/compose/containers/upload_container.js
+++ b/app/javascript/flavours/glitch/features/compose/containers/upload_container.js
@@ -1,7 +1,9 @@
import { connect } from 'react-redux';
-import Upload from '../components/upload';
+
import { undoUploadCompose, initMediaEditModal, submitCompose } from 'flavours/glitch/actions/compose';
+import Upload from '../components/upload';
+
const mapStateToProps = (state, { id }) => ({
media: state.getIn(['compose', 'media_attachments']).find(item => item.get('id') === id),
});
diff --git a/app/javascript/flavours/glitch/features/compose/containers/upload_form_container.js b/app/javascript/flavours/glitch/features/compose/containers/upload_form_container.js
index a6798bf512..336525cf53 100644
--- a/app/javascript/flavours/glitch/features/compose/containers/upload_form_container.js
+++ b/app/javascript/flavours/glitch/features/compose/containers/upload_form_container.js
@@ -1,4 +1,5 @@
import { connect } from 'react-redux';
+
import UploadForm from '../components/upload_form';
const mapStateToProps = state => ({
diff --git a/app/javascript/flavours/glitch/features/compose/containers/upload_progress_container.js b/app/javascript/flavours/glitch/features/compose/containers/upload_progress_container.js
index b18c76a43f..ffff321c3f 100644
--- a/app/javascript/flavours/glitch/features/compose/containers/upload_progress_container.js
+++ b/app/javascript/flavours/glitch/features/compose/containers/upload_progress_container.js
@@ -1,4 +1,5 @@
import { connect } from 'react-redux';
+
import UploadProgress from '../components/upload_progress';
const mapStateToProps = state => ({
diff --git a/app/javascript/flavours/glitch/features/compose/containers/warning_container.jsx b/app/javascript/flavours/glitch/features/compose/containers/warning_container.jsx
index 7e8ec2b04e..f7c3fc3e19 100644
--- a/app/javascript/flavours/glitch/features/compose/containers/warning_container.jsx
+++ b/app/javascript/flavours/glitch/features/compose/containers/warning_container.jsx
@@ -1,10 +1,14 @@
-import { connect } from 'react-redux';
-import Warning from '../components/warning';
import PropTypes from 'prop-types';
+
import { FormattedMessage } from 'react-intl';
+
+import { connect } from 'react-redux';
+
import { me } from 'flavours/glitch/initial_state';
import { profileLink, privacyPolicyLink } from 'flavours/glitch/utils/backend_links';
+import Warning from '../components/warning';
+
const buildHashtagRE = () => {
try {
const HASHTAG_SEPARATORS = '_\\u00b7\\u200c';
diff --git a/app/javascript/flavours/glitch/features/compose/index.jsx b/app/javascript/flavours/glitch/features/compose/index.jsx
index 99f2579f7f..d0676af678 100644
--- a/app/javascript/flavours/glitch/features/compose/index.jsx
+++ b/app/javascript/flavours/glitch/features/compose/index.jsx
@@ -1,20 +1,31 @@
-import { PureComponent } from 'react';
-import ComposeFormContainer from './containers/compose_form_container';
-import NavigationContainer from './containers/navigation_container';
import PropTypes from 'prop-types';
-import { connect } from 'react-redux';
-import { mountCompose, unmountCompose, cycleElefriendCompose } from 'flavours/glitch/actions/compose';
+import { PureComponent } from 'react';
+
import { injectIntl, defineMessages } from 'react-intl';
+
import classNames from 'classnames';
-import SearchContainer from './containers/search_container';
-import Motion from '../ui/util/optional_motion';
-import spring from 'react-motion/lib/spring';
-import SearchResultsContainer from './containers/search_results_container';
-import { mascot } from 'flavours/glitch/initial_state';
-import HeaderContainer from './containers/header_container';
-import Column from 'flavours/glitch/components/column';
import { Helmet } from 'react-helmet';
+import { connect } from 'react-redux';
+
+import spring from 'react-motion/lib/spring';
+
+import { mountCompose, unmountCompose, cycleElefriendCompose } from 'flavours/glitch/actions/compose';
+import Column from 'flavours/glitch/components/column';
+import { mascot } from 'flavours/glitch/initial_state';
+
+import Motion from '../ui/util/optional_motion';
+
+import ComposeFormContainer from './containers/compose_form_container';
+import HeaderContainer from './containers/header_container';
+import NavigationContainer from './containers/navigation_container';
+import SearchContainer from './containers/search_container';
+import SearchResultsContainer from './containers/search_results_container';
+
+
+
+
+
const messages = defineMessages({
compose: { id: 'navigation_bar.compose', defaultMessage: 'Compose new post' },
});
diff --git a/app/javascript/flavours/glitch/features/compose/util/url_regex.js b/app/javascript/flavours/glitch/features/compose/util/url_regex.js
index 9c2005c53d..887612ae30 100644
--- a/app/javascript/flavours/glitch/features/compose/util/url_regex.js
+++ b/app/javascript/flavours/glitch/features/compose/util/url_regex.js
@@ -1,8 +1,8 @@
import regexSupplant from 'twitter-text/dist/lib/regexSupplant';
-import validUrlPrecedingChars from 'twitter-text/dist/regexp/validUrlPrecedingChars';
import validDomain from 'twitter-text/dist/regexp/validDomain';
import validPortNumber from 'twitter-text/dist/regexp/validPortNumber';
import validUrlPath from 'twitter-text/dist/regexp/validUrlPath';
+import validUrlPrecedingChars from 'twitter-text/dist/regexp/validUrlPrecedingChars';
import validUrlQueryChars from 'twitter-text/dist/regexp/validUrlQueryChars';
import validUrlQueryEndingChars from 'twitter-text/dist/regexp/validUrlQueryEndingChars';
diff --git a/app/javascript/flavours/glitch/features/direct_timeline/components/column_settings.jsx b/app/javascript/flavours/glitch/features/direct_timeline/components/column_settings.jsx
index 017159cf63..9c8e23ce73 100644
--- a/app/javascript/flavours/glitch/features/direct_timeline/components/column_settings.jsx
+++ b/app/javascript/flavours/glitch/features/direct_timeline/components/column_settings.jsx
@@ -1,8 +1,12 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import ImmutablePropTypes from 'react-immutable-proptypes';
+import { PureComponent } from 'react';
+
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+
import SettingToggle from 'flavours/glitch/features/notifications/components/setting_toggle';
+
import SettingText from '../../../components/setting_text';
const messages = defineMessages({
diff --git a/app/javascript/flavours/glitch/features/direct_timeline/components/conversation.jsx b/app/javascript/flavours/glitch/features/direct_timeline/components/conversation.jsx
index 2c3fa23afd..c086fca050 100644
--- a/app/javascript/flavours/glitch/features/direct_timeline/components/conversation.jsx
+++ b/app/javascript/flavours/glitch/features/direct_timeline/components/conversation.jsx
@@ -1,17 +1,23 @@
import PropTypes from 'prop-types';
+
+import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
+import classNames from 'classnames';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
-import StatusContent from 'flavours/glitch/components/status_content';
-import AttachmentList from 'flavours/glitch/components/attachment_list';
-import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
-import DropdownMenuContainer from 'flavours/glitch/containers/dropdown_menu_container';
-import AvatarComposite from 'flavours/glitch/components/avatar_composite';
-import Permalink from 'flavours/glitch/components/permalink';
-import { IconButton } from 'flavours/glitch/components/icon_button';
-import { RelativeTimestamp } from 'flavours/glitch/components/relative_timestamp';
+
import { HotKeys } from 'react-hotkeys';
+
+import AttachmentList from 'flavours/glitch/components/attachment_list';
+import AvatarComposite from 'flavours/glitch/components/avatar_composite';
+import { IconButton } from 'flavours/glitch/components/icon_button';
+import Permalink from 'flavours/glitch/components/permalink';
+import { RelativeTimestamp } from 'flavours/glitch/components/relative_timestamp';
+import StatusContent from 'flavours/glitch/components/status_content';
+import DropdownMenuContainer from 'flavours/glitch/containers/dropdown_menu_container';
import { autoPlayGif } from 'flavours/glitch/initial_state';
-import classNames from 'classnames';
+
const messages = defineMessages({
more: { id: 'status.more', defaultMessage: 'More' },
diff --git a/app/javascript/flavours/glitch/features/direct_timeline/components/conversations_list.jsx b/app/javascript/flavours/glitch/features/direct_timeline/components/conversations_list.jsx
index 5b5d636a14..03e523bfd6 100644
--- a/app/javascript/flavours/glitch/features/direct_timeline/components/conversations_list.jsx
+++ b/app/javascript/flavours/glitch/features/direct_timeline/components/conversations_list.jsx
@@ -1,10 +1,14 @@
import PropTypes from 'prop-types';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
-import ConversationContainer from '../containers/conversation_container';
-import ScrollableList from 'flavours/glitch/components/scrollable_list';
+
import { debounce } from 'lodash';
+import ScrollableList from 'flavours/glitch/components/scrollable_list';
+
+import ConversationContainer from '../containers/conversation_container';
+
export default class ConversationsList extends ImmutablePureComponent {
static propTypes = {
diff --git a/app/javascript/flavours/glitch/features/direct_timeline/containers/column_settings_container.js b/app/javascript/flavours/glitch/features/direct_timeline/containers/column_settings_container.js
index 6385d30a43..d7ccaae3ec 100644
--- a/app/javascript/flavours/glitch/features/direct_timeline/containers/column_settings_container.js
+++ b/app/javascript/flavours/glitch/features/direct_timeline/containers/column_settings_container.js
@@ -1,7 +1,9 @@
import { connect } from 'react-redux';
-import ColumnSettings from '../components/column_settings';
+
import { changeSetting } from 'flavours/glitch/actions/settings';
+import ColumnSettings from '../components/column_settings';
+
const mapStateToProps = state => ({
settings: state.getIn(['settings', 'direct']),
});
diff --git a/app/javascript/flavours/glitch/features/direct_timeline/containers/conversation_container.js b/app/javascript/flavours/glitch/features/direct_timeline/containers/conversation_container.js
index f5e5946e3b..c87a08df12 100644
--- a/app/javascript/flavours/glitch/features/direct_timeline/containers/conversation_container.js
+++ b/app/javascript/flavours/glitch/features/direct_timeline/containers/conversation_container.js
@@ -1,11 +1,14 @@
+import { defineMessages, injectIntl } from 'react-intl';
+
import { connect } from 'react-redux';
-import Conversation from '../components/conversation';
-import { markConversationRead, deleteConversation } from 'flavours/glitch/actions/conversations';
-import { makeGetStatus } from 'flavours/glitch/selectors';
+
import { replyCompose } from 'flavours/glitch/actions/compose';
+import { markConversationRead, deleteConversation } from 'flavours/glitch/actions/conversations';
import { openModal } from 'flavours/glitch/actions/modal';
import { muteStatus, unmuteStatus, hideStatus, revealStatus } from 'flavours/glitch/actions/statuses';
-import { defineMessages, injectIntl } from 'react-intl';
+import { makeGetStatus } from 'flavours/glitch/selectors';
+
+import Conversation from '../components/conversation';
const messages = defineMessages({
replyConfirm: { id: 'confirmations.reply.confirm', defaultMessage: 'Reply' },
diff --git a/app/javascript/flavours/glitch/features/direct_timeline/containers/conversations_list_container.js b/app/javascript/flavours/glitch/features/direct_timeline/containers/conversations_list_container.js
index e10558f3ab..d0298c7233 100644
--- a/app/javascript/flavours/glitch/features/direct_timeline/containers/conversations_list_container.js
+++ b/app/javascript/flavours/glitch/features/direct_timeline/containers/conversations_list_container.js
@@ -1,7 +1,9 @@
import { connect } from 'react-redux';
-import ConversationsList from '../components/conversations_list';
+
import { expandConversations } from 'flavours/glitch/actions/conversations';
+import ConversationsList from '../components/conversations_list';
+
const mapStateToProps = state => ({
conversations: state.getIn(['conversations', 'items']),
isLoading: state.getIn(['conversations', 'isLoading'], true),
diff --git a/app/javascript/flavours/glitch/features/direct_timeline/index.jsx b/app/javascript/flavours/glitch/features/direct_timeline/index.jsx
index 14abca5d83..315a5ee107 100644
--- a/app/javascript/flavours/glitch/features/direct_timeline/index.jsx
+++ b/app/javascript/flavours/glitch/features/direct_timeline/index.jsx
@@ -1,8 +1,12 @@
import PropTypes from 'prop-types';
import { PureComponent } from 'react';
-import { Helmet } from 'react-helmet';
+
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
+import { Helmet } from 'react-helmet';
+
import { connect } from 'react-redux';
+
import { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';
import { mountConversations, unmountConversations, expandConversations } from 'flavours/glitch/actions/conversations';
import { connectDirectStream } from 'flavours/glitch/actions/streaming';
@@ -10,6 +14,7 @@ import { expandDirectTimeline } from 'flavours/glitch/actions/timelines';
import Column from 'flavours/glitch/components/column';
import ColumnHeader from 'flavours/glitch/components/column_header';
import StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container';
+
import ColumnSettingsContainer from './containers/column_settings_container';
import ConversationsListContainer from './containers/conversations_list_container';
diff --git a/app/javascript/flavours/glitch/features/directory/components/account_card.jsx b/app/javascript/flavours/glitch/features/directory/components/account_card.jsx
index 1f8a632963..989569f45b 100644
--- a/app/javascript/flavours/glitch/features/directory/components/account_card.jsx
+++ b/app/javascript/flavours/glitch/features/directory/components/account_card.jsx
@@ -1,16 +1,13 @@
-import ImmutablePureComponent from 'react-immutable-pure-component';
-import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
-import { connect } from 'react-redux';
-import { makeGetAccount } from 'flavours/glitch/selectors';
-import { Avatar } from 'flavours/glitch/components/avatar';
-import { DisplayName } from 'flavours/glitch/components/display_name';
-import Permalink from 'flavours/glitch/components/permalink';
-import { IconButton } from 'flavours/glitch/components/icon_button';
-import Button from 'flavours/glitch/components/button';
+
import { FormattedMessage, injectIntl, defineMessages } from 'react-intl';
-import { autoPlayGif, me, unfollowModal } from 'flavours/glitch/initial_state';
-import ShortNumber from 'flavours/glitch/components/short_number';
+
+import classNames from 'classnames';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+import { connect } from 'react-redux';
+
import {
followAccount,
unfollowAccount,
@@ -18,7 +15,15 @@ import {
unmuteAccount,
} from 'flavours/glitch/actions/accounts';
import { openModal } from 'flavours/glitch/actions/modal';
-import classNames from 'classnames';
+import { Avatar } from 'flavours/glitch/components/avatar';
+import Button from 'flavours/glitch/components/button';
+import { DisplayName } from 'flavours/glitch/components/display_name';
+import { IconButton } from 'flavours/glitch/components/icon_button';
+import Permalink from 'flavours/glitch/components/permalink';
+import ShortNumber from 'flavours/glitch/components/short_number';
+import { autoPlayGif, me, unfollowModal } from 'flavours/glitch/initial_state';
+import { makeGetAccount } from 'flavours/glitch/selectors';
+
const messages = defineMessages({
unfollow: { id: 'account.unfollow', defaultMessage: 'Unfollow' },
diff --git a/app/javascript/flavours/glitch/features/directory/index.jsx b/app/javascript/flavours/glitch/features/directory/index.jsx
index fcbce3bf01..9c16e4cc4d 100644
--- a/app/javascript/flavours/glitch/features/directory/index.jsx
+++ b/app/javascript/flavours/glitch/features/directory/index.jsx
@@ -1,19 +1,25 @@
-import { PureComponent } from 'react';
-import { connect } from 'react-redux';
-import { defineMessages, injectIntl } from 'react-intl';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
+import { defineMessages, injectIntl } from 'react-intl';
+
+import { Helmet } from 'react-helmet';
+
+import { List as ImmutableList } from 'immutable';
import ImmutablePropTypes from 'react-immutable-proptypes';
-import Column from 'flavours/glitch/components/column';
-import ColumnHeader from 'flavours/glitch/components/column_header';
+import { connect } from 'react-redux';
+
import { addColumn, removeColumn, moveColumn, changeColumnParams } from 'flavours/glitch/actions/columns';
import { fetchDirectory, expandDirectory } from 'flavours/glitch/actions/directory';
-import { List as ImmutableList } from 'immutable';
-import AccountCard from './components/account_card';
-import { RadioButton } from 'flavours/glitch/components/radio_button';
+import Column from 'flavours/glitch/components/column';
+import ColumnHeader from 'flavours/glitch/components/column_header';
import LoadMore from 'flavours/glitch/components/load_more';
-import ScrollContainer from 'flavours/glitch/containers/scroll_container';
import LoadingIndicator from 'flavours/glitch/components/loading_indicator';
-import { Helmet } from 'react-helmet';
+import { RadioButton } from 'flavours/glitch/components/radio_button';
+import ScrollContainer from 'flavours/glitch/containers/scroll_container';
+
+import AccountCard from './components/account_card';
+
const messages = defineMessages({
title: { id: 'column.directory', defaultMessage: 'Browse profiles' },
diff --git a/app/javascript/flavours/glitch/features/domain_blocks/index.jsx b/app/javascript/flavours/glitch/features/domain_blocks/index.jsx
index 771906c678..c7be4d9338 100644
--- a/app/javascript/flavours/glitch/features/domain_blocks/index.jsx
+++ b/app/javascript/flavours/glitch/features/domain_blocks/index.jsx
@@ -1,17 +1,27 @@
-import { connect } from 'react-redux';
-import ImmutablePropTypes from 'react-immutable-proptypes';
-import { debounce } from 'lodash';
import PropTypes from 'prop-types';
-import LoadingIndicator from '../../components/loading_indicator';
-import Column from '../ui/components/column';
-import ColumnBackButtonSlim from '../../components/column_back_button_slim';
-import DomainContainer from '../../containers/domain_container';
-import { fetchDomainBlocks, expandDomainBlocks } from '../../actions/domain_blocks';
+
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
-import ImmutablePureComponent from 'react-immutable-pure-component';
-import ScrollableList from 'flavours/glitch/components/scrollable_list';
+
import { Helmet } from 'react-helmet';
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+import { connect } from 'react-redux';
+
+import { debounce } from 'lodash';
+
+import ScrollableList from 'flavours/glitch/components/scrollable_list';
+
+import { fetchDomainBlocks, expandDomainBlocks } from '../../actions/domain_blocks';
+import ColumnBackButtonSlim from '../../components/column_back_button_slim';
+import LoadingIndicator from '../../components/loading_indicator';
+import DomainContainer from '../../containers/domain_container';
+import Column from '../ui/components/column';
+
+
+
+
+
const messages = defineMessages({
heading: { id: 'column.domain_blocks', defaultMessage: 'Blocked domains' },
unblockDomain: { id: 'account.unblock_domain', defaultMessage: 'Unblock domain {domain}' },
diff --git a/app/javascript/flavours/glitch/features/emoji/emoji.js b/app/javascript/flavours/glitch/features/emoji/emoji.js
index b058db522a..465966f87c 100644
--- a/app/javascript/flavours/glitch/features/emoji/emoji.js
+++ b/app/javascript/flavours/glitch/features/emoji/emoji.js
@@ -1,8 +1,10 @@
-import { autoPlayGif, useSystemEmojiFont } from 'flavours/glitch/initial_state';
-import unicodeMapping from './emoji_unicode_mapping_light';
-import { assetHost } from 'flavours/glitch/utils/config';
import Trie from 'substring-trie';
+import { autoPlayGif, useSystemEmojiFont } from 'flavours/glitch/initial_state';
+import { assetHost } from 'flavours/glitch/utils/config';
+
+import unicodeMapping from './emoji_unicode_mapping_light';
+
const trie = new Trie(Object.keys(unicodeMapping));
// Convert to file names from emojis. (For different variation selector emojis)
diff --git a/app/javascript/flavours/glitch/features/emoji/emoji_compressed.js b/app/javascript/flavours/glitch/features/emoji/emoji_compressed.js
index 0ed18b6a44..bd3d8937d8 100644
--- a/app/javascript/flavours/glitch/features/emoji/emoji_compressed.js
+++ b/app/javascript/flavours/glitch/features/emoji/emoji_compressed.js
@@ -7,13 +7,14 @@
// It's designed to be emitted in an array format to take up less space
// over the wire.
-const { unicodeToFilename } = require('./unicode_to_filename');
-const { unicodeToUnifiedName } = require('./unicode_to_unified_name');
-const emojiMap = require('./emoji_map.json');
const { emojiIndex } = require('emoji-mart');
+let data = require('emoji-mart/data/all.json');
const { uncompress: emojiMartUncompress } = require('emoji-mart/dist/utils/data');
-let data = require('emoji-mart/data/all.json');
+const emojiMap = require('./emoji_map.json');
+const { unicodeToFilename } = require('./unicode_to_filename');
+const { unicodeToUnifiedName } = require('./unicode_to_unified_name');
+
if(data.compressed) {
data = emojiMartUncompress(data);
diff --git a/app/javascript/flavours/glitch/features/emoji/emoji_mart_data_light.js b/app/javascript/flavours/glitch/features/emoji/emoji_mart_data_light.js
index 000aeb0de4..11698937c0 100644
--- a/app/javascript/flavours/glitch/features/emoji/emoji_mart_data_light.js
+++ b/app/javascript/flavours/glitch/features/emoji/emoji_mart_data_light.js
@@ -1,8 +1,8 @@
// The output of this module is designed to mimic emoji-mart's
// "data" object, such that we can use it for a light version of emoji-mart's
// emojiIndex.search functionality.
-import { unicodeToUnifiedName } from './unicode_to_unified_name';
import emojiCompressed from './emoji_compressed';
+import { unicodeToUnifiedName } from './unicode_to_unified_name';
const [ shortCodesToEmojiData, skins, categories, short_names ] = emojiCompressed;
diff --git a/app/javascript/flavours/glitch/features/emoji/emoji_picker.js b/app/javascript/flavours/glitch/features/emoji/emoji_picker.js
index 044d38cb2b..8725d39ecd 100644
--- a/app/javascript/flavours/glitch/features/emoji/emoji_picker.js
+++ b/app/javascript/flavours/glitch/features/emoji/emoji_picker.js
@@ -1,5 +1,5 @@
-import Picker from 'emoji-mart/dist-es/components/picker/picker';
import Emoji from 'emoji-mart/dist-es/components/emoji/emoji';
+import Picker from 'emoji-mart/dist-es/components/picker/picker';
export {
Picker,
diff --git a/app/javascript/flavours/glitch/features/emoji/emoji_unicode_mapping_light.js b/app/javascript/flavours/glitch/features/emoji/emoji_unicode_mapping_light.js
index 30fbd9e349..3e3834580d 100644
--- a/app/javascript/flavours/glitch/features/emoji/emoji_unicode_mapping_light.js
+++ b/app/javascript/flavours/glitch/features/emoji/emoji_unicode_mapping_light.js
@@ -3,7 +3,6 @@
// as a "title" attribute in an HTML element (aka tooltip).
import emojiCompressed from './emoji_compressed';
-
import { unicodeToFilename } from './unicode_to_filename';
const [
diff --git a/app/javascript/flavours/glitch/features/explore/components/story.jsx b/app/javascript/flavours/glitch/features/explore/components/story.jsx
index 0df5418192..05590441f5 100644
--- a/app/javascript/flavours/glitch/features/explore/components/story.jsx
+++ b/app/javascript/flavours/glitch/features/explore/components/story.jsx
@@ -1,10 +1,13 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
+import classNames from 'classnames';
+
import { Blurhash } from 'flavours/glitch/components/blurhash';
import { accountsCountRenderer } from 'flavours/glitch/components/hashtag';
import ShortNumber from 'flavours/glitch/components/short_number';
import { Skeleton } from 'flavours/glitch/components/skeleton';
-import classNames from 'classnames';
+
export default class Story extends PureComponent {
diff --git a/app/javascript/flavours/glitch/features/explore/index.jsx b/app/javascript/flavours/glitch/features/explore/index.jsx
index 4906819246..a6e153addc 100644
--- a/app/javascript/flavours/glitch/features/explore/index.jsx
+++ b/app/javascript/flavours/glitch/features/explore/index.jsx
@@ -1,18 +1,25 @@
-import { PureComponent } from 'react';
-import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
-import { connect } from 'react-redux';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
+import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
+import { Helmet } from 'react-helmet';
+import { NavLink, Switch, Route } from 'react-router-dom';
+
+import { connect } from 'react-redux';
+
import Column from 'flavours/glitch/components/column';
import ColumnHeader from 'flavours/glitch/components/column_header';
-import { NavLink, Switch, Route } from 'react-router-dom';
+import Search from 'flavours/glitch/features/compose/containers/search_container';
+import { showTrends } from 'flavours/glitch/initial_state';
+
import Links from './links';
-import Tags from './tags';
+import SearchResults from './results';
import Statuses from './statuses';
import Suggestions from './suggestions';
-import Search from 'flavours/glitch/features/compose/containers/search_container';
-import SearchResults from './results';
-import { showTrends } from 'flavours/glitch/initial_state';
-import { Helmet } from 'react-helmet';
+import Tags from './tags';
+
+
const messages = defineMessages({
title: { id: 'explore.title', defaultMessage: 'Explore' },
diff --git a/app/javascript/flavours/glitch/features/explore/links.jsx b/app/javascript/flavours/glitch/features/explore/links.jsx
index 557a4bd840..fd80ecb93f 100644
--- a/app/javascript/flavours/glitch/features/explore/links.jsx
+++ b/app/javascript/flavours/glitch/features/explore/links.jsx
@@ -1,12 +1,16 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import ImmutablePropTypes from 'react-immutable-proptypes';
-import Story from './components/story';
-import LoadingIndicator from 'flavours/glitch/components/loading_indicator';
-import { connect } from 'react-redux';
-import { fetchTrendingLinks } from 'flavours/glitch/actions/trends';
+import { PureComponent } from 'react';
+
import { FormattedMessage } from 'react-intl';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import { connect } from 'react-redux';
+
+import { fetchTrendingLinks } from 'flavours/glitch/actions/trends';
import DismissableBanner from 'flavours/glitch/components/dismissable_banner';
+import LoadingIndicator from 'flavours/glitch/components/loading_indicator';
+
+import Story from './components/story';
const mapStateToProps = state => ({
links: state.getIn(['trends', 'links', 'items']),
diff --git a/app/javascript/flavours/glitch/features/explore/results.jsx b/app/javascript/flavours/glitch/features/explore/results.jsx
index dc85a1cabe..601e375a73 100644
--- a/app/javascript/flavours/glitch/features/explore/results.jsx
+++ b/app/javascript/flavours/glitch/features/explore/results.jsx
@@ -1,16 +1,22 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import ImmutablePropTypes from 'react-immutable-proptypes';
+import { PureComponent } from 'react';
+
import { injectIntl, defineMessages, FormattedMessage } from 'react-intl';
-import { connect } from 'react-redux';
-import { expandSearch } from 'flavours/glitch/actions/search';
-import Account from 'flavours/glitch/containers/account_container';
-import Status from 'flavours/glitch/containers/status_container';
-import { ImmutableHashtag as Hashtag } from 'flavours/glitch/components/hashtag';
+
+import { Helmet } from 'react-helmet';
+
import { List as ImmutableList } from 'immutable';
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import { connect } from 'react-redux';
+
+import { expandSearch } from 'flavours/glitch/actions/search';
+import { ImmutableHashtag as Hashtag } from 'flavours/glitch/components/hashtag';
import LoadMore from 'flavours/glitch/components/load_more';
import LoadingIndicator from 'flavours/glitch/components/loading_indicator';
-import { Helmet } from 'react-helmet';
+import Account from 'flavours/glitch/containers/account_container';
+import Status from 'flavours/glitch/containers/status_container';
+
+
const messages = defineMessages({
title: { id: 'search_results.title', defaultMessage: 'Search for {q}' },
diff --git a/app/javascript/flavours/glitch/features/explore/statuses.jsx b/app/javascript/flavours/glitch/features/explore/statuses.jsx
index 5f336d18e8..212980c28f 100644
--- a/app/javascript/flavours/glitch/features/explore/statuses.jsx
+++ b/app/javascript/flavours/glitch/features/explore/statuses.jsx
@@ -1,12 +1,16 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import ImmutablePropTypes from 'react-immutable-proptypes';
-import StatusList from 'flavours/glitch/components/status_list';
+import { PureComponent } from 'react';
+
import { FormattedMessage } from 'react-intl';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
import { connect } from 'react-redux';
-import { fetchTrendingStatuses, expandTrendingStatuses } from 'flavours/glitch/actions/trends';
+
import { debounce } from 'lodash';
+
+import { fetchTrendingStatuses, expandTrendingStatuses } from 'flavours/glitch/actions/trends';
import DismissableBanner from 'flavours/glitch/components/dismissable_banner';
+import StatusList from 'flavours/glitch/components/status_list';
const mapStateToProps = state => ({
statusIds: state.getIn(['status_lists', 'trending', 'items']),
diff --git a/app/javascript/flavours/glitch/features/explore/suggestions.jsx b/app/javascript/flavours/glitch/features/explore/suggestions.jsx
index cdc6955245..286e27a77a 100644
--- a/app/javascript/flavours/glitch/features/explore/suggestions.jsx
+++ b/app/javascript/flavours/glitch/features/explore/suggestions.jsx
@@ -1,12 +1,17 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import ImmutablePropTypes from 'react-immutable-proptypes';
-import AccountCard from 'flavours/glitch/features/directory/components/account_card';
-import LoadingIndicator from 'flavours/glitch/components/loading_indicator';
-import { connect } from 'react-redux';
-import { fetchSuggestions, dismissSuggestion } from 'flavours/glitch/actions/suggestions';
+import { PureComponent } from 'react';
+
import { FormattedMessage } from 'react-intl';
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import { connect } from 'react-redux';
+
+import { fetchSuggestions, dismissSuggestion } from 'flavours/glitch/actions/suggestions';
+import LoadingIndicator from 'flavours/glitch/components/loading_indicator';
+import AccountCard from 'flavours/glitch/features/directory/components/account_card';
+
+
+
const mapStateToProps = state => ({
suggestions: state.getIn(['suggestions', 'items']),
isLoading: state.getIn(['suggestions', 'isLoading']),
diff --git a/app/javascript/flavours/glitch/features/explore/tags.jsx b/app/javascript/flavours/glitch/features/explore/tags.jsx
index 78563a3eec..c79543dd5f 100644
--- a/app/javascript/flavours/glitch/features/explore/tags.jsx
+++ b/app/javascript/flavours/glitch/features/explore/tags.jsx
@@ -1,12 +1,17 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
+import { FormattedMessage } from 'react-intl';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
+import { connect } from 'react-redux';
+
+import { fetchTrendingHashtags } from 'flavours/glitch/actions/trends';
+import DismissableBanner from 'flavours/glitch/components/dismissable_banner';
import { ImmutableHashtag as Hashtag } from 'flavours/glitch/components/hashtag';
import LoadingIndicator from 'flavours/glitch/components/loading_indicator';
-import { connect } from 'react-redux';
-import { fetchTrendingHashtags } from 'flavours/glitch/actions/trends';
-import { FormattedMessage } from 'react-intl';
-import DismissableBanner from 'flavours/glitch/components/dismissable_banner';
+
+
const mapStateToProps = state => ({
hashtags: state.getIn(['trends', 'tags', 'items']),
diff --git a/app/javascript/flavours/glitch/features/favourited_statuses/index.jsx b/app/javascript/flavours/glitch/features/favourited_statuses/index.jsx
index df4e5359e7..08152063c7 100644
--- a/app/javascript/flavours/glitch/features/favourited_statuses/index.jsx
+++ b/app/javascript/flavours/glitch/features/favourited_statuses/index.jsx
@@ -1,10 +1,15 @@
-import { debounce } from 'lodash';
import PropTypes from 'prop-types';
+
+import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
import { Helmet } from 'react-helmet';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
-import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
+
+import { debounce } from 'lodash';
+
import { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';
import { fetchFavouritedStatuses, expandFavouritedStatuses } from 'flavours/glitch/actions/favourites';
import ColumnHeader from 'flavours/glitch/components/column_header';
diff --git a/app/javascript/flavours/glitch/features/favourites/index.jsx b/app/javascript/flavours/glitch/features/favourites/index.jsx
index 8d2cbf7f1d..86ef9ab142 100644
--- a/app/javascript/flavours/glitch/features/favourites/index.jsx
+++ b/app/javascript/flavours/glitch/features/favourites/index.jsx
@@ -1,16 +1,21 @@
import PropTypes from 'prop-types';
-import ImmutablePureComponent from 'react-immutable-pure-component';
-import ImmutablePropTypes from 'react-immutable-proptypes';
+
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
+import { Helmet } from 'react-helmet';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
import { connect } from 'react-redux';
+
+import { fetchFavourites } from 'flavours/glitch/actions/interactions';
import ColumnHeader from 'flavours/glitch/components/column_header';
import { Icon } from 'flavours/glitch/components/icon';
-import { fetchFavourites } from 'flavours/glitch/actions/interactions';
import LoadingIndicator from 'flavours/glitch/components/loading_indicator';
import ScrollableList from 'flavours/glitch/components/scrollable_list';
import AccountContainer from 'flavours/glitch/containers/account_container';
import Column from 'flavours/glitch/features/ui/components/column';
-import { Helmet } from 'react-helmet';
+
const messages = defineMessages({
heading: { id: 'column.favourited_by', defaultMessage: 'Favourited by' },
diff --git a/app/javascript/flavours/glitch/features/filters/added_to_filter.jsx b/app/javascript/flavours/glitch/features/filters/added_to_filter.jsx
index 8afbacbcfb..743d379474 100644
--- a/app/javascript/flavours/glitch/features/filters/added_to_filter.jsx
+++ b/app/javascript/flavours/glitch/features/filters/added_to_filter.jsx
@@ -1,11 +1,14 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import ImmutablePropTypes from 'react-immutable-proptypes';
+import { PureComponent } from 'react';
+
import { FormattedMessage } from 'react-intl';
-import { toServerSideType } from 'flavours/glitch/utils/filters';
-import Button from 'flavours/glitch/components/button';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
import { connect } from 'react-redux';
+import Button from 'flavours/glitch/components/button';
+import { toServerSideType } from 'flavours/glitch/utils/filters';
+
const mapStateToProps = (state, { filterId }) => ({
filter: state.getIn(['filters', filterId]),
});
diff --git a/app/javascript/flavours/glitch/features/filters/select_filter.jsx b/app/javascript/flavours/glitch/features/filters/select_filter.jsx
index 5881252c9b..bae1d9ef95 100644
--- a/app/javascript/flavours/glitch/features/filters/select_filter.jsx
+++ b/app/javascript/flavours/glitch/features/filters/select_filter.jsx
@@ -1,11 +1,15 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import { connect } from 'react-redux';
+import { PureComponent } from 'react';
+
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
+import { connect } from 'react-redux';
+
+import fuzzysort from 'fuzzysort';
+
+import { Icon } from 'flavours/glitch/components/icon';
import { toServerSideType } from 'flavours/glitch/utils/filters';
import { loupeIcon, deleteIcon } from 'flavours/glitch/utils/icons';
-import { Icon } from 'flavours/glitch/components/icon';
-import fuzzysort from 'fuzzysort';
const messages = defineMessages({
search: { id: 'filter_modal.select_filter.search', defaultMessage: 'Search or create' },
diff --git a/app/javascript/flavours/glitch/features/follow_recommendations/components/account.jsx b/app/javascript/flavours/glitch/features/follow_recommendations/components/account.jsx
index 09015e7a04..89a270d092 100644
--- a/app/javascript/flavours/glitch/features/follow_recommendations/components/account.jsx
+++ b/app/javascript/flavours/glitch/features/follow_recommendations/components/account.jsx
@@ -1,14 +1,17 @@
import PropTypes from 'prop-types';
+
+import { injectIntl, defineMessages } from 'react-intl';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { connect } from 'react-redux';
-import { makeGetAccount } from 'flavours/glitch/selectors';
+
+import { followAccount, unfollowAccount } from 'flavours/glitch/actions/accounts';
import { Avatar } from 'flavours/glitch/components/avatar';
import { DisplayName } from 'flavours/glitch/components/display_name';
-import Permalink from 'flavours/glitch/components/permalink';
import { IconButton } from 'flavours/glitch/components/icon_button';
-import { injectIntl, defineMessages } from 'react-intl';
-import { followAccount, unfollowAccount } from 'flavours/glitch/actions/accounts';
+import Permalink from 'flavours/glitch/components/permalink';
+import { makeGetAccount } from 'flavours/glitch/selectors';
const messages = defineMessages({
follow: { id: 'account.follow', defaultMessage: 'Follow' },
diff --git a/app/javascript/flavours/glitch/features/follow_recommendations/index.jsx b/app/javascript/flavours/glitch/features/follow_recommendations/index.jsx
index 7eea6ad192..194784a7a5 100644
--- a/app/javascript/flavours/glitch/features/follow_recommendations/index.jsx
+++ b/app/javascript/flavours/glitch/features/follow_recommendations/index.jsx
@@ -1,18 +1,23 @@
import PropTypes from 'prop-types';
-import ImmutablePureComponent from 'react-immutable-pure-component';
-import ImmutablePropTypes from 'react-immutable-proptypes';
-import { connect } from 'react-redux';
+
import { FormattedMessage } from 'react-intl';
-import { fetchSuggestions } from 'flavours/glitch/actions/suggestions';
-import { changeSetting, saveSettings } from 'flavours/glitch/actions/settings';
-import { requestBrowserPermission } from 'flavours/glitch/actions/notifications';
-import { markAsPartial } from 'flavours/glitch/actions/timelines';
-import Column from 'flavours/glitch/features/ui/components/column';
-import Account from './components/account';
-import imageGreeting from 'mastodon/../images/elephant_ui_greeting.svg';
-import Button from 'flavours/glitch/components/button';
+
import { Helmet } from 'react-helmet';
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+import { connect } from 'react-redux';
+
+import { requestBrowserPermission } from 'flavours/glitch/actions/notifications';
+import { changeSetting, saveSettings } from 'flavours/glitch/actions/settings';
+import { fetchSuggestions } from 'flavours/glitch/actions/suggestions';
+import { markAsPartial } from 'flavours/glitch/actions/timelines';
+import Button from 'flavours/glitch/components/button';
+import Column from 'flavours/glitch/features/ui/components/column';
+import imageGreeting from 'mastodon/../images/elephant_ui_greeting.svg';
+
+import Account from './components/account';
+
const mapStateToProps = state => ({
suggestions: state.getIn(['suggestions', 'items']),
isLoading: state.getIn(['suggestions', 'isLoading']),
diff --git a/app/javascript/flavours/glitch/features/follow_requests/components/account_authorize.jsx b/app/javascript/flavours/glitch/features/follow_requests/components/account_authorize.jsx
index 1f06690564..cbd1d1838b 100644
--- a/app/javascript/flavours/glitch/features/follow_requests/components/account_authorize.jsx
+++ b/app/javascript/flavours/glitch/features/follow_requests/components/account_authorize.jsx
@@ -1,11 +1,15 @@
import PropTypes from 'prop-types';
+
+import { defineMessages, injectIntl } from 'react-intl';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
-import Permalink from 'flavours/glitch/components/permalink';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+
import { Avatar } from 'flavours/glitch/components/avatar';
import { DisplayName } from 'flavours/glitch/components/display_name';
import { IconButton } from 'flavours/glitch/components/icon_button';
-import { defineMessages, injectIntl } from 'react-intl';
-import ImmutablePureComponent from 'react-immutable-pure-component';
+import Permalink from 'flavours/glitch/components/permalink';
+
const messages = defineMessages({
authorize: { id: 'follow_request.authorize', defaultMessage: 'Authorize' },
diff --git a/app/javascript/flavours/glitch/features/follow_requests/containers/account_authorize_container.js b/app/javascript/flavours/glitch/features/follow_requests/containers/account_authorize_container.js
index 693e98e8ce..854ebaecb8 100644
--- a/app/javascript/flavours/glitch/features/follow_requests/containers/account_authorize_container.js
+++ b/app/javascript/flavours/glitch/features/follow_requests/containers/account_authorize_container.js
@@ -1,7 +1,9 @@
import { connect } from 'react-redux';
-import { makeGetAccount } from 'flavours/glitch/selectors';
-import AccountAuthorize from '../components/account_authorize';
+
import { authorizeFollowRequest, rejectFollowRequest } from 'flavours/glitch/actions/accounts';
+import { makeGetAccount } from 'flavours/glitch/selectors';
+
+import AccountAuthorize from '../components/account_authorize';
const makeMapStateToProps = () => {
const getAccount = makeGetAccount();
diff --git a/app/javascript/flavours/glitch/features/follow_requests/index.jsx b/app/javascript/flavours/glitch/features/follow_requests/index.jsx
index 63c367f474..70a2ac1e42 100644
--- a/app/javascript/flavours/glitch/features/follow_requests/index.jsx
+++ b/app/javascript/flavours/glitch/features/follow_requests/index.jsx
@@ -1,17 +1,28 @@
-import { connect } from 'react-redux';
import PropTypes from 'prop-types';
-import ImmutablePropTypes from 'react-immutable-proptypes';
-import { debounce } from 'lodash';
-import Column from 'flavours/glitch/features/ui/components/column';
-import ColumnBackButtonSlim from 'flavours/glitch/components/column_back_button_slim';
-import AccountAuthorizeContainer from './containers/account_authorize_container';
-import { fetchFollowRequests, expandFollowRequests } from 'flavours/glitch/actions/accounts';
+
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
-import ImmutablePureComponent from 'react-immutable-pure-component';
-import ScrollableList from 'flavours/glitch/components/scrollable_list';
-import { me } from 'flavours/glitch/initial_state';
+
import { Helmet } from 'react-helmet';
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+import { connect } from 'react-redux';
+
+import { debounce } from 'lodash';
+
+import { fetchFollowRequests, expandFollowRequests } from 'flavours/glitch/actions/accounts';
+import ColumnBackButtonSlim from 'flavours/glitch/components/column_back_button_slim';
+import ScrollableList from 'flavours/glitch/components/scrollable_list';
+import Column from 'flavours/glitch/features/ui/components/column';
+import { me } from 'flavours/glitch/initial_state';
+
+import AccountAuthorizeContainer from './containers/account_authorize_container';
+
+
+
+
+
+
const messages = defineMessages({
heading: { id: 'column.follow_requests', defaultMessage: 'Follow requests' },
});
diff --git a/app/javascript/flavours/glitch/features/followed_tags/index.jsx b/app/javascript/flavours/glitch/features/followed_tags/index.jsx
index 10bb4249c8..b8e2981b73 100644
--- a/app/javascript/flavours/glitch/features/followed_tags/index.jsx
+++ b/app/javascript/flavours/glitch/features/followed_tags/index.jsx
@@ -1,15 +1,21 @@
-import { debounce } from 'lodash';
import PropTypes from 'prop-types';
-import ImmutablePureComponent from 'react-immutable-pure-component';
-import ImmutablePropTypes from 'react-immutable-proptypes';
+
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
+import { Helmet } from 'react-helmet';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
import { connect } from 'react-redux';
+
+import { debounce } from 'lodash';
+
+import { expandFollowedHashtags, fetchFollowedHashtags } from 'flavours/glitch/actions/tags';
import ColumnHeader from 'flavours/glitch/components/column_header';
+import Hashtag from 'flavours/glitch/components/hashtag';
import ScrollableList from 'flavours/glitch/components/scrollable_list';
import Column from 'flavours/glitch/features/ui/components/column';
-import { Helmet } from 'react-helmet';
-import Hashtag from 'flavours/glitch/components/hashtag';
-import { expandFollowedHashtags, fetchFollowedHashtags } from 'flavours/glitch/actions/tags';
+
const messages = defineMessages({
heading: { id: 'followed_tags', defaultMessage: 'Followed hashtags' },
diff --git a/app/javascript/flavours/glitch/features/followers/index.jsx b/app/javascript/flavours/glitch/features/followers/index.jsx
index 00977d3b72..b2be617f10 100644
--- a/app/javascript/flavours/glitch/features/followers/index.jsx
+++ b/app/javascript/flavours/glitch/features/followers/index.jsx
@@ -1,26 +1,32 @@
-import { connect } from 'react-redux';
import PropTypes from 'prop-types';
+
+import { FormattedMessage } from 'react-intl';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+import { connect } from 'react-redux';
+
import { debounce } from 'lodash';
-import LoadingIndicator from 'flavours/glitch/components/loading_indicator';
+
import {
lookupAccount,
fetchAccount,
fetchFollowers,
expandFollowers,
} from 'flavours/glitch/actions/accounts';
-import { FormattedMessage } from 'react-intl';
-import AccountContainer from 'flavours/glitch/containers/account_container';
-import Column from 'flavours/glitch/features/ui/components/column';
-import ProfileColumnHeader from 'flavours/glitch/features/account/components/profile_column_header';
-import HeaderContainer from 'flavours/glitch/features/account_timeline/containers/header_container';
-import ImmutablePureComponent from 'react-immutable-pure-component';
+import LoadingIndicator from 'flavours/glitch/components/loading_indicator';
import ScrollableList from 'flavours/glitch/components/scrollable_list';
import { TimelineHint } from 'flavours/glitch/components/timeline_hint';
-import LimitedAccountHint from '../account_timeline/components/limited_account_hint';
-import { getAccountHidden } from 'flavours/glitch/selectors';
-import { normalizeForLookup } from 'flavours/glitch/reducers/accounts_map';
+import AccountContainer from 'flavours/glitch/containers/account_container';
+import ProfileColumnHeader from 'flavours/glitch/features/account/components/profile_column_header';
+import HeaderContainer from 'flavours/glitch/features/account_timeline/containers/header_container';
import BundleColumnError from 'flavours/glitch/features/ui/components/bundle_column_error';
+import Column from 'flavours/glitch/features/ui/components/column';
+import { normalizeForLookup } from 'flavours/glitch/reducers/accounts_map';
+import { getAccountHidden } from 'flavours/glitch/selectors';
+
+import LimitedAccountHint from '../account_timeline/components/limited_account_hint';
+
const mapStateToProps = (state, { params: { acct, id } }) => {
const accountId = id || state.getIn(['accounts_map', normalizeForLookup(acct)]);
diff --git a/app/javascript/flavours/glitch/features/following/index.jsx b/app/javascript/flavours/glitch/features/following/index.jsx
index 6cd9448504..4c7594ff19 100644
--- a/app/javascript/flavours/glitch/features/following/index.jsx
+++ b/app/javascript/flavours/glitch/features/following/index.jsx
@@ -1,26 +1,32 @@
-import { connect } from 'react-redux';
import PropTypes from 'prop-types';
+
+import { FormattedMessage } from 'react-intl';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+import { connect } from 'react-redux';
+
import { debounce } from 'lodash';
-import LoadingIndicator from 'flavours/glitch/components/loading_indicator';
+
import {
lookupAccount,
fetchAccount,
fetchFollowing,
expandFollowing,
} from 'flavours/glitch/actions/accounts';
-import { FormattedMessage } from 'react-intl';
-import AccountContainer from 'flavours/glitch/containers/account_container';
-import Column from 'flavours/glitch/features/ui/components/column';
-import ProfileColumnHeader from 'flavours/glitch/features/account/components/profile_column_header';
-import HeaderContainer from 'flavours/glitch/features/account_timeline/containers/header_container';
-import ImmutablePureComponent from 'react-immutable-pure-component';
+import LoadingIndicator from 'flavours/glitch/components/loading_indicator';
import ScrollableList from 'flavours/glitch/components/scrollable_list';
import { TimelineHint } from 'flavours/glitch/components/timeline_hint';
-import LimitedAccountHint from '../account_timeline/components/limited_account_hint';
-import { getAccountHidden } from 'flavours/glitch/selectors';
-import { normalizeForLookup } from 'flavours/glitch/reducers/accounts_map';
+import AccountContainer from 'flavours/glitch/containers/account_container';
+import ProfileColumnHeader from 'flavours/glitch/features/account/components/profile_column_header';
+import HeaderContainer from 'flavours/glitch/features/account_timeline/containers/header_container';
import BundleColumnError from 'flavours/glitch/features/ui/components/bundle_column_error';
+import Column from 'flavours/glitch/features/ui/components/column';
+import { normalizeForLookup } from 'flavours/glitch/reducers/accounts_map';
+import { getAccountHidden } from 'flavours/glitch/selectors';
+
+import LimitedAccountHint from '../account_timeline/components/limited_account_hint';
+
const mapStateToProps = (state, { params: { acct, id } }) => {
const accountId = id || state.getIn(['accounts_map', normalizeForLookup(acct)]);
diff --git a/app/javascript/flavours/glitch/features/getting_started/components/announcements.jsx b/app/javascript/flavours/glitch/features/getting_started/components/announcements.jsx
index 8f77227554..fd17f8c9d7 100644
--- a/app/javascript/flavours/glitch/features/getting_started/components/announcements.jsx
+++ b/app/javascript/flavours/glitch/features/getting_started/components/announcements.jsx
@@ -1,20 +1,27 @@
-import { PureComponent } from 'react';
-import ImmutablePureComponent from 'react-immutable-pure-component';
-import ReactSwipeableViews from 'react-swipeable-views';
-import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
-import { IconButton } from 'flavours/glitch/components/icon_button';
-import { Icon } from 'flavours/glitch/components/icon';
+import { PureComponent } from 'react';
+
import { defineMessages, injectIntl, FormattedMessage, FormattedDate } from 'react-intl';
-import { autoPlayGif, reduceMotion, disableSwiping, mascot } from 'flavours/glitch/initial_state';
-import elephantUIPlane from 'mastodon/../images/elephant_ui_plane.svg';
-import unicodeMapping from 'flavours/glitch/features/emoji/emoji_unicode_mapping_light';
+
import classNames from 'classnames';
-import EmojiPickerDropdown from 'flavours/glitch/features/compose/containers/emoji_picker_dropdown_container';
-import { AnimatedNumber } from 'flavours/glitch/components/animated_number';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+
import TransitionMotion from 'react-motion/lib/TransitionMotion';
import spring from 'react-motion/lib/spring';
+import ReactSwipeableViews from 'react-swipeable-views';
+
+import { AnimatedNumber } from 'flavours/glitch/components/animated_number';
+import { Icon } from 'flavours/glitch/components/icon';
+import { IconButton } from 'flavours/glitch/components/icon_button';
+import EmojiPickerDropdown from 'flavours/glitch/features/compose/containers/emoji_picker_dropdown_container';
+import unicodeMapping from 'flavours/glitch/features/emoji/emoji_unicode_mapping_light';
+import { autoPlayGif, reduceMotion, disableSwiping, mascot } from 'flavours/glitch/initial_state';
import { assetHost } from 'flavours/glitch/utils/config';
+import elephantUIPlane from 'mastodon/../images/elephant_ui_plane.svg';
+
+
const messages = defineMessages({
close: { id: 'lightbox.close', defaultMessage: 'Close' },
diff --git a/app/javascript/flavours/glitch/features/getting_started/components/trends.jsx b/app/javascript/flavours/glitch/features/getting_started/components/trends.jsx
index 37310d93d0..c5bb92b3be 100644
--- a/app/javascript/flavours/glitch/features/getting_started/components/trends.jsx
+++ b/app/javascript/flavours/glitch/features/getting_started/components/trends.jsx
@@ -1,10 +1,14 @@
-import ImmutablePureComponent from 'react-immutable-pure-component';
import PropTypes from 'prop-types';
-import ImmutablePropTypes from 'react-immutable-proptypes';
-import { ImmutableHashtag as Hashtag } from 'flavours/glitch/components/hashtag';
+
import { FormattedMessage } from 'react-intl';
+
import { Link } from 'react-router-dom';
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+
+import { ImmutableHashtag as Hashtag } from 'flavours/glitch/components/hashtag';
+
export default class Trends extends ImmutablePureComponent {
static defaultProps = {
diff --git a/app/javascript/flavours/glitch/features/getting_started/containers/announcements_container.js b/app/javascript/flavours/glitch/features/getting_started/containers/announcements_container.js
index d472323f8f..893da21df9 100644
--- a/app/javascript/flavours/glitch/features/getting_started/containers/announcements_container.js
+++ b/app/javascript/flavours/glitch/features/getting_started/containers/announcements_container.js
@@ -1,8 +1,10 @@
-import { connect } from 'react-redux';
-import { addReaction, removeReaction, dismissAnnouncement } from 'flavours/glitch/actions/announcements';
-import Announcements from '../components/announcements';
-import { createSelector } from 'reselect';
import { Map as ImmutableMap } from 'immutable';
+import { connect } from 'react-redux';
+import { createSelector } from 'reselect';
+
+import { addReaction, removeReaction, dismissAnnouncement } from 'flavours/glitch/actions/announcements';
+
+import Announcements from '../components/announcements';
const customEmojiMap = createSelector([state => state.get('custom_emojis')], items => items.reduce((map, emoji) => map.set(emoji.get('shortcode'), emoji), ImmutableMap()));
diff --git a/app/javascript/flavours/glitch/features/getting_started/containers/trends_container.js b/app/javascript/flavours/glitch/features/getting_started/containers/trends_container.js
index d88dbbaf40..cd08b61d40 100644
--- a/app/javascript/flavours/glitch/features/getting_started/containers/trends_container.js
+++ b/app/javascript/flavours/glitch/features/getting_started/containers/trends_container.js
@@ -1,5 +1,7 @@
import { connect } from 'react-redux';
+
import { fetchTrendingHashtags } from 'flavours/glitch/actions/trends';
+
import Trends from '../components/trends';
const mapStateToProps = state => ({
diff --git a/app/javascript/flavours/glitch/features/getting_started/index.jsx b/app/javascript/flavours/glitch/features/getting_started/index.jsx
index 0f84682a9f..26cfca0cbf 100644
--- a/app/javascript/flavours/glitch/features/getting_started/index.jsx
+++ b/app/javascript/flavours/glitch/features/getting_started/index.jsx
@@ -1,22 +1,29 @@
+import PropTypes from 'prop-types';
+
+import { defineMessages, injectIntl } from 'react-intl';
+
+import { Helmet } from 'react-helmet';
+
+import { List as ImmutableList } from 'immutable';
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+import { connect } from 'react-redux';
+import { createSelector } from 'reselect';
+
+import { fetchFollowRequests } from 'flavours/glitch/actions/accounts';
+import { fetchLists } from 'flavours/glitch/actions/lists';
+import { openModal } from 'flavours/glitch/actions/modal';
import Column from 'flavours/glitch/features/ui/components/column';
import ColumnLink from 'flavours/glitch/features/ui/components/column_link';
import ColumnSubheading from 'flavours/glitch/features/ui/components/column_subheading';
-import { defineMessages, injectIntl } from 'react-intl';
-import { connect } from 'react-redux';
-import { openModal } from 'flavours/glitch/actions/modal';
-import PropTypes from 'prop-types';
-import ImmutablePropTypes from 'react-immutable-proptypes';
-import ImmutablePureComponent from 'react-immutable-pure-component';
-import { me, showTrends } from 'flavours/glitch/initial_state';
-import { fetchFollowRequests } from 'flavours/glitch/actions/accounts';
-import { List as ImmutableList } from 'immutable';
-import { createSelector } from 'reselect';
-import { fetchLists } from 'flavours/glitch/actions/lists';
-import { preferencesLink } from 'flavours/glitch/utils/backend_links';
-import NavigationBar from '../compose/components/navigation_bar';
import LinkFooter from 'flavours/glitch/features/ui/components/link_footer';
+import { me, showTrends } from 'flavours/glitch/initial_state';
+import { preferencesLink } from 'flavours/glitch/utils/backend_links';
+
+import NavigationBar from '../compose/components/navigation_bar';
+
import TrendsContainer from './containers/trends_container';
-import { Helmet } from 'react-helmet';
+
const messages = defineMessages({
heading: { id: 'getting_started.heading', defaultMessage: 'Getting started' },
diff --git a/app/javascript/flavours/glitch/features/getting_started_misc/index.jsx b/app/javascript/flavours/glitch/features/getting_started_misc/index.jsx
index 4e8098bbf8..afb1227a3f 100644
--- a/app/javascript/flavours/glitch/features/getting_started_misc/index.jsx
+++ b/app/javascript/flavours/glitch/features/getting_started_misc/index.jsx
@@ -1,12 +1,16 @@
import PropTypes from 'prop-types';
-import Column from 'flavours/glitch/features/ui/components/column';
-import ColumnBackButtonSlim from 'flavours/glitch/components/column_back_button_slim';
+
import { defineMessages, injectIntl } from 'react-intl';
+
import ImmutablePureComponent from 'react-immutable-pure-component';
+import { connect } from 'react-redux';
+
+import { openModal } from 'flavours/glitch/actions/modal';
+import ColumnBackButtonSlim from 'flavours/glitch/components/column_back_button_slim';
+import Column from 'flavours/glitch/features/ui/components/column';
import ColumnLink from 'flavours/glitch/features/ui/components/column_link';
import ColumnSubheading from 'flavours/glitch/features/ui/components/column_subheading';
-import { openModal } from 'flavours/glitch/actions/modal';
-import { connect } from 'react-redux';
+
const messages = defineMessages({
heading: { id: 'column.heading', defaultMessage: 'Misc' },
diff --git a/app/javascript/flavours/glitch/features/hashtag_timeline/components/column_settings.jsx b/app/javascript/flavours/glitch/features/hashtag_timeline/components/column_settings.jsx
index 528d4309fc..c60de4c518 100644
--- a/app/javascript/flavours/glitch/features/hashtag_timeline/components/column_settings.jsx
+++ b/app/javascript/flavours/glitch/features/hashtag_timeline/components/column_settings.jsx
@@ -1,10 +1,14 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import ImmutablePropTypes from 'react-immutable-proptypes';
+import { PureComponent } from 'react';
+
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
-import Toggle from 'react-toggle';
-import AsyncSelect from 'react-select/async';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+
import { NonceProvider } from 'react-select';
+import AsyncSelect from 'react-select/async';
+import Toggle from 'react-toggle';
+
import SettingToggle from '../../notifications/components/setting_toggle';
const messages = defineMessages({
diff --git a/app/javascript/flavours/glitch/features/hashtag_timeline/containers/column_settings_container.js b/app/javascript/flavours/glitch/features/hashtag_timeline/containers/column_settings_container.js
index 004856b048..6e67d1fce4 100644
--- a/app/javascript/flavours/glitch/features/hashtag_timeline/containers/column_settings_container.js
+++ b/app/javascript/flavours/glitch/features/hashtag_timeline/containers/column_settings_container.js
@@ -1,8 +1,10 @@
import { connect } from 'react-redux';
-import ColumnSettings from '../components/column_settings';
+
import { changeColumnParams } from 'flavours/glitch/actions/columns';
import api from 'flavours/glitch/api';
+import ColumnSettings from '../components/column_settings';
+
const mapStateToProps = (state, { columnId }) => {
const columns = state.getIn(['settings', 'columns']);
const index = columns.findIndex(c => c.get('uuid') === columnId);
diff --git a/app/javascript/flavours/glitch/features/hashtag_timeline/index.jsx b/app/javascript/flavours/glitch/features/hashtag_timeline/index.jsx
index 9568580ab8..de67b06ca8 100644
--- a/app/javascript/flavours/glitch/features/hashtag_timeline/index.jsx
+++ b/app/javascript/flavours/glitch/features/hashtag_timeline/index.jsx
@@ -1,21 +1,28 @@
-import { PureComponent } from 'react';
-import { connect } from 'react-redux';
import PropTypes from 'prop-types';
-import StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container';
-import Column from 'flavours/glitch/components/column';
-import ColumnHeader from 'flavours/glitch/components/column_header';
-import ImmutablePropTypes from 'react-immutable-proptypes';
-import ColumnSettingsContainer from './containers/column_settings_container';
-import { expandHashtagTimeline, clearTimeline } from 'flavours/glitch/actions/timelines';
-import { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';
-import { connectHashtagStream } from 'flavours/glitch/actions/streaming';
+import { PureComponent } from 'react';
+
import { injectIntl, FormattedMessage, defineMessages } from 'react-intl';
-import { isEqual } from 'lodash';
-import { fetchHashtag, followHashtag, unfollowHashtag } from 'flavours/glitch/actions/tags';
-import { Icon } from 'flavours/glitch/components/icon';
+
import classNames from 'classnames';
import { Helmet } from 'react-helmet';
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import { connect } from 'react-redux';
+
+import { isEqual } from 'lodash';
+
+import { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';
+import { connectHashtagStream } from 'flavours/glitch/actions/streaming';
+import { fetchHashtag, followHashtag, unfollowHashtag } from 'flavours/glitch/actions/tags';
+import { expandHashtagTimeline, clearTimeline } from 'flavours/glitch/actions/timelines';
+import Column from 'flavours/glitch/components/column';
+import ColumnHeader from 'flavours/glitch/components/column_header';
+import { Icon } from 'flavours/glitch/components/icon';
+import StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container';
+
+import ColumnSettingsContainer from './containers/column_settings_container';
+
+
const messages = defineMessages({
followHashtag: { id: 'hashtag.follow', defaultMessage: 'Follow hashtag' },
unfollowHashtag: { id: 'hashtag.unfollow', defaultMessage: 'Unfollow hashtag' },
diff --git a/app/javascript/flavours/glitch/features/home_timeline/components/column_settings.jsx b/app/javascript/flavours/glitch/features/home_timeline/components/column_settings.jsx
index 435af2216c..07d0447a89 100644
--- a/app/javascript/flavours/glitch/features/home_timeline/components/column_settings.jsx
+++ b/app/javascript/flavours/glitch/features/home_timeline/components/column_settings.jsx
@@ -1,9 +1,12 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import ImmutablePropTypes from 'react-immutable-proptypes';
+import { PureComponent } from 'react';
+
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
-import SettingToggle from 'flavours/glitch/features/notifications/components/setting_toggle';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+
import SettingText from 'flavours/glitch/components/setting_text';
+import SettingToggle from 'flavours/glitch/features/notifications/components/setting_toggle';
const messages = defineMessages({
filter_regex: { id: 'home.column_settings.filter_regex', defaultMessage: 'Filter out by regular expressions' },
diff --git a/app/javascript/flavours/glitch/features/home_timeline/containers/column_settings_container.js b/app/javascript/flavours/glitch/features/home_timeline/containers/column_settings_container.js
index 16747151b0..215b8c42f0 100644
--- a/app/javascript/flavours/glitch/features/home_timeline/containers/column_settings_container.js
+++ b/app/javascript/flavours/glitch/features/home_timeline/containers/column_settings_container.js
@@ -1,7 +1,9 @@
import { connect } from 'react-redux';
-import ColumnSettings from '../components/column_settings';
+
import { changeSetting, saveSettings } from 'flavours/glitch/actions/settings';
+import ColumnSettings from '../components/column_settings';
+
const mapStateToProps = state => ({
settings: state.getIn(['settings', 'home']),
});
diff --git a/app/javascript/flavours/glitch/features/home_timeline/index.jsx b/app/javascript/flavours/glitch/features/home_timeline/index.jsx
index ee256dae58..791c310557 100644
--- a/app/javascript/flavours/glitch/features/home_timeline/index.jsx
+++ b/app/javascript/flavours/glitch/features/home_timeline/index.jsx
@@ -1,20 +1,26 @@
-import { PureComponent } from 'react';
-import { connect } from 'react-redux';
-import { expandHomeTimeline } from 'flavours/glitch/actions/timelines';
import PropTypes from 'prop-types';
-import StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container';
+import { PureComponent } from 'react';
+
+import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
+import classNames from 'classnames';
+import { Helmet } from 'react-helmet';
+import { Link } from 'react-router-dom';
+
+import { connect } from 'react-redux';
+
+import { fetchAnnouncements, toggleShowAnnouncements } from 'flavours/glitch/actions/announcements';
+import { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';
+import { expandHomeTimeline } from 'flavours/glitch/actions/timelines';
import Column from 'flavours/glitch/components/column';
import ColumnHeader from 'flavours/glitch/components/column_header';
-import { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';
-import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
-import ColumnSettingsContainer from './containers/column_settings_container';
-import { Link } from 'react-router-dom';
-import { fetchAnnouncements, toggleShowAnnouncements } from 'flavours/glitch/actions/announcements';
-import AnnouncementsContainer from 'flavours/glitch/features/getting_started/containers/announcements_container';
-import classNames from 'classnames';
import { IconWithBadge } from 'flavours/glitch/components/icon_with_badge';
import { NotSignedInIndicator } from 'flavours/glitch/components/not_signed_in_indicator';
-import { Helmet } from 'react-helmet';
+import AnnouncementsContainer from 'flavours/glitch/features/getting_started/containers/announcements_container';
+import StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container';
+
+import ColumnSettingsContainer from './containers/column_settings_container';
+
const messages = defineMessages({
title: { id: 'column.home', defaultMessage: 'Home' },
diff --git a/app/javascript/flavours/glitch/features/interaction_modal/index.jsx b/app/javascript/flavours/glitch/features/interaction_modal/index.jsx
index dd6a60b438..557f760a1a 100644
--- a/app/javascript/flavours/glitch/features/interaction_modal/index.jsx
+++ b/app/javascript/flavours/glitch/features/interaction_modal/index.jsx
@@ -1,11 +1,15 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import { FormattedMessage } from 'react-intl';
-import { registrationsOpen } from 'flavours/glitch/initial_state';
-import { connect } from 'react-redux';
-import { Icon } from 'flavours/glitch/components/icon';
+
import classNames from 'classnames';
+
+import { connect } from 'react-redux';
+
import { openModal, closeModal } from 'flavours/glitch/actions/modal';
+import { Icon } from 'flavours/glitch/components/icon';
+import { registrationsOpen } from 'flavours/glitch/initial_state';
const mapStateToProps = (state, { accountId }) => ({
displayNameHtml: state.getIn(['accounts', accountId, 'display_name_html']),
diff --git a/app/javascript/flavours/glitch/features/keyboard_shortcuts/index.jsx b/app/javascript/flavours/glitch/features/keyboard_shortcuts/index.jsx
index fcad938277..14d483212e 100644
--- a/app/javascript/flavours/glitch/features/keyboard_shortcuts/index.jsx
+++ b/app/javascript/flavours/glitch/features/keyboard_shortcuts/index.jsx
@@ -1,11 +1,16 @@
-import Column from 'flavours/glitch/components/column';
-import { connect } from 'react-redux';
-import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import PropTypes from 'prop-types';
-import ImmutablePureComponent from 'react-immutable-pure-component';
-import ColumnHeader from 'flavours/glitch/components/column_header';
+
+import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
import { Helmet } from 'react-helmet';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+import { connect } from 'react-redux';
+
+import Column from 'flavours/glitch/components/column';
+import ColumnHeader from 'flavours/glitch/components/column_header';
+
+
const messages = defineMessages({
heading: { id: 'keyboard_shortcuts.heading', defaultMessage: 'Keyboard Shortcuts' },
});
diff --git a/app/javascript/flavours/glitch/features/list_adder/components/account.jsx b/app/javascript/flavours/glitch/features/list_adder/components/account.jsx
index 5466d83c3a..4dc9c1f893 100644
--- a/app/javascript/flavours/glitch/features/list_adder/components/account.jsx
+++ b/app/javascript/flavours/glitch/features/list_adder/components/account.jsx
@@ -1,10 +1,13 @@
-import { connect } from 'react-redux';
-import { makeGetAccount } from '../../../selectors';
-import ImmutablePureComponent from 'react-immutable-pure-component';
+import { injectIntl } from 'react-intl';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+import { connect } from 'react-redux';
+
import { Avatar } from '../../../components/avatar';
import { DisplayName } from '../../../components/display_name';
-import { injectIntl } from 'react-intl';
+import { makeGetAccount } from '../../../selectors';
+
const makeMapStateToProps = () => {
const getAccount = makeGetAccount();
diff --git a/app/javascript/flavours/glitch/features/list_adder/components/list.jsx b/app/javascript/flavours/glitch/features/list_adder/components/list.jsx
index 7fbf9004a1..83a5ecb91f 100644
--- a/app/javascript/flavours/glitch/features/list_adder/components/list.jsx
+++ b/app/javascript/flavours/glitch/features/list_adder/components/list.jsx
@@ -1,12 +1,16 @@
import PropTypes from 'prop-types';
-import { connect } from 'react-redux';
-import ImmutablePureComponent from 'react-immutable-pure-component';
-import ImmutablePropTypes from 'react-immutable-proptypes';
-import { IconButton } from '../../../components/icon_button';
+
import { defineMessages, injectIntl } from 'react-intl';
-import { removeFromListAdder, addToListAdder } from '../../../actions/lists';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+import { connect } from 'react-redux';
+
import { Icon } from 'flavours/glitch/components/icon';
+import { removeFromListAdder, addToListAdder } from '../../../actions/lists';
+import { IconButton } from '../../../components/icon_button';
+
const messages = defineMessages({
remove: { id: 'lists.account.remove', defaultMessage: 'Remove from list' },
add: { id: 'lists.account.add', defaultMessage: 'Add to list' },
diff --git a/app/javascript/flavours/glitch/features/list_adder/index.jsx b/app/javascript/flavours/glitch/features/list_adder/index.jsx
index 3ef29b212e..1ba9972e00 100644
--- a/app/javascript/flavours/glitch/features/list_adder/index.jsx
+++ b/app/javascript/flavours/glitch/features/list_adder/index.jsx
@@ -1,13 +1,17 @@
import PropTypes from 'prop-types';
-import ImmutablePropTypes from 'react-immutable-proptypes';
-import { connect } from 'react-redux';
-import ImmutablePureComponent from 'react-immutable-pure-component';
+
import { injectIntl } from 'react-intl';
-import { setupListAdder, resetListAdder } from '../../actions/lists';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+import { connect } from 'react-redux';
import { createSelector } from 'reselect';
-import List from './components/list';
-import Account from './components/account';
+
+import { setupListAdder, resetListAdder } from '../../actions/lists';
import NewListForm from '../lists/components/new_list_form';
+
+import Account from './components/account';
+import List from './components/list';
// hack
const getOrderedLists = createSelector([state => state.get('lists')], lists => {
diff --git a/app/javascript/flavours/glitch/features/list_editor/components/account.jsx b/app/javascript/flavours/glitch/features/list_editor/components/account.jsx
index 4481c9a468..01c0444153 100644
--- a/app/javascript/flavours/glitch/features/list_editor/components/account.jsx
+++ b/app/javascript/flavours/glitch/features/list_editor/components/account.jsx
@@ -1,10 +1,14 @@
import PropTypes from 'prop-types';
-import ImmutablePureComponent from 'react-immutable-pure-component';
+
+import { defineMessages } from 'react-intl';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+
import { Avatar } from 'flavours/glitch/components/avatar';
import { DisplayName } from 'flavours/glitch/components/display_name';
import { IconButton } from 'flavours/glitch/components/icon_button';
-import { defineMessages } from 'react-intl';
+
const messages = defineMessages({
remove: { id: 'lists.account.remove', defaultMessage: 'Remove from list' },
diff --git a/app/javascript/flavours/glitch/features/list_editor/components/edit_list_form.jsx b/app/javascript/flavours/glitch/features/list_editor/components/edit_list_form.jsx
index 1d7c399116..502543efc0 100644
--- a/app/javascript/flavours/glitch/features/list_editor/components/edit_list_form.jsx
+++ b/app/javascript/flavours/glitch/features/list_editor/components/edit_list_form.jsx
@@ -1,9 +1,13 @@
-import { PureComponent } from 'react';
-import { connect } from 'react-redux';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
+import { defineMessages, injectIntl } from 'react-intl';
+
+import { connect } from 'react-redux';
+
import { changeListEditorTitle, submitListEditor } from 'flavours/glitch/actions/lists';
import { IconButton } from 'flavours/glitch/components/icon_button';
-import { defineMessages, injectIntl } from 'react-intl';
+
const messages = defineMessages({
title: { id: 'lists.edit.submit', defaultMessage: 'Change title' },
diff --git a/app/javascript/flavours/glitch/features/list_editor/components/search.jsx b/app/javascript/flavours/glitch/features/list_editor/components/search.jsx
index e04c02ee1b..a43b3b969e 100644
--- a/app/javascript/flavours/glitch/features/list_editor/components/search.jsx
+++ b/app/javascript/flavours/glitch/features/list_editor/components/search.jsx
@@ -1,7 +1,10 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import { defineMessages } from 'react-intl';
+
import classNames from 'classnames';
+
import { Icon } from 'flavours/glitch/components/icon';
const messages = defineMessages({
diff --git a/app/javascript/flavours/glitch/features/list_editor/containers/account_container.js b/app/javascript/flavours/glitch/features/list_editor/containers/account_container.js
index 578bbc3e01..329a1dcb91 100644
--- a/app/javascript/flavours/glitch/features/list_editor/containers/account_container.js
+++ b/app/javascript/flavours/glitch/features/list_editor/containers/account_container.js
@@ -1,7 +1,10 @@
-import { connect } from 'react-redux';
-import { makeGetAccount } from 'flavours/glitch/selectors';
import { injectIntl } from 'react-intl';
+
+import { connect } from 'react-redux';
+
import { removeFromListEditor, addToListEditor } from 'flavours/glitch/actions/lists';
+import { makeGetAccount } from 'flavours/glitch/selectors';
+
import Account from '../components/account';
const makeMapStateToProps = () => {
diff --git a/app/javascript/flavours/glitch/features/list_editor/containers/search_container.js b/app/javascript/flavours/glitch/features/list_editor/containers/search_container.js
index d11a6f82b3..a7f0009a84 100644
--- a/app/javascript/flavours/glitch/features/list_editor/containers/search_container.js
+++ b/app/javascript/flavours/glitch/features/list_editor/containers/search_container.js
@@ -1,5 +1,7 @@
-import { connect } from 'react-redux';
import { injectIntl } from 'react-intl';
+
+import { connect } from 'react-redux';
+
import { fetchListSuggestions, clearListSuggestions, changeListSuggestions } from '../../../actions/lists';
import Search from '../components/search';
diff --git a/app/javascript/flavours/glitch/features/list_editor/index.jsx b/app/javascript/flavours/glitch/features/list_editor/index.jsx
index bb1aa3162e..134d5ff074 100644
--- a/app/javascript/flavours/glitch/features/list_editor/index.jsx
+++ b/app/javascript/flavours/glitch/features/list_editor/index.jsx
@@ -1,14 +1,21 @@
import PropTypes from 'prop-types';
-import ImmutablePropTypes from 'react-immutable-proptypes';
-import { connect } from 'react-redux';
-import ImmutablePureComponent from 'react-immutable-pure-component';
+
import { injectIntl } from 'react-intl';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+import { connect } from 'react-redux';
+
+import spring from 'react-motion/lib/spring';
+
import { setupListEditor, clearListSuggestions, resetListEditor } from 'flavours/glitch/actions/lists';
+
+import Motion from '../ui/util/optional_motion';
+
+import EditListForm from './components/edit_list_form';
import AccountContainer from './containers/account_container';
import SearchContainer from './containers/search_container';
-import EditListForm from './components/edit_list_form';
-import Motion from '../ui/util/optional_motion';
-import spring from 'react-motion/lib/spring';
+
const mapStateToProps = state => ({
accountIds: state.getIn(['listEditor', 'accounts', 'items']),
diff --git a/app/javascript/flavours/glitch/features/list_timeline/index.jsx b/app/javascript/flavours/glitch/features/list_timeline/index.jsx
index fb2ef79a62..7e37a4afeb 100644
--- a/app/javascript/flavours/glitch/features/list_timeline/index.jsx
+++ b/app/javascript/flavours/glitch/features/list_timeline/index.jsx
@@ -1,9 +1,13 @@
import PropTypes from 'prop-types';
import { PureComponent } from 'react';
-import { Helmet } from 'react-helmet';
-import ImmutablePropTypes from 'react-immutable-proptypes';
+
import { FormattedMessage, defineMessages, injectIntl } from 'react-intl';
+
+import { Helmet } from 'react-helmet';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
import { connect } from 'react-redux';
+
import { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';
import { fetchList, deleteList, updateList } from 'flavours/glitch/actions/lists';
import { openModal } from 'flavours/glitch/actions/modal';
@@ -14,8 +18,8 @@ import ColumnHeader from 'flavours/glitch/components/column_header';
import { Icon } from 'flavours/glitch/components/icon';
import LoadingIndicator from 'flavours/glitch/components/loading_indicator';
import { RadioButton } from 'flavours/glitch/components/radio_button';
-import StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container';
import BundleColumnError from 'flavours/glitch/features/ui/components/bundle_column_error';
+import StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container';
const messages = defineMessages({
deleteMessage: { id: 'confirmations.delete_list.message', defaultMessage: 'Are you sure you want to permanently delete this list?' },
diff --git a/app/javascript/flavours/glitch/features/lists/components/new_list_form.jsx b/app/javascript/flavours/glitch/features/lists/components/new_list_form.jsx
index f3720e900d..ffea2abae3 100644
--- a/app/javascript/flavours/glitch/features/lists/components/new_list_form.jsx
+++ b/app/javascript/flavours/glitch/features/lists/components/new_list_form.jsx
@@ -1,9 +1,13 @@
-import { PureComponent } from 'react';
-import { connect } from 'react-redux';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
+import { defineMessages, injectIntl } from 'react-intl';
+
+import { connect } from 'react-redux';
+
import { changeListEditorTitle, submitListEditor } from 'flavours/glitch/actions/lists';
import { IconButton } from 'flavours/glitch/components/icon_button';
-import { defineMessages, injectIntl } from 'react-intl';
+
const messages = defineMessages({
label: { id: 'lists.new.title_placeholder', defaultMessage: 'New list title' },
diff --git a/app/javascript/flavours/glitch/features/lists/index.jsx b/app/javascript/flavours/glitch/features/lists/index.jsx
index 836bd7ba64..3ab82e2948 100644
--- a/app/javascript/flavours/glitch/features/lists/index.jsx
+++ b/app/javascript/flavours/glitch/features/lists/index.jsx
@@ -1,10 +1,14 @@
import PropTypes from 'prop-types';
+
+import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
import { Helmet } from 'react-helmet';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
-import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
import { createSelector } from 'reselect';
+
import { fetchLists } from 'flavours/glitch/actions/lists';
import ColumnBackButtonSlim from 'flavours/glitch/components/column_back_button_slim';
import LoadingIndicator from 'flavours/glitch/components/loading_indicator';
@@ -12,6 +16,7 @@ import ScrollableList from 'flavours/glitch/components/scrollable_list';
import Column from 'flavours/glitch/features/ui/components/column';
import ColumnLink from 'flavours/glitch/features/ui/components/column_link';
import ColumnSubheading from 'flavours/glitch/features/ui/components/column_subheading';
+
import NewListForm from './components/new_list_form';
const messages = defineMessages({
diff --git a/app/javascript/flavours/glitch/features/local_settings/index.jsx b/app/javascript/flavours/glitch/features/local_settings/index.jsx
index 71a2f3a6e9..f78b8a38e9 100644
--- a/app/javascript/flavours/glitch/features/local_settings/index.jsx
+++ b/app/javascript/flavours/glitch/features/local_settings/index.jsx
@@ -1,14 +1,16 @@
// Package imports.
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
import { connect } from 'react-redux';
// Our imports
-import LocalSettingsPage from './page';
-import LocalSettingsNavigation from './navigation';
-import { closeModal } from 'flavours/glitch/actions/modal';
import { changeLocalSetting } from 'flavours/glitch/actions/local_settings';
+import { closeModal } from 'flavours/glitch/actions/modal';
+
+import LocalSettingsNavigation from './navigation';
+import LocalSettingsPage from './page';
const mapStateToProps = state => ({
settings: state.get('local_settings'),
diff --git a/app/javascript/flavours/glitch/features/local_settings/navigation/index.jsx b/app/javascript/flavours/glitch/features/local_settings/navigation/index.jsx
index 4b37312d09..022d817126 100644
--- a/app/javascript/flavours/glitch/features/local_settings/navigation/index.jsx
+++ b/app/javascript/flavours/glitch/features/local_settings/navigation/index.jsx
@@ -1,12 +1,14 @@
// Package imports
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import { injectIntl, defineMessages } from 'react-intl';
// Our imports
-import LocalSettingsNavigationItem from './item';
import { preferencesLink } from 'flavours/glitch/utils/backend_links';
+import LocalSettingsNavigationItem from './item';
+
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
const messages = defineMessages({
diff --git a/app/javascript/flavours/glitch/features/local_settings/navigation/item/index.jsx b/app/javascript/flavours/glitch/features/local_settings/navigation/item/index.jsx
index 867613f9bc..d1f3512ed7 100644
--- a/app/javascript/flavours/glitch/features/local_settings/navigation/item/index.jsx
+++ b/app/javascript/flavours/glitch/features/local_settings/navigation/item/index.jsx
@@ -1,6 +1,7 @@
// Package imports
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import classNames from 'classnames';
import { Icon } from 'flavours/glitch/components/icon';
diff --git a/app/javascript/flavours/glitch/features/local_settings/page/deprecated_item/index.jsx b/app/javascript/flavours/glitch/features/local_settings/page/deprecated_item/index.jsx
index 1ea20ed07b..f266488ca4 100644
--- a/app/javascript/flavours/glitch/features/local_settings/page/deprecated_item/index.jsx
+++ b/app/javascript/flavours/glitch/features/local_settings/page/deprecated_item/index.jsx
@@ -1,6 +1,6 @@
// Package imports
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
diff --git a/app/javascript/flavours/glitch/features/local_settings/page/index.jsx b/app/javascript/flavours/glitch/features/local_settings/page/index.jsx
index a94d71e660..5e6c4f87e8 100644
--- a/app/javascript/flavours/glitch/features/local_settings/page/index.jsx
+++ b/app/javascript/flavours/glitch/features/local_settings/page/index.jsx
@@ -1,14 +1,18 @@
// Package imports
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import ImmutablePropTypes from 'react-immutable-proptypes';
+import { PureComponent } from 'react';
+
import { defineMessages, FormattedMessage, injectIntl } from 'react-intl';
+import ImmutablePropTypes from 'react-immutable-proptypes';
+
+
// Our imports
import { expandSpoilers } from 'flavours/glitch/initial_state';
import { preferenceLink } from 'flavours/glitch/utils/backend_links';
-import LocalSettingsPageItem from './item';
+
import DeprecatedLocalSettingsPageItem from './deprecated_item';
+import LocalSettingsPageItem from './item';
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
diff --git a/app/javascript/flavours/glitch/features/local_settings/page/item/index.jsx b/app/javascript/flavours/glitch/features/local_settings/page/item/index.jsx
index 0e17925513..2e2df93d6b 100644
--- a/app/javascript/flavours/glitch/features/local_settings/page/item/index.jsx
+++ b/app/javascript/flavours/glitch/features/local_settings/page/item/index.jsx
@@ -1,6 +1,7 @@
// Package imports
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
diff --git a/app/javascript/flavours/glitch/features/mutes/index.jsx b/app/javascript/flavours/glitch/features/mutes/index.jsx
index 10bbd8395d..3cf67b8b98 100644
--- a/app/javascript/flavours/glitch/features/mutes/index.jsx
+++ b/app/javascript/flavours/glitch/features/mutes/index.jsx
@@ -1,17 +1,25 @@
-import { connect } from 'react-redux';
-import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import PropTypes from 'prop-types';
-import ImmutablePropTypes from 'react-immutable-proptypes';
-import { debounce } from 'lodash';
-import LoadingIndicator from 'flavours/glitch/components/loading_indicator';
-import Column from 'flavours/glitch/features/ui/components/column';
-import ColumnBackButtonSlim from 'flavours/glitch/components/column_back_button_slim';
-import AccountContainer from 'flavours/glitch/containers/account_container';
-import { fetchMutes, expandMutes } from 'flavours/glitch/actions/mutes';
-import ImmutablePureComponent from 'react-immutable-pure-component';
-import ScrollableList from 'flavours/glitch/components/scrollable_list';
+
+import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
import { Helmet } from 'react-helmet';
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+import { connect } from 'react-redux';
+
+import { debounce } from 'lodash';
+
+import { fetchMutes, expandMutes } from 'flavours/glitch/actions/mutes';
+import ColumnBackButtonSlim from 'flavours/glitch/components/column_back_button_slim';
+import LoadingIndicator from 'flavours/glitch/components/loading_indicator';
+import ScrollableList from 'flavours/glitch/components/scrollable_list';
+import AccountContainer from 'flavours/glitch/containers/account_container';
+import Column from 'flavours/glitch/features/ui/components/column';
+
+
+
+
const messages = defineMessages({
heading: { id: 'column.mutes', defaultMessage: 'Muted users' },
});
diff --git a/app/javascript/flavours/glitch/features/notifications/components/admin_report.jsx b/app/javascript/flavours/glitch/features/notifications/components/admin_report.jsx
index a6da442493..9f63b3ce79 100644
--- a/app/javascript/flavours/glitch/features/notifications/components/admin_report.jsx
+++ b/app/javascript/flavours/glitch/features/notifications/components/admin_report.jsx
@@ -1,15 +1,22 @@
// Package imports.
-import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
+
import { FormattedMessage } from 'react-intl';
-import ImmutablePureComponent from 'react-immutable-pure-component';
-import { HotKeys } from 'react-hotkeys';
+
import classNames from 'classnames';
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+
+import { HotKeys } from 'react-hotkeys';
+
+
// Our imports.
-import Permalink from 'flavours/glitch/components/permalink';
-import NotificationOverlayContainer from '../containers/overlay_container';
import { Icon } from 'flavours/glitch/components/icon';
+import Permalink from 'flavours/glitch/components/permalink';
+
+import NotificationOverlayContainer from '../containers/overlay_container';
+
import Report from './report';
export default class AdminReport extends ImmutablePureComponent {
diff --git a/app/javascript/flavours/glitch/features/notifications/components/admin_signup.jsx b/app/javascript/flavours/glitch/features/notifications/components/admin_signup.jsx
index 4edaa7581e..8036f783a7 100644
--- a/app/javascript/flavours/glitch/features/notifications/components/admin_signup.jsx
+++ b/app/javascript/flavours/glitch/features/notifications/components/admin_signup.jsx
@@ -1,16 +1,22 @@
// Package imports.
-import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
+
import { FormattedMessage } from 'react-intl';
-import ImmutablePureComponent from 'react-immutable-pure-component';
-import { HotKeys } from 'react-hotkeys';
+
import classNames from 'classnames';
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+
+import { HotKeys } from 'react-hotkeys';
+
+
// Our imports.
+import { Icon } from 'flavours/glitch/components/icon';
import Permalink from 'flavours/glitch/components/permalink';
import AccountContainer from 'flavours/glitch/containers/account_container';
+
import NotificationOverlayContainer from '../containers/overlay_container';
-import { Icon } from 'flavours/glitch/components/icon';
export default class NotificationFollow extends ImmutablePureComponent {
diff --git a/app/javascript/flavours/glitch/features/notifications/components/clear_column_button.jsx b/app/javascript/flavours/glitch/features/notifications/components/clear_column_button.jsx
index fa653a13ec..0833ac29d7 100644
--- a/app/javascript/flavours/glitch/features/notifications/components/clear_column_button.jsx
+++ b/app/javascript/flavours/glitch/features/notifications/components/clear_column_button.jsx
@@ -1,6 +1,8 @@
-import { Component } from 'react';
import PropTypes from 'prop-types';
+import { Component } from 'react';
+
import { FormattedMessage } from 'react-intl';
+
import { Icon } from 'flavours/glitch/components/icon';
export default class ClearColumnButton extends Component {
diff --git a/app/javascript/flavours/glitch/features/notifications/components/column_settings.jsx b/app/javascript/flavours/glitch/features/notifications/components/column_settings.jsx
index 6819ea4cee..937d01b46a 100644
--- a/app/javascript/flavours/glitch/features/notifications/components/column_settings.jsx
+++ b/app/javascript/flavours/glitch/features/notifications/components/column_settings.jsx
@@ -1,12 +1,16 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import ImmutablePropTypes from 'react-immutable-proptypes';
+import { PureComponent } from 'react';
+
import { FormattedMessage } from 'react-intl';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+
+import { PERMISSION_MANAGE_USERS, PERMISSION_MANAGE_REPORTS } from 'flavours/glitch/permissions';
+
import ClearColumnButton from './clear_column_button';
import GrantPermissionButton from './grant_permission_button';
-import SettingToggle from './setting_toggle';
import PillBarButton from './pill_bar_button';
-import { PERMISSION_MANAGE_USERS, PERMISSION_MANAGE_REPORTS } from 'flavours/glitch/permissions';
+import SettingToggle from './setting_toggle';
export default class ColumnSettings extends PureComponent {
diff --git a/app/javascript/flavours/glitch/features/notifications/components/filter_bar.jsx b/app/javascript/flavours/glitch/features/notifications/components/filter_bar.jsx
index 153ae79801..99ce167496 100644
--- a/app/javascript/flavours/glitch/features/notifications/components/filter_bar.jsx
+++ b/app/javascript/flavours/glitch/features/notifications/components/filter_bar.jsx
@@ -1,6 +1,8 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
import { Icon } from 'flavours/glitch/components/icon';
const tooltips = defineMessages({
diff --git a/app/javascript/flavours/glitch/features/notifications/components/follow.jsx b/app/javascript/flavours/glitch/features/notifications/components/follow.jsx
index c6dc1bbcbd..7e2749d66d 100644
--- a/app/javascript/flavours/glitch/features/notifications/components/follow.jsx
+++ b/app/javascript/flavours/glitch/features/notifications/components/follow.jsx
@@ -1,16 +1,22 @@
// Package imports.
-import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
+
import { FormattedMessage } from 'react-intl';
-import ImmutablePureComponent from 'react-immutable-pure-component';
-import { HotKeys } from 'react-hotkeys';
+
import classNames from 'classnames';
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+
+import { HotKeys } from 'react-hotkeys';
+
+
// Our imports.
+import { Icon } from 'flavours/glitch/components/icon';
import Permalink from 'flavours/glitch/components/permalink';
import AccountContainer from 'flavours/glitch/containers/account_container';
+
import NotificationOverlayContainer from '../containers/overlay_container';
-import { Icon } from 'flavours/glitch/components/icon';
export default class NotificationFollow extends ImmutablePureComponent {
diff --git a/app/javascript/flavours/glitch/features/notifications/components/follow_request.jsx b/app/javascript/flavours/glitch/features/notifications/components/follow_request.jsx
index de975843fd..32ae1d1756 100644
--- a/app/javascript/flavours/glitch/features/notifications/components/follow_request.jsx
+++ b/app/javascript/flavours/glitch/features/notifications/components/follow_request.jsx
@@ -1,15 +1,24 @@
-import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
+
+import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
+import classNames from 'classnames';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+
+import { HotKeys } from 'react-hotkeys';
+
import { Avatar } from 'flavours/glitch/components/avatar';
import { DisplayName } from 'flavours/glitch/components/display_name';
-import Permalink from 'flavours/glitch/components/permalink';
-import { IconButton } from 'flavours/glitch/components/icon_button';
-import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
-import ImmutablePureComponent from 'react-immutable-pure-component';
-import NotificationOverlayContainer from '../containers/overlay_container';
-import { HotKeys } from 'react-hotkeys';
import { Icon } from 'flavours/glitch/components/icon';
-import classNames from 'classnames';
+import { IconButton } from 'flavours/glitch/components/icon_button';
+import Permalink from 'flavours/glitch/components/permalink';
+
+import NotificationOverlayContainer from '../containers/overlay_container';
+
+
+
const messages = defineMessages({
authorize: { id: 'follow_request.authorize', defaultMessage: 'Authorize' },
diff --git a/app/javascript/flavours/glitch/features/notifications/components/grant_permission_button.jsx b/app/javascript/flavours/glitch/features/notifications/components/grant_permission_button.jsx
index 96f5d67d9c..cd46d878bb 100644
--- a/app/javascript/flavours/glitch/features/notifications/components/grant_permission_button.jsx
+++ b/app/javascript/flavours/glitch/features/notifications/components/grant_permission_button.jsx
@@ -1,5 +1,6 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import { FormattedMessage } from 'react-intl';
export default class GrantPermissionButton extends PureComponent {
diff --git a/app/javascript/flavours/glitch/features/notifications/components/notification.jsx b/app/javascript/flavours/glitch/features/notifications/components/notification.jsx
index c4e6e8dd25..515de9f30a 100644
--- a/app/javascript/flavours/glitch/features/notifications/components/notification.jsx
+++ b/app/javascript/flavours/glitch/features/notifications/components/notification.jsx
@@ -1,14 +1,18 @@
// Package imports.
import PropTypes from 'prop-types';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
// Our imports,
import StatusContainer from 'flavours/glitch/containers/status_container';
-import NotificationFollow from './follow';
-import NotificationFollowRequestContainer from '../containers/follow_request_container';
-import NotificationAdminSignup from './admin_signup';
+
import NotificationAdminReportContainer from '../containers/admin_report_container';
+import NotificationFollowRequestContainer from '../containers/follow_request_container';
+
+import NotificationAdminSignup from './admin_signup';
+import NotificationFollow from './follow';
+
export default class Notification extends ImmutablePureComponent {
diff --git a/app/javascript/flavours/glitch/features/notifications/components/notifications_permission_banner.jsx b/app/javascript/flavours/glitch/features/notifications/components/notifications_permission_banner.jsx
index 2dc66a70b4..b088935285 100644
--- a/app/javascript/flavours/glitch/features/notifications/components/notifications_permission_banner.jsx
+++ b/app/javascript/flavours/glitch/features/notifications/components/notifications_permission_banner.jsx
@@ -1,12 +1,17 @@
+import PropTypes from 'prop-types';
import { PureComponent } from 'react';
-import { Icon } from 'flavours/glitch/components/icon';
-import Button from 'flavours/glitch/components/button';
-import { IconButton } from 'flavours/glitch/components/icon_button';
+
+import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
+import { connect } from 'react-redux';
+
import { requestBrowserPermission } from 'flavours/glitch/actions/notifications';
import { changeSetting } from 'flavours/glitch/actions/settings';
-import { connect } from 'react-redux';
-import PropTypes from 'prop-types';
-import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+import Button from 'flavours/glitch/components/button';
+import { Icon } from 'flavours/glitch/components/icon';
+import { IconButton } from 'flavours/glitch/components/icon_button';
+
+
const messages = defineMessages({
close: { id: 'lightbox.close', defaultMessage: 'Close' },
diff --git a/app/javascript/flavours/glitch/features/notifications/components/overlay.jsx b/app/javascript/flavours/glitch/features/notifications/components/overlay.jsx
index 9d761b849f..73fb698643 100644
--- a/app/javascript/flavours/glitch/features/notifications/components/overlay.jsx
+++ b/app/javascript/flavours/glitch/features/notifications/components/overlay.jsx
@@ -4,10 +4,13 @@
// Package imports.
-import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
-import ImmutablePureComponent from 'react-immutable-pure-component';
+
import { defineMessages, injectIntl } from 'react-intl';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+
import { Icon } from 'flavours/glitch/components/icon';
const messages = defineMessages({
diff --git a/app/javascript/flavours/glitch/features/notifications/components/pill_bar_button.jsx b/app/javascript/flavours/glitch/features/notifications/components/pill_bar_button.jsx
index 17a3000fe1..1e74395f58 100644
--- a/app/javascript/flavours/glitch/features/notifications/components/pill_bar_button.jsx
+++ b/app/javascript/flavours/glitch/features/notifications/components/pill_bar_button.jsx
@@ -1,8 +1,11 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import ImmutablePropTypes from 'react-immutable-proptypes';
+import { PureComponent } from 'react';
+
import classNames from 'classnames';
+import ImmutablePropTypes from 'react-immutable-proptypes';
+
+
export default class PillBarButton extends PureComponent {
static propTypes = {
diff --git a/app/javascript/flavours/glitch/features/notifications/components/report.jsx b/app/javascript/flavours/glitch/features/notifications/components/report.jsx
index 12f18af23a..70293e2100 100644
--- a/app/javascript/flavours/glitch/features/notifications/components/report.jsx
+++ b/app/javascript/flavours/glitch/features/notifications/components/report.jsx
@@ -1,7 +1,10 @@
-import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
+
import { defineMessages, FormattedMessage, injectIntl } from 'react-intl';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
+
import AvatarOverlay from 'flavours/glitch/components/avatar_overlay';
import { RelativeTimestamp } from 'flavours/glitch/components/relative_timestamp';
diff --git a/app/javascript/flavours/glitch/features/notifications/components/setting_toggle.jsx b/app/javascript/flavours/glitch/features/notifications/components/setting_toggle.jsx
index a0515bef93..2f849c5484 100644
--- a/app/javascript/flavours/glitch/features/notifications/components/setting_toggle.jsx
+++ b/app/javascript/flavours/glitch/features/notifications/components/setting_toggle.jsx
@@ -1,6 +1,8 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
+
import Toggle from 'react-toggle';
export default class SettingToggle extends PureComponent {
diff --git a/app/javascript/flavours/glitch/features/notifications/containers/admin_report_container.js b/app/javascript/flavours/glitch/features/notifications/containers/admin_report_container.js
index 4198afce8b..62809b57b2 100644
--- a/app/javascript/flavours/glitch/features/notifications/containers/admin_report_container.js
+++ b/app/javascript/flavours/glitch/features/notifications/containers/admin_report_container.js
@@ -1,5 +1,7 @@
import { connect } from 'react-redux';
+
import { makeGetReport } from 'flavours/glitch/selectors';
+
import AdminReport from '../components/admin_report';
const mapStateToProps = (state, { notification }) => {
diff --git a/app/javascript/flavours/glitch/features/notifications/containers/column_settings_container.js b/app/javascript/flavours/glitch/features/notifications/containers/column_settings_container.js
index 27c2f96fe4..a0a22192ac 100644
--- a/app/javascript/flavours/glitch/features/notifications/containers/column_settings_container.js
+++ b/app/javascript/flavours/glitch/features/notifications/containers/column_settings_container.js
@@ -1,11 +1,15 @@
-import { connect } from 'react-redux';
import { defineMessages, injectIntl } from 'react-intl';
-import ColumnSettings from '../components/column_settings';
-import { changeSetting } from 'flavours/glitch/actions/settings';
+
+import { connect } from 'react-redux';
+
+import { showAlert } from 'flavours/glitch/actions/alerts';
+import { openModal } from 'flavours/glitch/actions/modal';
import { setFilter, clearNotifications, requestBrowserPermission } from 'flavours/glitch/actions/notifications';
import { changeAlerts as changePushNotifications } from 'flavours/glitch/actions/push_notifications';
-import { openModal } from 'flavours/glitch/actions/modal';
-import { showAlert } from 'flavours/glitch/actions/alerts';
+import { changeSetting } from 'flavours/glitch/actions/settings';
+
+import ColumnSettings from '../components/column_settings';
+
const messages = defineMessages({
clearMessage: { id: 'notifications.clear_confirmation', defaultMessage: 'Are you sure you want to permanently clear all your notifications?' },
diff --git a/app/javascript/flavours/glitch/features/notifications/containers/filter_bar_container.js b/app/javascript/flavours/glitch/features/notifications/containers/filter_bar_container.js
index 4d495c2908..4e0184cef3 100644
--- a/app/javascript/flavours/glitch/features/notifications/containers/filter_bar_container.js
+++ b/app/javascript/flavours/glitch/features/notifications/containers/filter_bar_container.js
@@ -1,6 +1,7 @@
import { connect } from 'react-redux';
-import FilterBar from '../components/filter_bar';
+
import { setFilter } from '../../../actions/notifications';
+import FilterBar from '../components/filter_bar';
const makeMapStateToProps = state => ({
selectedFilter: state.getIn(['settings', 'notifications', 'quickFilter', 'active']),
diff --git a/app/javascript/flavours/glitch/features/notifications/containers/follow_request_container.js b/app/javascript/flavours/glitch/features/notifications/containers/follow_request_container.js
index 004d1e173b..d66b24991d 100644
--- a/app/javascript/flavours/glitch/features/notifications/containers/follow_request_container.js
+++ b/app/javascript/flavours/glitch/features/notifications/containers/follow_request_container.js
@@ -1,7 +1,9 @@
import { connect } from 'react-redux';
-import FollowRequest from '../components/follow_request';
+
import { authorizeFollowRequest, rejectFollowRequest } from 'flavours/glitch/actions/accounts';
+import FollowRequest from '../components/follow_request';
+
const mapDispatchToProps = (dispatch, { account }) => ({
onAuthorize () {
dispatch(authorizeFollowRequest(account.get('id')));
diff --git a/app/javascript/flavours/glitch/features/notifications/containers/notification_container.js b/app/javascript/flavours/glitch/features/notifications/containers/notification_container.js
index be007f30bb..b39d1169f2 100644
--- a/app/javascript/flavours/glitch/features/notifications/containers/notification_container.js
+++ b/app/javascript/flavours/glitch/features/notifications/containers/notification_container.js
@@ -2,9 +2,10 @@
import { connect } from 'react-redux';
// Our imports.
-import { makeGetNotification } from 'flavours/glitch/selectors';
-import Notification from '../components/notification';
import { mentionCompose } from 'flavours/glitch/actions/compose';
+import { makeGetNotification } from 'flavours/glitch/selectors';
+
+import Notification from '../components/notification';
const makeMapStateToProps = () => {
const getNotification = makeGetNotification();
diff --git a/app/javascript/flavours/glitch/features/notifications/containers/overlay_container.js b/app/javascript/flavours/glitch/features/notifications/containers/overlay_container.js
index ee2d19814a..e4b8902a81 100644
--- a/app/javascript/flavours/glitch/features/notifications/containers/overlay_container.js
+++ b/app/javascript/flavours/glitch/features/notifications/containers/overlay_container.js
@@ -2,9 +2,10 @@
import { connect } from 'react-redux';
// Our imports.
-import NotificationOverlay from '../components/overlay';
import { markNotificationForDelete } from 'flavours/glitch/actions/notifications';
+import NotificationOverlay from '../components/overlay';
+
const mapDispatchToProps = dispatch => ({
onMarkForDelete(id, yes) {
dispatch(markNotificationForDelete(id, yes));
diff --git a/app/javascript/flavours/glitch/features/notifications/index.jsx b/app/javascript/flavours/glitch/features/notifications/index.jsx
index be1df15dfb..ecb5152df9 100644
--- a/app/javascript/flavours/glitch/features/notifications/index.jsx
+++ b/app/javascript/flavours/glitch/features/notifications/index.jsx
@@ -1,10 +1,20 @@
-import { PureComponent } from 'react';
-import { connect } from 'react-redux';
-import classNames from 'classnames';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
+import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
+import classNames from 'classnames';
+import { Helmet } from 'react-helmet';
+
+import { List as ImmutableList } from 'immutable';
import ImmutablePropTypes from 'react-immutable-proptypes';
-import Column from 'flavours/glitch/components/column';
-import ColumnHeader from 'flavours/glitch/components/column_header';
+import { connect } from 'react-redux';
+import { createSelector } from 'reselect';
+
+import { debounce } from 'lodash';
+
+import { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';
+import { submitMarkers } from 'flavours/glitch/actions/markers';
import {
enterNotificationClearingMode,
expandNotifications,
@@ -14,24 +24,24 @@ import {
unmountNotifications,
markNotificationsAsRead,
} from 'flavours/glitch/actions/notifications';
-import { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';
-import { submitMarkers } from 'flavours/glitch/actions/markers';
-import NotificationContainer from './containers/notification_container';
-import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+import { compareId } from 'flavours/glitch/compare_id';
+import Column from 'flavours/glitch/components/column';
+import ColumnHeader from 'flavours/glitch/components/column_header';
+import { Icon } from 'flavours/glitch/components/icon';
+import LoadGap from 'flavours/glitch/components/load_gap';
+import { NotSignedInIndicator } from 'flavours/glitch/components/not_signed_in_indicator';
+import ScrollableList from 'flavours/glitch/components/scrollable_list';
+import NotificationPurgeButtonsContainer from 'flavours/glitch/containers/notification_purge_buttons_container';
+
+import NotificationsPermissionBanner from './components/notifications_permission_banner';
import ColumnSettingsContainer from './containers/column_settings_container';
import FilterBarContainer from './containers/filter_bar_container';
-import { createSelector } from 'reselect';
-import { List as ImmutableList } from 'immutable';
-import { debounce } from 'lodash';
-import ScrollableList from 'flavours/glitch/components/scrollable_list';
-import LoadGap from 'flavours/glitch/components/load_gap';
-import { Icon } from 'flavours/glitch/components/icon';
-import { compareId } from 'flavours/glitch/compare_id';
-import NotificationsPermissionBanner from './components/notifications_permission_banner';
-import { NotSignedInIndicator } from 'flavours/glitch/components/not_signed_in_indicator';
-import { Helmet } from 'react-helmet';
+import NotificationContainer from './containers/notification_container';
+
+
+
+
-import NotificationPurgeButtonsContainer from 'flavours/glitch/containers/notification_purge_buttons_container';
const messages = defineMessages({
title: { id: 'column.notifications', defaultMessage: 'Notifications' },
diff --git a/app/javascript/flavours/glitch/features/picture_in_picture/components/footer.jsx b/app/javascript/flavours/glitch/features/picture_in_picture/components/footer.jsx
index 93d28ffe7b..ab7de65328 100644
--- a/app/javascript/flavours/glitch/features/picture_in_picture/components/footer.jsx
+++ b/app/javascript/flavours/glitch/features/picture_in_picture/components/footer.jsx
@@ -1,16 +1,20 @@
-import { connect } from 'react-redux';
-import ImmutablePureComponent from 'react-immutable-pure-component';
-import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
-import { IconButton } from 'flavours/glitch/components/icon_button';
-import classNames from 'classnames';
-import { me, boostModal } from 'flavours/glitch/initial_state';
+
import { defineMessages, injectIntl } from 'react-intl';
+
+import classNames from 'classnames';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+import { connect } from 'react-redux';
+
+import { initBoostModal } from 'flavours/glitch/actions/boosts';
import { replyCompose } from 'flavours/glitch/actions/compose';
import { reblog, favourite, unreblog, unfavourite } from 'flavours/glitch/actions/interactions';
-import { makeGetStatus } from 'flavours/glitch/selectors';
import { openModal } from 'flavours/glitch/actions/modal';
-import { initBoostModal } from 'flavours/glitch/actions/boosts';
+import { IconButton } from 'flavours/glitch/components/icon_button';
+import { me, boostModal } from 'flavours/glitch/initial_state';
+import { makeGetStatus } from 'flavours/glitch/selectors';
const messages = defineMessages({
reply: { id: 'status.reply', defaultMessage: 'Reply' },
diff --git a/app/javascript/flavours/glitch/features/picture_in_picture/components/header.jsx b/app/javascript/flavours/glitch/features/picture_in_picture/components/header.jsx
index f32c108668..d58d77d7ab 100644
--- a/app/javascript/flavours/glitch/features/picture_in_picture/components/header.jsx
+++ b/app/javascript/flavours/glitch/features/picture_in_picture/components/header.jsx
@@ -1,12 +1,18 @@
-import { connect } from 'react-redux';
-import ImmutablePureComponent from 'react-immutable-pure-component';
-import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
-import { IconButton } from 'flavours/glitch/components/icon_button';
+
+import { defineMessages, injectIntl } from 'react-intl';
+
import { Link } from 'react-router-dom';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+import { connect } from 'react-redux';
+
import { Avatar } from 'flavours/glitch/components/avatar';
import { DisplayName } from 'flavours/glitch/components/display_name';
-import { defineMessages, injectIntl } from 'react-intl';
+import { IconButton } from 'flavours/glitch/components/icon_button';
+
+
const messages = defineMessages({
close: { id: 'lightbox.close', defaultMessage: 'Close' },
diff --git a/app/javascript/flavours/glitch/features/picture_in_picture/index.jsx b/app/javascript/flavours/glitch/features/picture_in_picture/index.jsx
index dc90a95d2c..ed229384c4 100644
--- a/app/javascript/flavours/glitch/features/picture_in_picture/index.jsx
+++ b/app/javascript/flavours/glitch/features/picture_in_picture/index.jsx
@@ -1,13 +1,17 @@
-import { Component } from 'react';
-import { connect } from 'react-redux';
import PropTypes from 'prop-types';
-import Video from 'flavours/glitch/features/video';
-import Audio from 'flavours/glitch/features/audio';
-import { removePictureInPicture } from 'flavours/glitch/actions/picture_in_picture';
-import Header from './components/header';
-import Footer from './components/footer';
+import { Component } from 'react';
+
import classNames from 'classnames';
+import { connect } from 'react-redux';
+
+import { removePictureInPicture } from 'flavours/glitch/actions/picture_in_picture';
+import Audio from 'flavours/glitch/features/audio';
+import Video from 'flavours/glitch/features/video';
+
+import Footer from './components/footer';
+import Header from './components/header';
+
const mapStateToProps = state => ({
...state.get('picture_in_picture'),
left: state.getIn(['local_settings', 'media', 'pop_in_position']) === 'left',
diff --git a/app/javascript/flavours/glitch/features/pinned_accounts_editor/containers/account_container.js b/app/javascript/flavours/glitch/features/pinned_accounts_editor/containers/account_container.js
index 155afcca18..29f89b95a2 100644
--- a/app/javascript/flavours/glitch/features/pinned_accounts_editor/containers/account_container.js
+++ b/app/javascript/flavours/glitch/features/pinned_accounts_editor/containers/account_container.js
@@ -1,8 +1,10 @@
-import { connect } from 'react-redux';
-import { makeGetAccount } from 'flavours/glitch/selectors';
import { injectIntl } from 'react-intl';
+
+import { connect } from 'react-redux';
+
import { pinAccount, unpinAccount } from 'flavours/glitch/actions/accounts';
import Account from 'flavours/glitch/features/list_editor/components/account';
+import { makeGetAccount } from 'flavours/glitch/selectors';
const makeMapStateToProps = () => {
const getAccount = makeGetAccount();
diff --git a/app/javascript/flavours/glitch/features/pinned_accounts_editor/containers/search_container.js b/app/javascript/flavours/glitch/features/pinned_accounts_editor/containers/search_container.js
index 0ada7b0401..010a7527de 100644
--- a/app/javascript/flavours/glitch/features/pinned_accounts_editor/containers/search_container.js
+++ b/app/javascript/flavours/glitch/features/pinned_accounts_editor/containers/search_container.js
@@ -1,11 +1,15 @@
-import { connect } from 'react-redux';
import { injectIntl } from 'react-intl';
+
+import { connect } from 'react-redux';
+
+import Search from 'flavours/glitch/features/list_editor/components/search';
+
import {
fetchPinnedAccountsSuggestions,
clearPinnedAccountsSuggestions,
changePinnedAccountsSuggestions,
} from '../../../actions/accounts';
-import Search from 'flavours/glitch/features/list_editor/components/search';
+
const mapStateToProps = state => ({
value: state.getIn(['pinnedAccountsEditor', 'suggestions', 'value']),
diff --git a/app/javascript/flavours/glitch/features/pinned_accounts_editor/index.jsx b/app/javascript/flavours/glitch/features/pinned_accounts_editor/index.jsx
index 5473f536e5..effc3ee248 100644
--- a/app/javascript/flavours/glitch/features/pinned_accounts_editor/index.jsx
+++ b/app/javascript/flavours/glitch/features/pinned_accounts_editor/index.jsx
@@ -1,13 +1,19 @@
import PropTypes from 'prop-types';
-import ImmutablePropTypes from 'react-immutable-proptypes';
-import { connect } from 'react-redux';
-import ImmutablePureComponent from 'react-immutable-pure-component';
+
import { injectIntl, FormattedMessage } from 'react-intl';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+import { connect } from 'react-redux';
+
+import spring from 'react-motion/lib/spring';
+
import { fetchPinnedAccounts, clearPinnedAccountsSuggestions, resetPinnedAccountsEditor } from 'flavours/glitch/actions/accounts';
+import Motion from 'flavours/glitch/features/ui/util/optional_motion';
+
import AccountContainer from './containers/account_container';
import SearchContainer from './containers/search_container';
-import Motion from 'flavours/glitch/features/ui/util/optional_motion';
-import spring from 'react-motion/lib/spring';
+
const mapStateToProps = state => ({
accountIds: state.getIn(['pinnedAccountsEditor', 'accounts', 'items']),
diff --git a/app/javascript/flavours/glitch/features/pinned_statuses/index.jsx b/app/javascript/flavours/glitch/features/pinned_statuses/index.jsx
index ad51f3efcc..526da34d2d 100644
--- a/app/javascript/flavours/glitch/features/pinned_statuses/index.jsx
+++ b/app/javascript/flavours/glitch/features/pinned_statuses/index.jsx
@@ -1,13 +1,20 @@
-import { connect } from 'react-redux';
import PropTypes from 'prop-types';
+
+import { defineMessages, injectIntl } from 'react-intl';
+
+import { Helmet } from 'react-helmet';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+import { connect } from 'react-redux';
+
import { fetchPinnedStatuses } from 'flavours/glitch/actions/pin_statuses';
-import Column from 'flavours/glitch/features/ui/components/column';
import ColumnBackButtonSlim from 'flavours/glitch/components/column_back_button_slim';
import StatusList from 'flavours/glitch/components/status_list';
-import { defineMessages, injectIntl } from 'react-intl';
-import ImmutablePureComponent from 'react-immutable-pure-component';
-import { Helmet } from 'react-helmet';
+import Column from 'flavours/glitch/features/ui/components/column';
+
+
+
const messages = defineMessages({
heading: { id: 'column.pins', defaultMessage: 'Pinned post' },
diff --git a/app/javascript/flavours/glitch/features/privacy_policy/index.jsx b/app/javascript/flavours/glitch/features/privacy_policy/index.jsx
index cce2bba361..2b9fc013d8 100644
--- a/app/javascript/flavours/glitch/features/privacy_policy/index.jsx
+++ b/app/javascript/flavours/glitch/features/privacy_policy/index.jsx
@@ -1,9 +1,12 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import { Helmet } from 'react-helmet';
+import { PureComponent } from 'react';
+
import { FormattedMessage, FormattedDate, injectIntl, defineMessages } from 'react-intl';
-import Column from 'flavours/glitch/components/column';
+
+import { Helmet } from 'react-helmet';
+
import api from 'flavours/glitch/api';
+import Column from 'flavours/glitch/components/column';
import { Skeleton } from 'flavours/glitch/components/skeleton';
const messages = defineMessages({
diff --git a/app/javascript/flavours/glitch/features/public_timeline/components/column_settings.jsx b/app/javascript/flavours/glitch/features/public_timeline/components/column_settings.jsx
index 8d653930c3..2d083a90ec 100644
--- a/app/javascript/flavours/glitch/features/public_timeline/components/column_settings.jsx
+++ b/app/javascript/flavours/glitch/features/public_timeline/components/column_settings.jsx
@@ -1,7 +1,10 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import ImmutablePropTypes from 'react-immutable-proptypes';
+import { PureComponent } from 'react';
+
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+
import SettingText from 'flavours/glitch/components/setting_text';
import SettingToggle from 'flavours/glitch/features/notifications/components/setting_toggle';
diff --git a/app/javascript/flavours/glitch/features/public_timeline/containers/column_settings_container.js b/app/javascript/flavours/glitch/features/public_timeline/containers/column_settings_container.js
index 97b7566585..b884f15f5f 100644
--- a/app/javascript/flavours/glitch/features/public_timeline/containers/column_settings_container.js
+++ b/app/javascript/flavours/glitch/features/public_timeline/containers/column_settings_container.js
@@ -1,7 +1,9 @@
import { connect } from 'react-redux';
-import ColumnSettings from '../components/column_settings';
-import { changeSetting } from 'flavours/glitch/actions/settings';
+
import { changeColumnParams } from 'flavours/glitch/actions/columns';
+import { changeSetting } from 'flavours/glitch/actions/settings';
+
+import ColumnSettings from '../components/column_settings';
const mapStateToProps = (state, { columnId }) => {
const uuid = columnId;
diff --git a/app/javascript/flavours/glitch/features/public_timeline/index.jsx b/app/javascript/flavours/glitch/features/public_timeline/index.jsx
index 496908d72a..5bbbea0662 100644
--- a/app/javascript/flavours/glitch/features/public_timeline/index.jsx
+++ b/app/javascript/flavours/glitch/features/public_timeline/index.jsx
@@ -1,16 +1,21 @@
-import { PureComponent } from 'react';
-import { connect } from 'react-redux';
-import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import PropTypes from 'prop-types';
-import StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container';
+import { PureComponent } from 'react';
+
+import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
+import { Helmet } from 'react-helmet';
+
+import { connect } from 'react-redux';
+
+import { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';
+import { connectPublicStream } from 'flavours/glitch/actions/streaming';
+import { expandPublicTimeline } from 'flavours/glitch/actions/timelines';
import Column from 'flavours/glitch/components/column';
import ColumnHeader from 'flavours/glitch/components/column_header';
-import { expandPublicTimeline } from 'flavours/glitch/actions/timelines';
-import { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';
-import ColumnSettingsContainer from './containers/column_settings_container';
-import { connectPublicStream } from 'flavours/glitch/actions/streaming';
-import { Helmet } from 'react-helmet';
import DismissableBanner from 'flavours/glitch/components/dismissable_banner';
+import StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container';
+
+import ColumnSettingsContainer from './containers/column_settings_container';
const messages = defineMessages({
title: { id: 'column.public', defaultMessage: 'Federated timeline' },
diff --git a/app/javascript/flavours/glitch/features/reblogs/index.jsx b/app/javascript/flavours/glitch/features/reblogs/index.jsx
index 9d681a9713..87d6de90ec 100644
--- a/app/javascript/flavours/glitch/features/reblogs/index.jsx
+++ b/app/javascript/flavours/glitch/features/reblogs/index.jsx
@@ -1,16 +1,24 @@
-import { connect } from 'react-redux';
import PropTypes from 'prop-types';
+
+import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
+import { Helmet } from 'react-helmet';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
-import LoadingIndicator from 'flavours/glitch/components/loading_indicator';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+import { connect } from 'react-redux';
+
import { fetchReblogs } from 'flavours/glitch/actions/interactions';
+import ColumnHeader from 'flavours/glitch/components/column_header';
+import { Icon } from 'flavours/glitch/components/icon';
+import LoadingIndicator from 'flavours/glitch/components/loading_indicator';
+import ScrollableList from 'flavours/glitch/components/scrollable_list';
import AccountContainer from 'flavours/glitch/containers/account_container';
import Column from 'flavours/glitch/features/ui/components/column';
-import { Icon } from 'flavours/glitch/components/icon';
-import ColumnHeader from 'flavours/glitch/components/column_header';
-import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
-import ImmutablePureComponent from 'react-immutable-pure-component';
-import ScrollableList from 'flavours/glitch/components/scrollable_list';
-import { Helmet } from 'react-helmet';
+
+
+
+
const messages = defineMessages({
heading: { id: 'column.reblogged_by', defaultMessage: 'Boosted by' },
diff --git a/app/javascript/flavours/glitch/features/report/category.jsx b/app/javascript/flavours/glitch/features/report/category.jsx
index cd97d5747a..c2bcaa7573 100644
--- a/app/javascript/flavours/glitch/features/report/category.jsx
+++ b/app/javascript/flavours/glitch/features/report/category.jsx
@@ -1,11 +1,16 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
+import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
+import { List as ImmutableList } from 'immutable';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { connect } from 'react-redux';
-import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
import Button from 'flavours/glitch/components/button';
+
import Option from './components/option';
-import { List as ImmutableList } from 'immutable';
+
const messages = defineMessages({
dislike: { id: 'report.reasons.dislike', defaultMessage: 'I don\'t like it' },
diff --git a/app/javascript/flavours/glitch/features/report/comment.jsx b/app/javascript/flavours/glitch/features/report/comment.jsx
index d8677b837a..db534a21fb 100644
--- a/app/javascript/flavours/glitch/features/report/comment.jsx
+++ b/app/javascript/flavours/glitch/features/report/comment.jsx
@@ -1,9 +1,12 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import { injectIntl, defineMessages, FormattedMessage } from 'react-intl';
-import Button from 'flavours/glitch/components/button';
+
import Toggle from 'react-toggle';
+import Button from 'flavours/glitch/components/button';
+
const messages = defineMessages({
placeholder: { id: 'report.placeholder', defaultMessage: 'Type or paste additional comments' },
});
diff --git a/app/javascript/flavours/glitch/features/report/components/option.jsx b/app/javascript/flavours/glitch/features/report/components/option.jsx
index bc8962e211..da20fd0624 100644
--- a/app/javascript/flavours/glitch/features/report/components/option.jsx
+++ b/app/javascript/flavours/glitch/features/report/components/option.jsx
@@ -1,6 +1,8 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import classNames from 'classnames';
+
import Check from 'flavours/glitch/components/check';
export default class Option extends PureComponent {
diff --git a/app/javascript/flavours/glitch/features/report/components/status_check_box.jsx b/app/javascript/flavours/glitch/features/report/components/status_check_box.jsx
index fa45eabc69..533970a8ca 100644
--- a/app/javascript/flavours/glitch/features/report/components/status_check_box.jsx
+++ b/app/javascript/flavours/glitch/features/report/components/status_check_box.jsx
@@ -1,14 +1,17 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
-import StatusContent from 'flavours/glitch/components/status_content';
+
import { Avatar } from 'flavours/glitch/components/avatar';
import { DisplayName } from 'flavours/glitch/components/display_name';
-import { RelativeTimestamp } from 'flavours/glitch/components/relative_timestamp';
-import Option from './option';
import MediaAttachments from 'flavours/glitch/components/media_attachments';
+import { RelativeTimestamp } from 'flavours/glitch/components/relative_timestamp';
+import StatusContent from 'flavours/glitch/components/status_content';
import VisibilityIcon from 'flavours/glitch/components/status_visibility_icon';
+import Option from './option';
+
export default class StatusCheckBox extends PureComponent {
static propTypes = {
diff --git a/app/javascript/flavours/glitch/features/report/containers/status_check_box_container.js b/app/javascript/flavours/glitch/features/report/containers/status_check_box_container.js
index aa34b3efd4..2ffad21c02 100644
--- a/app/javascript/flavours/glitch/features/report/containers/status_check_box_container.js
+++ b/app/javascript/flavours/glitch/features/report/containers/status_check_box_container.js
@@ -1,7 +1,9 @@
import { connect } from 'react-redux';
-import StatusCheckBox from '../components/status_check_box';
+
import { makeGetStatus } from 'flavours/glitch/selectors';
+import StatusCheckBox from '../components/status_check_box';
+
const makeMapStateToProps = () => {
const getStatus = makeGetStatus();
diff --git a/app/javascript/flavours/glitch/features/report/rules.jsx b/app/javascript/flavours/glitch/features/report/rules.jsx
index 8c351b8bda..7a2aa59bd8 100644
--- a/app/javascript/flavours/glitch/features/report/rules.jsx
+++ b/app/javascript/flavours/glitch/features/report/rules.jsx
@@ -1,9 +1,13 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
+import { FormattedMessage } from 'react-intl';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
import { connect } from 'react-redux';
-import { FormattedMessage } from 'react-intl';
+
import Button from 'flavours/glitch/components/button';
+
import Option from './components/option';
const mapStateToProps = state => ({
diff --git a/app/javascript/flavours/glitch/features/report/statuses.jsx b/app/javascript/flavours/glitch/features/report/statuses.jsx
index 8b7116aee4..d3d4223497 100644
--- a/app/javascript/flavours/glitch/features/report/statuses.jsx
+++ b/app/javascript/flavours/glitch/features/report/statuses.jsx
@@ -1,12 +1,16 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
+import { FormattedMessage } from 'react-intl';
+
+import { OrderedSet } from 'immutable';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { connect } from 'react-redux';
-import StatusCheckBox from 'flavours/glitch/features/report/containers/status_check_box_container';
-import { OrderedSet } from 'immutable';
-import { FormattedMessage } from 'react-intl';
+
import Button from 'flavours/glitch/components/button';
import LoadingIndicator from 'flavours/glitch/components/loading_indicator';
+import StatusCheckBox from 'flavours/glitch/features/report/containers/status_check_box_container';
+
const mapStateToProps = (state, { accountId }) => ({
availableStatusIds: OrderedSet(state.getIn(['timelines', `account:${accountId}:with_replies`, 'items'])),
diff --git a/app/javascript/flavours/glitch/features/report/thanks.jsx b/app/javascript/flavours/glitch/features/report/thanks.jsx
index 57520b3457..fb16e6c80a 100644
--- a/app/javascript/flavours/glitch/features/report/thanks.jsx
+++ b/app/javascript/flavours/glitch/features/report/thanks.jsx
@@ -1,14 +1,17 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import ImmutablePropTypes from 'react-immutable-proptypes';
+import { PureComponent } from 'react';
+
import { FormattedMessage } from 'react-intl';
-import Button from 'flavours/glitch/components/button';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
import { connect } from 'react-redux';
+
import {
unfollowAccount,
muteAccount,
blockAccount,
} from 'flavours/glitch/actions/accounts';
+import Button from 'flavours/glitch/components/button';
const mapStateToProps = () => ({});
diff --git a/app/javascript/flavours/glitch/features/standalone/compose/index.jsx b/app/javascript/flavours/glitch/features/standalone/compose/index.jsx
index 973faf4a81..8ffd98d4ec 100644
--- a/app/javascript/flavours/glitch/features/standalone/compose/index.jsx
+++ b/app/javascript/flavours/glitch/features/standalone/compose/index.jsx
@@ -1,8 +1,9 @@
import { PureComponent } from 'react';
+
import ComposeFormContainer from 'flavours/glitch/features/compose/containers/compose_form_container';
-import NotificationsContainer from 'flavours/glitch/features/ui/containers/notifications_container';
import LoadingBarContainer from 'flavours/glitch/features/ui/containers/loading_bar_container';
import ModalContainer from 'flavours/glitch/features/ui/containers/modal_container';
+import NotificationsContainer from 'flavours/glitch/features/ui/containers/notifications_container';
export default class Compose extends PureComponent {
diff --git a/app/javascript/flavours/glitch/features/status/components/action_bar.jsx b/app/javascript/flavours/glitch/features/status/components/action_bar.jsx
index 328de9826a..67dfcb3502 100644
--- a/app/javascript/flavours/glitch/features/status/components/action_bar.jsx
+++ b/app/javascript/flavours/glitch/features/status/components/action_bar.jsx
@@ -1,13 +1,18 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import { IconButton } from 'flavours/glitch/components/icon_button';
-import ImmutablePropTypes from 'react-immutable-proptypes';
-import DropdownMenuContainer from 'flavours/glitch/containers/dropdown_menu_container';
+import { PureComponent } from 'react';
+
import { defineMessages, injectIntl } from 'react-intl';
-import { me } from 'flavours/glitch/initial_state';
-import { accountAdminLink, statusAdminLink } from 'flavours/glitch/utils/backend_links';
+
import classNames from 'classnames';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+
+import { IconButton } from 'flavours/glitch/components/icon_button';
+import DropdownMenuContainer from 'flavours/glitch/containers/dropdown_menu_container';
+import { me } from 'flavours/glitch/initial_state';
import { PERMISSION_MANAGE_USERS, PERMISSION_MANAGE_FEDERATION } from 'flavours/glitch/permissions';
+import { accountAdminLink, statusAdminLink } from 'flavours/glitch/utils/backend_links';
+
const messages = defineMessages({
delete: { id: 'status.delete', defaultMessage: 'Delete' },
diff --git a/app/javascript/flavours/glitch/features/status/components/card.jsx b/app/javascript/flavours/glitch/features/status/components/card.jsx
index 803af91979..632d84ed39 100644
--- a/app/javascript/flavours/glitch/features/status/components/card.jsx
+++ b/app/javascript/flavours/glitch/features/status/components/card.jsx
@@ -1,13 +1,17 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
+import { FormattedMessage } from 'react-intl';
+
+import classnames from 'classnames';
+
import Immutable from 'immutable';
import ImmutablePropTypes from 'react-immutable-proptypes';
-import { FormattedMessage } from 'react-intl';
-import classnames from 'classnames';
-import { decode as decodeIDNA } from 'flavours/glitch/utils/idna';
+
+import { Blurhash } from 'flavours/glitch/components/blurhash';
import { Icon } from 'flavours/glitch/components/icon';
import { useBlurhash } from 'flavours/glitch/initial_state';
-import { Blurhash } from 'flavours/glitch/components/blurhash';
+import { decode as decodeIDNA } from 'flavours/glitch/utils/idna';
const getHostname = url => {
const parser = document.createElement('a');
diff --git a/app/javascript/flavours/glitch/features/status/components/detailed_status.jsx b/app/javascript/flavours/glitch/features/status/components/detailed_status.jsx
index 8356fb40f6..b832ac5518 100644
--- a/app/javascript/flavours/glitch/features/status/components/detailed_status.jsx
+++ b/app/javascript/flavours/glitch/features/status/components/detailed_status.jsx
@@ -1,24 +1,33 @@
import PropTypes from 'prop-types';
+
+import { injectIntl, FormattedDate } from 'react-intl';
+
+import classNames from 'classnames';
+import { Link } from 'react-router-dom';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+
+import { AnimatedNumber } from 'flavours/glitch/components/animated_number';
+import AttachmentList from 'flavours/glitch/components/attachment_list';
import { Avatar } from 'flavours/glitch/components/avatar';
import { DisplayName } from 'flavours/glitch/components/display_name';
-import StatusContent from 'flavours/glitch/components/status_content';
-import MediaGallery from 'flavours/glitch/components/media_gallery';
-import AttachmentList from 'flavours/glitch/components/attachment_list';
-import { Link } from 'react-router-dom';
-import { injectIntl, FormattedDate } from 'react-intl';
-import Card from './card';
-import ImmutablePureComponent from 'react-immutable-pure-component';
-import Video from 'flavours/glitch/features/video';
-import Audio from 'flavours/glitch/features/audio';
-import VisibilityIcon from 'flavours/glitch/components/status_visibility_icon';
-import scheduleIdleTask from '../../ui/util/schedule_idle_task';
-import classNames from 'classnames';
-import PollContainer from 'flavours/glitch/containers/poll_container';
-import { Icon } from 'flavours/glitch/components/icon';
-import { AnimatedNumber } from 'flavours/glitch/components/animated_number';
-import PictureInPicturePlaceholder from 'flavours/glitch/components/picture_in_picture_placeholder';
import EditedTimestamp from 'flavours/glitch/components/edited_timestamp';
+import { Icon } from 'flavours/glitch/components/icon';
+import MediaGallery from 'flavours/glitch/components/media_gallery';
+import PictureInPicturePlaceholder from 'flavours/glitch/components/picture_in_picture_placeholder';
+import StatusContent from 'flavours/glitch/components/status_content';
+import VisibilityIcon from 'flavours/glitch/components/status_visibility_icon';
+import PollContainer from 'flavours/glitch/containers/poll_container';
+import Audio from 'flavours/glitch/features/audio';
+import Video from 'flavours/glitch/features/video';
+
+import scheduleIdleTask from '../../ui/util/schedule_idle_task';
+
+import Card from './card';
+
+
+
class DetailedStatus extends ImmutablePureComponent {
diff --git a/app/javascript/flavours/glitch/features/status/containers/detailed_status_container.js b/app/javascript/flavours/glitch/features/status/containers/detailed_status_container.js
index 0b3e0a2f04..56757eed03 100644
--- a/app/javascript/flavours/glitch/features/status/containers/detailed_status_container.js
+++ b/app/javascript/flavours/glitch/features/status/containers/detailed_status_container.js
@@ -1,6 +1,10 @@
+import { defineMessages, injectIntl } from 'react-intl';
+
import { connect } from 'react-redux';
-import DetailedStatus from '../components/detailed_status';
-import { makeGetStatus } from 'flavours/glitch/selectors';
+
+import { showAlertForError } from 'flavours/glitch/actions/alerts';
+import { initBlockModal } from 'flavours/glitch/actions/blocks';
+import { initBoostModal } from 'flavours/glitch/actions/boosts';
import {
replyCompose,
mentionCompose,
@@ -14,19 +18,18 @@ import {
pin,
unpin,
} from 'flavours/glitch/actions/interactions';
+import { openModal } from 'flavours/glitch/actions/modal';
+import { initMuteModal } from 'flavours/glitch/actions/mutes';
+import { initReport } from 'flavours/glitch/actions/reports';
import {
muteStatus,
unmuteStatus,
deleteStatus,
} from 'flavours/glitch/actions/statuses';
-import { initMuteModal } from 'flavours/glitch/actions/mutes';
-import { initBlockModal } from 'flavours/glitch/actions/blocks';
-import { initReport } from 'flavours/glitch/actions/reports';
-import { initBoostModal } from 'flavours/glitch/actions/boosts';
-import { openModal } from 'flavours/glitch/actions/modal';
-import { defineMessages, injectIntl } from 'react-intl';
import { boostModal, deleteModal } from 'flavours/glitch/initial_state';
-import { showAlertForError } from 'flavours/glitch/actions/alerts';
+import { makeGetStatus } from 'flavours/glitch/selectors';
+
+import DetailedStatus from '../components/detailed_status';
const messages = defineMessages({
deleteConfirm: { id: 'confirmations.delete.confirm', defaultMessage: 'Delete' },
diff --git a/app/javascript/flavours/glitch/features/status/index.jsx b/app/javascript/flavours/glitch/features/status/index.jsx
index 3dddc0997b..8efb335b6a 100644
--- a/app/javascript/flavours/glitch/features/status/index.jsx
+++ b/app/javascript/flavours/glitch/features/status/index.jsx
@@ -1,9 +1,39 @@
-import Immutable from 'immutable';
-import { connect } from 'react-redux';
import PropTypes from 'prop-types';
+
+import { defineMessages, injectIntl } from 'react-intl';
+
import classNames from 'classnames';
+import { Helmet } from 'react-helmet';
+
+import Immutable from 'immutable';
import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+import { connect } from 'react-redux';
import { createSelector } from 'reselect';
+
+import { HotKeys } from 'react-hotkeys';
+
+import { initBlockModal } from 'flavours/glitch/actions/blocks';
+import { initBoostModal } from 'flavours/glitch/actions/boosts';
+import {
+ replyCompose,
+ mentionCompose,
+ directCompose,
+} from 'flavours/glitch/actions/compose';
+import {
+ favourite,
+ unfavourite,
+ bookmark,
+ unbookmark,
+ reblog,
+ unreblog,
+ 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 { initReport } from 'flavours/glitch/actions/reports';
import {
fetchStatus,
muteStatus,
@@ -15,45 +45,22 @@ import {
translateStatus,
undoStatusTranslation,
} from 'flavours/glitch/actions/statuses';
-import LoadingIndicator from 'flavours/glitch/components/loading_indicator';
-import DetailedStatus from './components/detailed_status';
-import ActionBar from './components/action_bar';
-import Column from 'flavours/glitch/features/ui/components/column';
-import {
- favourite,
- unfavourite,
- bookmark,
- unbookmark,
- reblog,
- unreblog,
- pin,
- unpin,
-} from 'flavours/glitch/actions/interactions';
-import {
- replyCompose,
- mentionCompose,
- directCompose,
-} from 'flavours/glitch/actions/compose';
-import { changeLocalSetting } from 'flavours/glitch/actions/local_settings';
-import { initMuteModal } from 'flavours/glitch/actions/mutes';
-import { initBlockModal } from 'flavours/glitch/actions/blocks';
-import { initReport } from 'flavours/glitch/actions/reports';
-import { initBoostModal } from 'flavours/glitch/actions/boosts';
-import { makeGetStatus, makeGetPictureInPicture } from 'flavours/glitch/selectors';
-import ScrollContainer from 'flavours/glitch/containers/scroll_container';
-import ColumnHeader from '../../components/column_header';
-import StatusContainer from 'flavours/glitch/containers/status_container';
-import { openModal } from 'flavours/glitch/actions/modal';
-import { defineMessages, injectIntl } from 'react-intl';
-import ImmutablePureComponent from 'react-immutable-pure-component';
-import { HotKeys } from 'react-hotkeys';
-import { boostModal, favouriteModal, deleteModal } from 'flavours/glitch/initial_state';
-import { attachFullscreenListener, detachFullscreenListener, isFullscreen } from '../ui/util/fullscreen';
-import { autoUnfoldCW } from 'flavours/glitch/utils/content_warning';
-import { textForScreenReader, defaultMediaVisibility } from 'flavours/glitch/components/status';
import { Icon } from 'flavours/glitch/components/icon';
-import { Helmet } from 'react-helmet';
+import LoadingIndicator from 'flavours/glitch/components/loading_indicator';
+import { textForScreenReader, defaultMediaVisibility } from 'flavours/glitch/components/status';
+import ScrollContainer from 'flavours/glitch/containers/scroll_container';
+import StatusContainer from 'flavours/glitch/containers/status_container';
import BundleColumnError from 'flavours/glitch/features/ui/components/bundle_column_error';
+import Column from 'flavours/glitch/features/ui/components/column';
+import { boostModal, favouriteModal, deleteModal } from 'flavours/glitch/initial_state';
+import { makeGetStatus, makeGetPictureInPicture } from 'flavours/glitch/selectors';
+import { autoUnfoldCW } from 'flavours/glitch/utils/content_warning';
+
+import ColumnHeader from '../../components/column_header';
+import { attachFullscreenListener, detachFullscreenListener, isFullscreen } from '../ui/util/fullscreen';
+
+import ActionBar from './components/action_bar';
+import DetailedStatus from './components/detailed_status';
const messages = defineMessages({
deleteConfirm: { id: 'confirmations.delete.confirm', defaultMessage: 'Delete' },
diff --git a/app/javascript/flavours/glitch/features/subscribed_languages_modal/index.jsx b/app/javascript/flavours/glitch/features/subscribed_languages_modal/index.jsx
index 9ed2843ebd..fe45f4882f 100644
--- a/app/javascript/flavours/glitch/features/subscribed_languages_modal/index.jsx
+++ b/app/javascript/flavours/glitch/features/subscribed_languages_modal/index.jsx
@@ -1,15 +1,19 @@
import PropTypes from 'prop-types';
-import ImmutablePureComponent from 'react-immutable-pure-component';
+
+import { defineMessages, FormattedMessage, injectIntl } from 'react-intl';
+
+import { is, List as ImmutableList, Set as ImmutableSet } from 'immutable';
import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
import { connect } from 'react-redux';
import { createSelector } from 'reselect';
-import { is, List as ImmutableList, Set as ImmutableSet } from 'immutable';
-import { languages as preloadedLanguages } from 'flavours/glitch/initial_state';
-import Option from 'flavours/glitch/features/report/components/option';
-import { defineMessages, FormattedMessage, injectIntl } from 'react-intl';
-import { IconButton } from 'flavours/glitch/components/icon_button';
-import Button from 'flavours/glitch/components/button';
+
import { followAccount } from 'flavours/glitch/actions/accounts';
+import Button from 'flavours/glitch/components/button';
+import { IconButton } from 'flavours/glitch/components/icon_button';
+import Option from 'flavours/glitch/features/report/components/option';
+import { languages as preloadedLanguages } from 'flavours/glitch/initial_state';
+
const messages = defineMessages({
close: { id: 'lightbox.close', defaultMessage: 'Close' },
diff --git a/app/javascript/flavours/glitch/features/ui/components/actions_modal.jsx b/app/javascript/flavours/glitch/features/ui/components/actions_modal.jsx
index 01bf210fb0..5fe914d932 100644
--- a/app/javascript/flavours/glitch/features/ui/components/actions_modal.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/actions_modal.jsx
@@ -1,12 +1,15 @@
import PropTypes from 'prop-types';
+
+import classNames from 'classnames';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
-import StatusContent from 'flavours/glitch/components/status_content';
+
import { Avatar } from 'flavours/glitch/components/avatar';
-import { RelativeTimestamp } from 'flavours/glitch/components/relative_timestamp';
import { DisplayName } from 'flavours/glitch/components/display_name';
-import classNames from 'classnames';
import { IconButton } from 'flavours/glitch/components/icon_button';
+import { RelativeTimestamp } from 'flavours/glitch/components/relative_timestamp';
+import StatusContent from 'flavours/glitch/components/status_content';
export default class ActionsModal extends ImmutablePureComponent {
diff --git a/app/javascript/flavours/glitch/features/ui/components/audio_modal.jsx b/app/javascript/flavours/glitch/features/ui/components/audio_modal.jsx
index 30485a2f01..5c15642390 100644
--- a/app/javascript/flavours/glitch/features/ui/components/audio_modal.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/audio_modal.jsx
@@ -1,8 +1,10 @@
-import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
-import Audio from 'flavours/glitch/features/audio';
-import { connect } from 'react-redux';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
+import { connect } from 'react-redux';
+
+import Audio from 'flavours/glitch/features/audio';
import Footer from 'flavours/glitch/features/picture_in_picture/components/footer';
const mapStateToProps = (state, { statusId }) => ({
diff --git a/app/javascript/flavours/glitch/features/ui/components/block_modal.jsx b/app/javascript/flavours/glitch/features/ui/components/block_modal.jsx
index 3e3f7c83ac..90f262410d 100644
--- a/app/javascript/flavours/glitch/features/ui/components/block_modal.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/block_modal.jsx
@@ -1,12 +1,15 @@
-import { PureComponent } from 'react';
-import { connect } from 'react-redux';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import { injectIntl, FormattedMessage } from 'react-intl';
-import { makeGetAccount } from '../../../selectors';
-import Button from '../../../components/button';
-import { closeModal } from '../../../actions/modal';
+
+import { connect } from 'react-redux';
+
import { blockAccount } from '../../../actions/accounts';
+import { closeModal } from '../../../actions/modal';
import { initReport } from '../../../actions/reports';
+import Button from '../../../components/button';
+import { makeGetAccount } from '../../../selectors';
const makeMapStateToProps = () => {
diff --git a/app/javascript/flavours/glitch/features/ui/components/boost_modal.jsx b/app/javascript/flavours/glitch/features/ui/components/boost_modal.jsx
index 241ef155c3..b1c424ce34 100644
--- a/app/javascript/flavours/glitch/features/ui/components/boost_modal.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/boost_modal.jsx
@@ -1,19 +1,23 @@
-import { connect } from 'react-redux';
-import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
+
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
-import Button from 'flavours/glitch/components/button';
-import StatusContent from 'flavours/glitch/components/status_content';
-import { Avatar } from 'flavours/glitch/components/avatar';
-import { RelativeTimestamp } from 'flavours/glitch/components/relative_timestamp';
-import { DisplayName } from 'flavours/glitch/components/display_name';
-import AttachmentList from 'flavours/glitch/components/attachment_list';
-import { Icon } from 'flavours/glitch/components/icon';
-import ImmutablePureComponent from 'react-immutable-pure-component';
-import PrivacyDropdown from 'flavours/glitch/features/compose/components/privacy_dropdown';
+
import classNames from 'classnames';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+import { connect } from 'react-redux';
+
import { changeBoostPrivacy } from 'flavours/glitch/actions/boosts';
+import AttachmentList from 'flavours/glitch/components/attachment_list';
+import { Avatar } from 'flavours/glitch/components/avatar';
+import Button from 'flavours/glitch/components/button';
+import { DisplayName } from 'flavours/glitch/components/display_name';
+import { Icon } from 'flavours/glitch/components/icon';
+import { RelativeTimestamp } from 'flavours/glitch/components/relative_timestamp';
+import StatusContent from 'flavours/glitch/components/status_content';
import VisibilityIcon from 'flavours/glitch/components/status_visibility_icon';
+import PrivacyDropdown from 'flavours/glitch/features/compose/components/privacy_dropdown';
const messages = defineMessages({
cancel_reblog: { id: 'status.cancel_reblog_private', defaultMessage: 'Unboost' },
diff --git a/app/javascript/flavours/glitch/features/ui/components/bundle.jsx b/app/javascript/flavours/glitch/features/ui/components/bundle.jsx
index c44164e19f..ccbb565fbf 100644
--- a/app/javascript/flavours/glitch/features/ui/components/bundle.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/bundle.jsx
@@ -1,5 +1,5 @@
-import { Component } from 'react';
import PropTypes from 'prop-types';
+import { Component } from 'react';
const emptyComponent = () => null;
const noop = () => { };
diff --git a/app/javascript/flavours/glitch/features/ui/components/bundle_column_error.jsx b/app/javascript/flavours/glitch/features/ui/components/bundle_column_error.jsx
index 50c3f02b6b..cd971f9f2d 100644
--- a/app/javascript/flavours/glitch/features/ui/components/bundle_column_error.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/bundle_column_error.jsx
@@ -1,11 +1,14 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import { injectIntl, FormattedMessage } from 'react-intl';
-import Column from 'flavours/glitch/components/column';
-import Button from 'flavours/glitch/components/button';
+
+import classNames from 'classnames';
import { Helmet } from 'react-helmet';
import { Link } from 'react-router-dom';
-import classNames from 'classnames';
+
+import Button from 'flavours/glitch/components/button';
+import Column from 'flavours/glitch/components/column';
import { autoPlayGif } from 'flavours/glitch/initial_state';
class GIF extends PureComponent {
diff --git a/app/javascript/flavours/glitch/features/ui/components/bundle_modal_error.jsx b/app/javascript/flavours/glitch/features/ui/components/bundle_modal_error.jsx
index b4c85cc610..de43206481 100644
--- a/app/javascript/flavours/glitch/features/ui/components/bundle_modal_error.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/bundle_modal_error.jsx
@@ -1,5 +1,6 @@
-import { Component } from 'react';
import PropTypes from 'prop-types';
+import { Component } from 'react';
+
import { defineMessages, injectIntl } from 'react-intl';
import { IconButton } from 'flavours/glitch/components/icon_button';
diff --git a/app/javascript/flavours/glitch/features/ui/components/column.jsx b/app/javascript/flavours/glitch/features/ui/components/column.jsx
index c619552233..8f6259e5b7 100644
--- a/app/javascript/flavours/glitch/features/ui/components/column.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/column.jsx
@@ -1,9 +1,12 @@
-import { PureComponent } from 'react';
-import ColumnHeader from './column_header';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import { debounce } from 'lodash';
-import { scrollTop } from 'flavours/glitch/scroll';
+
import { isMobile } from 'flavours/glitch/is_mobile';
+import { scrollTop } from 'flavours/glitch/scroll';
+
+import ColumnHeader from './column_header';
export default class Column extends PureComponent {
diff --git a/app/javascript/flavours/glitch/features/ui/components/column_header.jsx b/app/javascript/flavours/glitch/features/ui/components/column_header.jsx
index a8a2638304..a2934e60f1 100644
--- a/app/javascript/flavours/glitch/features/ui/components/column_header.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/column_header.jsx
@@ -1,6 +1,8 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import classNames from 'classnames';
+
import { Icon } from 'flavours/glitch/components/icon';
export default class ColumnHeader extends PureComponent {
diff --git a/app/javascript/flavours/glitch/features/ui/components/column_link.jsx b/app/javascript/flavours/glitch/features/ui/components/column_link.jsx
index a57e68f6d2..be8f4ca4bb 100644
--- a/app/javascript/flavours/glitch/features/ui/components/column_link.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/column_link.jsx
@@ -1,7 +1,9 @@
import PropTypes from 'prop-types';
-import { NavLink } from 'react-router-dom';
-import { Icon } from 'flavours/glitch/components/icon';
+
import classNames from 'classnames';
+import { NavLink } from 'react-router-dom';
+
+import { Icon } from 'flavours/glitch/components/icon';
const ColumnLink = ({ icon, text, to, onClick, href, method, badge, transparent, ...other }) => {
const className = classNames('column-link', { 'column-link--transparent': transparent });
diff --git a/app/javascript/flavours/glitch/features/ui/components/column_loading.jsx b/app/javascript/flavours/glitch/features/ui/components/column_loading.jsx
index 5202919de9..c6a9fb278e 100644
--- a/app/javascript/flavours/glitch/features/ui/components/column_loading.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/column_loading.jsx
@@ -1,8 +1,9 @@
import PropTypes from 'prop-types';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+
import Column from 'flavours/glitch/components/column';
import ColumnHeader from 'flavours/glitch/components/column_header';
-import ImmutablePureComponent from 'react-immutable-pure-component';
export default class ColumnLoading extends ImmutablePureComponent {
diff --git a/app/javascript/flavours/glitch/features/ui/components/columns_area.jsx b/app/javascript/flavours/glitch/features/ui/components/columns_area.jsx
index b129acc404..c43f551dc9 100644
--- a/app/javascript/flavours/glitch/features/ui/components/columns_area.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/columns_area.jsx
@@ -1,11 +1,14 @@
-import { Children, cloneElement } from 'react';
import PropTypes from 'prop-types';
+import { Children, cloneElement } from 'react';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
+
+import { supportsPassiveEvents } from 'detect-passive-events';
+
+import { scrollRight } from 'flavours/glitch/scroll';
+
import BundleContainer from '../containers/bundle_container';
-import ColumnLoading from './column_loading';
-import DrawerLoading from './drawer_loading';
-import BundleColumnError from './bundle_column_error';
import {
Compose,
Notifications,
@@ -19,11 +22,13 @@ import {
ListTimeline,
Directory,
} from '../util/async-components';
+
+import BundleColumnError from './bundle_column_error';
+import ColumnLoading from './column_loading';
import ComposePanel from './compose_panel';
+import DrawerLoading from './drawer_loading';
import NavigationPanel from './navigation_panel';
-import { supportsPassiveEvents } from 'detect-passive-events';
-import { scrollRight } from 'flavours/glitch/scroll';
const componentMap = {
'COMPOSE': Compose,
diff --git a/app/javascript/flavours/glitch/features/ui/components/compare_history_modal.jsx b/app/javascript/flavours/glitch/features/ui/components/compare_history_modal.jsx
index b6b33ee8d8..9c1a9e27ee 100644
--- a/app/javascript/flavours/glitch/features/ui/components/compare_history_modal.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/compare_history_modal.jsx
@@ -1,15 +1,19 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
+import { FormattedMessage } from 'react-intl';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
import { connect } from 'react-redux';
-import { FormattedMessage } from 'react-intl';
-import { closeModal } from 'flavours/glitch/actions/modal';
-import emojify from 'flavours/glitch/features/emoji/emoji';
+
import escapeTextContentForBrowser from 'escape-html';
-import InlineAccount from 'flavours/glitch/components/inline_account';
+
+import { closeModal } from 'flavours/glitch/actions/modal';
import { IconButton } from 'flavours/glitch/components/icon_button';
-import { RelativeTimestamp } from 'flavours/glitch/components/relative_timestamp';
+import InlineAccount from 'flavours/glitch/components/inline_account';
import MediaAttachments from 'flavours/glitch/components/media_attachments';
+import { RelativeTimestamp } from 'flavours/glitch/components/relative_timestamp';
+import emojify from 'flavours/glitch/features/emoji/emoji';
const mapStateToProps = (state, { statusId }) => ({
language: state.getIn(['statuses', statusId, 'language']),
diff --git a/app/javascript/flavours/glitch/features/ui/components/compose_panel.jsx b/app/javascript/flavours/glitch/features/ui/components/compose_panel.jsx
index a3301cd383..1b92ac398f 100644
--- a/app/javascript/flavours/glitch/features/ui/components/compose_panel.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/compose_panel.jsx
@@ -1,12 +1,16 @@
-import { PureComponent } from 'react';
-import { connect } from 'react-redux';
import PropTypes from 'prop-types';
-import SearchContainer from 'flavours/glitch/features/compose/containers/search_container';
+import { PureComponent } from 'react';
+
+import { connect } from 'react-redux';
+
+import { mountCompose, unmountCompose } from 'flavours/glitch/actions/compose';
+import ServerBanner from 'flavours/glitch/components/server_banner';
import ComposeFormContainer from 'flavours/glitch/features/compose/containers/compose_form_container';
import NavigationContainer from 'flavours/glitch/features/compose/containers/navigation_container';
+import SearchContainer from 'flavours/glitch/features/compose/containers/search_container';
+
import LinkFooter from './link_footer';
-import ServerBanner from 'flavours/glitch/components/server_banner';
-import { mountCompose, unmountCompose } from 'flavours/glitch/actions/compose';
+
class ComposePanel extends PureComponent {
diff --git a/app/javascript/flavours/glitch/features/ui/components/confirmation_modal.jsx b/app/javascript/flavours/glitch/features/ui/components/confirmation_modal.jsx
index eb8d654ea7..2fc7e3f3e0 100644
--- a/app/javascript/flavours/glitch/features/ui/components/confirmation_modal.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/confirmation_modal.jsx
@@ -1,6 +1,8 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import { injectIntl, FormattedMessage } from 'react-intl';
+
import Button from 'flavours/glitch/components/button';
class ConfirmationModal extends PureComponent {
diff --git a/app/javascript/flavours/glitch/features/ui/components/deprecated_settings_modal.jsx b/app/javascript/flavours/glitch/features/ui/components/deprecated_settings_modal.jsx
index 324b0f3b2d..ba77feb6a5 100644
--- a/app/javascript/flavours/glitch/features/ui/components/deprecated_settings_modal.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/deprecated_settings_modal.jsx
@@ -1,11 +1,14 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import ImmutablePropTypes from 'react-immutable-proptypes';
+import { PureComponent } from 'react';
+
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
-import { preferenceLink } from 'flavours/glitch/utils/backend_links';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+
import Button from 'flavours/glitch/components/button';
import { Icon } from 'flavours/glitch/components/icon';
import illustration from 'flavours/glitch/images/logo_warn_glitch.svg';
+import { preferenceLink } from 'flavours/glitch/utils/backend_links';
const messages = defineMessages({
discardChanges: { id: 'confirmations.deprecated_settings.confirm', defaultMessage: 'Use Mastodon preferences' },
diff --git a/app/javascript/flavours/glitch/features/ui/components/disabled_account_banner.jsx b/app/javascript/flavours/glitch/features/ui/components/disabled_account_banner.jsx
index 1a52adf2a3..b9b68c2887 100644
--- a/app/javascript/flavours/glitch/features/ui/components/disabled_account_banner.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/disabled_account_banner.jsx
@@ -1,10 +1,14 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import { connect } from 'react-redux';
-import { Link } from 'react-router-dom';
+import { PureComponent } from 'react';
+
import { FormattedMessage, defineMessages, injectIntl } from 'react-intl';
-import { disabledAccountId, movedToAccountId, domain } from 'flavours/glitch/initial_state';
+
+import { Link } from 'react-router-dom';
+
+import { connect } from 'react-redux';
+
import { openModal } from 'flavours/glitch/actions/modal';
+import { disabledAccountId, movedToAccountId, domain } from 'flavours/glitch/initial_state';
import { logOut } from 'flavours/glitch/utils/log_out';
const messages = defineMessages({
diff --git a/app/javascript/flavours/glitch/features/ui/components/doodle_modal.jsx b/app/javascript/flavours/glitch/features/ui/components/doodle_modal.jsx
index 588002fd08..d27dbfe8c5 100644
--- a/app/javascript/flavours/glitch/features/ui/components/doodle_modal.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/doodle_modal.jsx
@@ -1,14 +1,20 @@
import PropTypes from 'prop-types';
-import Button from 'flavours/glitch/components/button';
-import ImmutablePureComponent from 'react-immutable-pure-component';
-import Atrament from 'atrament'; // the doodling library
-import { connect } from 'react-redux';
-import ImmutablePropTypes from 'react-immutable-proptypes';
-import { doodleSet, uploadCompose } from 'flavours/glitch/actions/compose';
-import { IconButton } from 'flavours/glitch/components/icon_button';
-import { debounce, mapValues } from 'lodash';
+
import classNames from 'classnames';
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+import { connect } from 'react-redux';
+
+import Atrament from 'atrament'; // the doodling library
+import { debounce, mapValues } from 'lodash';
+
+import { doodleSet, uploadCompose } from 'flavours/glitch/actions/compose';
+import Button from 'flavours/glitch/components/button';
+import { IconButton } from 'flavours/glitch/components/icon_button';
+
+
+
// palette nicked from MyPaint, CC0
const palette = [
['rgb( 0, 0, 0)', 'Black'],
diff --git a/app/javascript/flavours/glitch/features/ui/components/embed_modal.jsx b/app/javascript/flavours/glitch/features/ui/components/embed_modal.jsx
index 4facd5fe2d..dffa361429 100644
--- a/app/javascript/flavours/glitch/features/ui/components/embed_modal.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/embed_modal.jsx
@@ -1,6 +1,9 @@
import PropTypes from 'prop-types';
-import ImmutablePureComponent from 'react-immutable-pure-component';
+
import { defineMessages, FormattedMessage, injectIntl } from 'react-intl';
+
+import ImmutablePureComponent from 'react-immutable-pure-component';
+
import api from 'flavours/glitch/api';
import { IconButton } from 'flavours/glitch/components/icon_button';
diff --git a/app/javascript/flavours/glitch/features/ui/components/favourite_modal.jsx b/app/javascript/flavours/glitch/features/ui/components/favourite_modal.jsx
index c3b335055d..fa955b0483 100644
--- a/app/javascript/flavours/glitch/features/ui/components/favourite_modal.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/favourite_modal.jsx
@@ -1,15 +1,19 @@
-import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
+
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
-import Button from 'flavours/glitch/components/button';
-import StatusContent from 'flavours/glitch/components/status_content';
-import { Avatar } from 'flavours/glitch/components/avatar';
-import { RelativeTimestamp } from 'flavours/glitch/components/relative_timestamp';
-import { DisplayName } from 'flavours/glitch/components/display_name';
-import AttachmentList from 'flavours/glitch/components/attachment_list';
-import { Icon } from 'flavours/glitch/components/icon';
-import ImmutablePureComponent from 'react-immutable-pure-component';
+
import classNames from 'classnames';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import ImmutablePureComponent from 'react-immutable-pure-component';
+
+import AttachmentList from 'flavours/glitch/components/attachment_list';
+import { Avatar } from 'flavours/glitch/components/avatar';
+import Button from 'flavours/glitch/components/button';
+import { DisplayName } from 'flavours/glitch/components/display_name';
+import { Icon } from 'flavours/glitch/components/icon';
+import { RelativeTimestamp } from 'flavours/glitch/components/relative_timestamp';
+import StatusContent from 'flavours/glitch/components/status_content';
import VisibilityIcon from 'flavours/glitch/components/status_visibility_icon';
const messages = defineMessages({
diff --git a/app/javascript/flavours/glitch/features/ui/components/filter_modal.jsx b/app/javascript/flavours/glitch/features/ui/components/filter_modal.jsx
index 0987b61be5..8bd74a0012 100644
--- a/app/javascript/flavours/glitch/features/ui/components/filter_modal.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/filter_modal.jsx
@@ -1,12 +1,15 @@
-import { connect } from 'react-redux';
-import { fetchStatus } from 'flavours/glitch/actions/statuses';
-import { fetchFilters, createFilter, createFilterStatus } from 'flavours/glitch/actions/filters';
import PropTypes from 'prop-types';
+
import { defineMessages, FormattedMessage, injectIntl } from 'react-intl';
+
import ImmutablePureComponent from 'react-immutable-pure-component';
+import { connect } from 'react-redux';
+
+import { fetchFilters, createFilter, createFilterStatus } from 'flavours/glitch/actions/filters';
+import { fetchStatus } from 'flavours/glitch/actions/statuses';
import { IconButton } from 'flavours/glitch/components/icon_button';
-import SelectFilter from 'flavours/glitch/features/filters/select_filter';
import AddedToFilter from 'flavours/glitch/features/filters/added_to_filter';
+import SelectFilter from 'flavours/glitch/features/filters/select_filter';
const messages = defineMessages({
close: { id: 'lightbox.close', defaultMessage: 'Close' },
diff --git a/app/javascript/flavours/glitch/features/ui/components/focal_point_modal.jsx b/app/javascript/flavours/glitch/features/ui/components/focal_point_modal.jsx
index f368327bfb..ed3bed47e1 100644
--- a/app/javascript/flavours/glitch/features/ui/components/focal_point_modal.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/focal_point_modal.jsx
@@ -1,28 +1,34 @@
-import { PureComponent } from 'react';
-import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
+import { FormattedMessage, defineMessages, injectIntl } from 'react-intl';
+
+import classNames from 'classnames';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { connect } from 'react-redux';
-import classNames from 'classnames';
-import { changeUploadCompose, uploadThumbnail, onChangeMediaDescription, onChangeMediaFocus } from '../../../actions/compose';
-import Video, { getPointerPosition } from 'flavours/glitch/features/video';
-import { FormattedMessage, defineMessages, injectIntl } from 'react-intl';
-import { IconButton } from 'flavours/glitch/components/icon_button';
-import Button from 'flavours/glitch/components/button';
-import Audio from 'flavours/glitch/features/audio';
+
import Textarea from 'react-textarea-autosize';
-import UploadProgress from 'flavours/glitch/features/compose/components/upload_progress';
-import CharacterCounter from 'flavours/glitch/features/compose/components/character_counter';
import { length } from 'stringz';
-import { Tesseract as fetchTesseract } from 'flavours/glitch/features/ui/util/async-components';
-import { GIFV } from 'flavours/glitch/components/gifv';
-import { me } from 'flavours/glitch/initial_state';
-// eslint-disable-next-line import/no-extraneous-dependencies
-import tesseractCorePath from 'tesseract.js-core/tesseract-core.wasm.js';
// eslint-disable-next-line import/extensions
import tesseractWorkerPath from 'tesseract.js/dist/worker.min.js';
+// eslint-disable-next-line import/no-extraneous-dependencies
+import tesseractCorePath from 'tesseract.js-core/tesseract-core.wasm.js';
+
+import Button from 'flavours/glitch/components/button';
+import { GIFV } from 'flavours/glitch/components/gifv';
+import { IconButton } from 'flavours/glitch/components/icon_button';
+import Audio from 'flavours/glitch/features/audio';
+import CharacterCounter from 'flavours/glitch/features/compose/components/character_counter';
+import UploadProgress from 'flavours/glitch/features/compose/components/upload_progress';
+import { Tesseract as fetchTesseract } from 'flavours/glitch/features/ui/util/async-components';
+import Video, { getPointerPosition } from 'flavours/glitch/features/video';
+import { me } from 'flavours/glitch/initial_state';
import { assetHost } from 'flavours/glitch/utils/config';
+import { changeUploadCompose, uploadThumbnail, onChangeMediaDescription, onChangeMediaFocus } from '../../../actions/compose';
+
const messages = defineMessages({
close: { id: 'lightbox.close', defaultMessage: 'Close' },
apply: { id: 'upload_modal.apply', defaultMessage: 'Apply' },
diff --git a/app/javascript/flavours/glitch/features/ui/components/follow_requests_column_link.jsx b/app/javascript/flavours/glitch/features/ui/components/follow_requests_column_link.jsx
index 9d4ddfadf1..2a56292fb7 100644
--- a/app/javascript/flavours/glitch/features/ui/components/follow_requests_column_link.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/follow_requests_column_link.jsx
@@ -1,12 +1,17 @@
-import { Component } from 'react';
import PropTypes from 'prop-types';
-import { fetchFollowRequests } from 'flavours/glitch/actions/accounts';
-import { connect } from 'react-redux';
-import ColumnLink from 'flavours/glitch/features/ui/components/column_link';
-import { IconWithBadge } from 'flavours/glitch/components/icon_with_badge';
-import { List as ImmutableList } from 'immutable';
+import { Component } from 'react';
+
import { injectIntl, defineMessages } from 'react-intl';
+import { List as ImmutableList } from 'immutable';
+import { connect } from 'react-redux';
+
+import { fetchFollowRequests } from 'flavours/glitch/actions/accounts';
+import { IconWithBadge } from 'flavours/glitch/components/icon_with_badge';
+import ColumnLink from 'flavours/glitch/features/ui/components/column_link';
+
+
+
const messages = defineMessages({
text: { id: 'navigation_bar.follow_requests', defaultMessage: 'Follow requests' },
});
diff --git a/app/javascript/flavours/glitch/features/ui/components/header.jsx b/app/javascript/flavours/glitch/features/ui/components/header.jsx
index 5098781e02..f4a3db9776 100644
--- a/app/javascript/flavours/glitch/features/ui/components/header.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/header.jsx
@@ -1,13 +1,17 @@
-import { PureComponent } from 'react';
-import { WordmarkLogo, SymbolLogo } from 'flavours/glitch/components/logo';
-import { Link, withRouter } from 'react-router-dom';
-import { FormattedMessage } from 'react-intl';
-import { registrationsOpen, me } from 'flavours/glitch/initial_state';
-import { Avatar } from 'flavours/glitch/components/avatar';
-import Permalink from 'flavours/glitch/components/permalink';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
+import { FormattedMessage } from 'react-intl';
+
+import { Link, withRouter } from 'react-router-dom';
+
import { connect } from 'react-redux';
+
import { openModal } from 'flavours/glitch/actions/modal';
+import { Avatar } from 'flavours/glitch/components/avatar';
+import { WordmarkLogo, SymbolLogo } from 'flavours/glitch/components/logo';
+import Permalink from 'flavours/glitch/components/permalink';
+import { registrationsOpen, me } from 'flavours/glitch/initial_state';
const Account = connect(state => ({
account: state.getIn(['accounts', me]),
diff --git a/app/javascript/flavours/glitch/features/ui/components/image_loader.jsx b/app/javascript/flavours/glitch/features/ui/components/image_loader.jsx
index 62b54a3e97..9dabc621b4 100644
--- a/app/javascript/flavours/glitch/features/ui/components/image_loader.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/image_loader.jsx
@@ -1,7 +1,10 @@
-import classNames from 'classnames';
import PropTypes from 'prop-types';
import { PureComponent } from 'react';
+
+import classNames from 'classnames';
+
import { LoadingBar } from 'react-redux-loading-bar';
+
import ZoomableImage from './zoomable_image';
export default class ImageLoader extends PureComponent {
diff --git a/app/javascript/flavours/glitch/features/ui/components/image_modal.jsx b/app/javascript/flavours/glitch/features/ui/components/image_modal.jsx
index 96e8faab7e..dd9e8b0f28 100644
--- a/app/javascript/flavours/glitch/features/ui/components/image_modal.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/image_modal.jsx
@@ -1,8 +1,12 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import classNames from 'classnames';
+import { PureComponent } from 'react';
+
import { defineMessages, injectIntl } from 'react-intl';
+
+import classNames from 'classnames';
+
import { IconButton } from 'flavours/glitch/components/icon_button';
+
import ImageLoader from './image_loader';
const messages = defineMessages({
diff --git a/app/javascript/flavours/glitch/features/ui/components/link_footer.jsx b/app/javascript/flavours/glitch/features/ui/components/link_footer.jsx
index 4b6484332c..ce65c3d827 100644
--- a/app/javascript/flavours/glitch/features/ui/components/link_footer.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/link_footer.jsx
@@ -1,12 +1,16 @@
-import { connect } from 'react-redux';
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import { FormattedMessage, defineMessages, injectIntl } from 'react-intl';
+
import { Link } from 'react-router-dom';
-import { domain, version, source_url, statusPageUrl, profile_directory as profileDirectory } from 'flavours/glitch/initial_state';
-import { logOut } from 'flavours/glitch/utils/log_out';
+
+import { connect } from 'react-redux';
+
import { openModal } from 'flavours/glitch/actions/modal';
+import { domain, version, source_url, statusPageUrl, profile_directory as profileDirectory } from 'flavours/glitch/initial_state';
import { PERMISSION_INVITE_USERS } from 'flavours/glitch/permissions';
+import { logOut } from 'flavours/glitch/utils/log_out';
const messages = defineMessages({
logoutMessage: { id: 'confirmations.logout.message', defaultMessage: 'Are you sure you want to log out?' },
diff --git a/app/javascript/flavours/glitch/features/ui/components/list_panel.jsx b/app/javascript/flavours/glitch/features/ui/components/list_panel.jsx
index f1e2673052..e6830e544a 100644
--- a/app/javascript/flavours/glitch/features/ui/components/list_panel.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/list_panel.jsx
@@ -1,10 +1,14 @@
import PropTypes from 'prop-types';
-import { createSelector } from 'reselect';
+
+import { withRouter } from 'react-router-dom';
+
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { connect } from 'react-redux';
-import { withRouter } from 'react-router-dom';
+import { createSelector } from 'reselect';
+
import { fetchLists } from 'flavours/glitch/actions/lists';
+
import ColumnLink from './column_link';
const getOrderedLists = createSelector([state => state.get('lists')], lists => {
diff --git a/app/javascript/flavours/glitch/features/ui/components/media_modal.jsx b/app/javascript/flavours/glitch/features/ui/components/media_modal.jsx
index 5d86d88665..ed70814093 100644
--- a/app/javascript/flavours/glitch/features/ui/components/media_modal.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/media_modal.jsx
@@ -1,18 +1,24 @@
-import ReactSwipeableViews from 'react-swipeable-views';
-import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
-import Video from 'flavours/glitch/features/video';
-import classNames from 'classnames';
+
import { defineMessages, injectIntl } from 'react-intl';
-import { IconButton } from 'flavours/glitch/components/icon_button';
+
+import classNames from 'classnames';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
-import ImageLoader from './image_loader';
-import { Icon } from 'flavours/glitch/components/icon';
-import { GIFV } from 'flavours/glitch/components/gifv';
-import Footer from 'flavours/glitch/features/picture_in_picture/components/footer';
+
+import ReactSwipeableViews from 'react-swipeable-views';
+
import { getAverageFromBlurhash } from 'flavours/glitch/blurhash';
+import { GIFV } from 'flavours/glitch/components/gifv';
+import { Icon } from 'flavours/glitch/components/icon';
+import { IconButton } from 'flavours/glitch/components/icon_button';
+import Footer from 'flavours/glitch/features/picture_in_picture/components/footer';
+import Video from 'flavours/glitch/features/video';
import { disableSwiping } from 'flavours/glitch/initial_state';
+import ImageLoader from './image_loader';
+
const messages = defineMessages({
close: { id: 'lightbox.close', defaultMessage: 'Close' },
previous: { id: 'lightbox.previous', defaultMessage: 'Previous' },
diff --git a/app/javascript/flavours/glitch/features/ui/components/modal_root.jsx b/app/javascript/flavours/glitch/features/ui/components/modal_root.jsx
index 8ad106d9a5..97bf1f6ad1 100644
--- a/app/javascript/flavours/glitch/features/ui/components/modal_root.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/modal_root.jsx
@@ -1,21 +1,9 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import { getScrollbarWidth } from 'flavours/glitch/utils/scrollbar';
+import { PureComponent } from 'react';
+
+import { Helmet } from 'react-helmet';
+
import Base from 'flavours/glitch/components/modal_root';
-import BundleContainer from '../containers/bundle_container';
-import BundleModalError from './bundle_modal_error';
-import ModalLoading from './modal_loading';
-import ActionsModal from './actions_modal';
-import MediaModal from './media_modal';
-import VideoModal from './video_modal';
-import BoostModal from './boost_modal';
-import FavouriteModal from './favourite_modal';
-import AudioModal from './audio_modal';
-import DoodleModal from './doodle_modal';
-import ConfirmationModal from './confirmation_modal';
-import FocalPointModal from './focal_point_modal';
-import DeprecatedSettingsModal from './deprecated_settings_modal';
-import ImageModal from './image_modal';
import {
OnboardingModal,
MuteModal,
@@ -32,7 +20,25 @@ import {
SubscribedLanguagesModal,
ClosedRegistrationsModal,
} from 'flavours/glitch/features/ui/util/async-components';
-import { Helmet } from 'react-helmet';
+import { getScrollbarWidth } from 'flavours/glitch/utils/scrollbar';
+
+import BundleContainer from '../containers/bundle_container';
+
+import ActionsModal from './actions_modal';
+import AudioModal from './audio_modal';
+import BoostModal from './boost_modal';
+import BundleModalError from './bundle_modal_error';
+import ConfirmationModal from './confirmation_modal';
+import DeprecatedSettingsModal from './deprecated_settings_modal';
+import DoodleModal from './doodle_modal';
+import FavouriteModal from './favourite_modal';
+import FocalPointModal from './focal_point_modal';
+import ImageModal from './image_modal';
+import MediaModal from './media_modal';
+import ModalLoading from './modal_loading';
+import VideoModal from './video_modal';
+
+
const MODAL_COMPONENTS = {
'MEDIA': () => Promise.resolve({ default: MediaModal }),
diff --git a/app/javascript/flavours/glitch/features/ui/components/mute_modal.jsx b/app/javascript/flavours/glitch/features/ui/components/mute_modal.jsx
index 225e53de38..1060a9e63d 100644
--- a/app/javascript/flavours/glitch/features/ui/components/mute_modal.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/mute_modal.jsx
@@ -1,12 +1,16 @@
-import { PureComponent } from 'react';
-import { connect } from 'react-redux';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
+import { connect } from 'react-redux';
+
import Toggle from 'react-toggle';
-import Button from 'flavours/glitch/components/button';
-import { closeModal } from 'flavours/glitch/actions/modal';
+
import { muteAccount } from 'flavours/glitch/actions/accounts';
+import { closeModal } from 'flavours/glitch/actions/modal';
import { toggleHideNotifications, changeMuteDuration } from 'flavours/glitch/actions/mutes';
+import Button from 'flavours/glitch/components/button';
const messages = defineMessages({
minutes: { id: 'intervals.full.minutes', defaultMessage: '{number, plural, one {# minute} other {# minutes}}' },
diff --git a/app/javascript/flavours/glitch/features/ui/components/navigation_panel.jsx b/app/javascript/flavours/glitch/features/ui/components/navigation_panel.jsx
index b07dd13eff..4c0f4bf9b7 100644
--- a/app/javascript/flavours/glitch/features/ui/components/navigation_panel.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/navigation_panel.jsx
@@ -1,15 +1,18 @@
-import { Component } from 'react';
import PropTypes from 'prop-types';
+import { Component } from 'react';
+
import { defineMessages, injectIntl } from 'react-intl';
+
+import NavigationPortal from 'flavours/glitch/components/navigation_portal';
import { timelinePreview, showTrends } from 'flavours/glitch/initial_state';
+import { preferencesLink } from 'flavours/glitch/utils/backend_links';
+
import ColumnLink from './column_link';
import DisabledAccountBanner from './disabled_account_banner';
import FollowRequestsColumnLink from './follow_requests_column_link';
import ListPanel from './list_panel';
import NotificationsCounterIcon from './notifications_counter_icon';
import SignInBanner from './sign_in_banner';
-import { preferencesLink } from 'flavours/glitch/utils/backend_links';
-import NavigationPortal from 'flavours/glitch/components/navigation_portal';
const messages = defineMessages({
home: { id: 'tabs_bar.home', defaultMessage: 'Home' },
diff --git a/app/javascript/flavours/glitch/features/ui/components/notifications_counter_icon.js b/app/javascript/flavours/glitch/features/ui/components/notifications_counter_icon.js
index db54c16185..dc92dcb2c9 100644
--- a/app/javascript/flavours/glitch/features/ui/components/notifications_counter_icon.js
+++ b/app/javascript/flavours/glitch/features/ui/components/notifications_counter_icon.js
@@ -1,4 +1,5 @@
import { connect } from 'react-redux';
+
import { IconWithBadge } from 'flavours/glitch/components/icon_with_badge';
const mapStateToProps = state => ({
diff --git a/app/javascript/flavours/glitch/features/ui/components/onboarding_modal.jsx b/app/javascript/flavours/glitch/features/ui/components/onboarding_modal.jsx
index 34dcb36424..15a721ce23 100644
--- a/app/javascript/flavours/glitch/features/ui/components/onboarding_modal.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/onboarding_modal.jsx
@@ -1,17 +1,23 @@
-import { PureComponent } from 'react';
-import { connect } from 'react-redux';
import PropTypes from 'prop-types';
-import ImmutablePropTypes from 'react-immutable-proptypes';
+import { PureComponent } from 'react';
+
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
-import ReactSwipeableViews from 'react-swipeable-views';
+
import classNames from 'classnames';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
+import { connect } from 'react-redux';
+
+import ReactSwipeableViews from 'react-swipeable-views';
+
import Permalink from 'flavours/glitch/components/permalink';
import ComposeForm from 'flavours/glitch/features/compose/components/compose_form';
import DrawerAccount from 'flavours/glitch/features/compose/components/navigation_bar';
import Search from 'flavours/glitch/features/compose/components/search';
-import ColumnHeader from './column_header';
import { me, source_url } from 'flavours/glitch/initial_state';
+import ColumnHeader from './column_header';
+
const noop = () => { };
const messages = defineMessages({
diff --git a/app/javascript/flavours/glitch/features/ui/components/report_modal.jsx b/app/javascript/flavours/glitch/features/ui/components/report_modal.jsx
index 94b57a95cf..ef1edd7de0 100644
--- a/app/javascript/flavours/glitch/features/ui/components/report_modal.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/report_modal.jsx
@@ -1,20 +1,23 @@
-import { connect } from 'react-redux';
-import { submitReport } from 'flavours/glitch/actions/reports';
-import { expandAccountTimeline } from 'flavours/glitch/actions/timelines';
-import { fetchServer } from 'flavours/glitch/actions/server';
-import { fetchRelationships } from 'flavours/glitch/actions/accounts';
import PropTypes from 'prop-types';
-import ImmutablePropTypes from 'react-immutable-proptypes';
-import { makeGetAccount } from 'flavours/glitch/selectors';
+
import { defineMessages, FormattedMessage, injectIntl } from 'react-intl';
+
import { OrderedSet } from 'immutable';
+import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
+import { connect } from 'react-redux';
+
+import { fetchRelationships } from 'flavours/glitch/actions/accounts';
+import { submitReport } from 'flavours/glitch/actions/reports';
+import { fetchServer } from 'flavours/glitch/actions/server';
+import { expandAccountTimeline } from 'flavours/glitch/actions/timelines';
import { IconButton } from 'flavours/glitch/components/icon_button';
import Category from 'flavours/glitch/features/report/category';
-import Statuses from 'flavours/glitch/features/report/statuses';
-import Rules from 'flavours/glitch/features/report/rules';
import Comment from 'flavours/glitch/features/report/comment';
+import Rules from 'flavours/glitch/features/report/rules';
+import Statuses from 'flavours/glitch/features/report/statuses';
import Thanks from 'flavours/glitch/features/report/thanks';
+import { makeGetAccount } from 'flavours/glitch/selectors';
const messages = defineMessages({
close: { id: 'lightbox.close', defaultMessage: 'Close' },
diff --git a/app/javascript/flavours/glitch/features/ui/components/sign_in_banner.jsx b/app/javascript/flavours/glitch/features/ui/components/sign_in_banner.jsx
index bdb3af7659..819ad87366 100644
--- a/app/javascript/flavours/glitch/features/ui/components/sign_in_banner.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/sign_in_banner.jsx
@@ -1,8 +1,10 @@
import { useCallback } from 'react';
+
import { FormattedMessage } from 'react-intl';
-import { useAppDispatch, useAppSelector } from 'flavours/glitch/store';
-import { registrationsOpen } from 'flavours/glitch/initial_state';
+
import { openModal } from 'flavours/glitch/actions/modal';
+import { registrationsOpen } from 'flavours/glitch/initial_state';
+import { useAppDispatch, useAppSelector } from 'flavours/glitch/store';
const SignInBanner = () => {
const dispatch = useAppDispatch();
diff --git a/app/javascript/flavours/glitch/features/ui/components/upload_area.jsx b/app/javascript/flavours/glitch/features/ui/components/upload_area.jsx
index f8f26a6000..621f8c2277 100644
--- a/app/javascript/flavours/glitch/features/ui/components/upload_area.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/upload_area.jsx
@@ -1,9 +1,14 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import Motion from '../util/optional_motion';
-import spring from 'react-motion/lib/spring';
+import { PureComponent } from 'react';
+
import { FormattedMessage } from 'react-intl';
+import spring from 'react-motion/lib/spring';
+
+import Motion from '../util/optional_motion';
+
+
+
export default class UploadArea extends PureComponent {
static propTypes = {
diff --git a/app/javascript/flavours/glitch/features/ui/components/video_modal.jsx b/app/javascript/flavours/glitch/features/ui/components/video_modal.jsx
index 3c7be25d90..8f0b7254dc 100644
--- a/app/javascript/flavours/glitch/features/ui/components/video_modal.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/video_modal.jsx
@@ -1,10 +1,12 @@
-import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
-import Video from 'flavours/glitch/features/video';
-import { connect } from 'react-redux';
+
+import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
-import Footer from 'flavours/glitch/features/picture_in_picture/components/footer';
+import { connect } from 'react-redux';
+
import { getAverageFromBlurhash } from 'flavours/glitch/blurhash';
+import Footer from 'flavours/glitch/features/picture_in_picture/components/footer';
+import Video from 'flavours/glitch/features/video';
const mapStateToProps = (state, { statusId }) => ({
language: state.getIn(['statuses', statusId, 'language']),
diff --git a/app/javascript/flavours/glitch/features/ui/components/zoomable_image.jsx b/app/javascript/flavours/glitch/features/ui/components/zoomable_image.jsx
index ab4842f3d8..00ff0f95bb 100644
--- a/app/javascript/flavours/glitch/features/ui/components/zoomable_image.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/zoomable_image.jsx
@@ -1,8 +1,11 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
-import { IconButton } from 'flavours/glitch/components/icon_button';
+import { PureComponent } from 'react';
+
import { defineMessages, injectIntl } from 'react-intl';
+import { IconButton } from 'flavours/glitch/components/icon_button';
+
+
const messages = defineMessages({
compress: { id: 'lightbox.compress', defaultMessage: 'Compress image view box' },
expand: { id: 'lightbox.expand', defaultMessage: 'Expand image view box' },
diff --git a/app/javascript/flavours/glitch/features/ui/containers/bundle_container.js b/app/javascript/flavours/glitch/features/ui/containers/bundle_container.js
index c9086c9bca..ff5a35319e 100644
--- a/app/javascript/flavours/glitch/features/ui/containers/bundle_container.js
+++ b/app/javascript/flavours/glitch/features/ui/containers/bundle_container.js
@@ -1,8 +1,9 @@
import { connect } from 'react-redux';
+import { fetchBundleRequest, fetchBundleSuccess, fetchBundleFail } from 'flavours/glitch/actions/bundles';
+
import Bundle from '../components/bundle';
-import { fetchBundleRequest, fetchBundleSuccess, fetchBundleFail } from 'flavours/glitch/actions/bundles';
const mapDispatchToProps = dispatch => ({
onFetch () {
diff --git a/app/javascript/flavours/glitch/features/ui/containers/columns_area_container.js b/app/javascript/flavours/glitch/features/ui/containers/columns_area_container.js
index 1107be740d..9b6202af7b 100644
--- a/app/javascript/flavours/glitch/features/ui/containers/columns_area_container.js
+++ b/app/javascript/flavours/glitch/features/ui/containers/columns_area_container.js
@@ -1,7 +1,9 @@
import { connect } from 'react-redux';
-import ColumnsArea from '../components/columns_area';
+
import { openModal } from 'flavours/glitch/actions/modal';
+import ColumnsArea from '../components/columns_area';
+
const mapStateToProps = state => ({
columns: state.getIn(['settings', 'columns']),
});
diff --git a/app/javascript/flavours/glitch/features/ui/containers/loading_bar_container.js b/app/javascript/flavours/glitch/features/ui/containers/loading_bar_container.js
index 63e994f927..7efdac55ee 100644
--- a/app/javascript/flavours/glitch/features/ui/containers/loading_bar_container.js
+++ b/app/javascript/flavours/glitch/features/ui/containers/loading_bar_container.js
@@ -1,4 +1,5 @@
import { connect } from 'react-redux';
+
import LoadingBar from 'react-redux-loading-bar';
const mapStateToProps = (state, ownProps) => ({
diff --git a/app/javascript/flavours/glitch/features/ui/containers/modal_container.js b/app/javascript/flavours/glitch/features/ui/containers/modal_container.js
index 560c34f014..55b87485e2 100644
--- a/app/javascript/flavours/glitch/features/ui/containers/modal_container.js
+++ b/app/javascript/flavours/glitch/features/ui/containers/modal_container.js
@@ -1,5 +1,7 @@
import { connect } from 'react-redux';
+
import { openModal, closeModal } from 'flavours/glitch/actions/modal';
+
import ModalRoot from '../components/modal_root';
const mapStateToProps = state => ({
diff --git a/app/javascript/flavours/glitch/features/ui/containers/notifications_container.js b/app/javascript/flavours/glitch/features/ui/containers/notifications_container.js
index 82278a3be1..42a55a4b80 100644
--- a/app/javascript/flavours/glitch/features/ui/containers/notifications_container.js
+++ b/app/javascript/flavours/glitch/features/ui/containers/notifications_container.js
@@ -1,6 +1,9 @@
import { injectIntl } from 'react-intl';
+
import { connect } from 'react-redux';
+
import { NotificationStack } from 'react-notification';
+
import { dismissAlert } from 'flavours/glitch/actions/alerts';
import { getAlerts } from 'flavours/glitch/selectors';
diff --git a/app/javascript/flavours/glitch/features/ui/containers/status_list_container.js b/app/javascript/flavours/glitch/features/ui/containers/status_list_container.js
index 92ddc01c86..5f34f5cd2e 100644
--- a/app/javascript/flavours/glitch/features/ui/containers/status_list_container.js
+++ b/app/javascript/flavours/glitch/features/ui/containers/status_list_container.js
@@ -1,9 +1,11 @@
-import { connect } from 'react-redux';
-import StatusList from 'flavours/glitch/components/status_list';
-import { scrollTopTimeline, loadPending } from 'flavours/glitch/actions/timelines';
import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
+import { connect } from 'react-redux';
import { createSelector } from 'reselect';
+
import { debounce } from 'lodash';
+
+import { scrollTopTimeline, loadPending } from 'flavours/glitch/actions/timelines';
+import StatusList from 'flavours/glitch/components/status_list';
import { me } from 'flavours/glitch/initial_state';
const getRegex = createSelector([
diff --git a/app/javascript/flavours/glitch/features/ui/index.jsx b/app/javascript/flavours/glitch/features/ui/index.jsx
index 3935c99b6c..9dcfbd1fa3 100644
--- a/app/javascript/flavours/glitch/features/ui/index.jsx
+++ b/app/javascript/flavours/glitch/features/ui/index.jsx
@@ -1,27 +1,37 @@
-import { PureComponent, Component } from 'react';
-import NotificationsContainer from './containers/notifications_container';
import PropTypes from 'prop-types';
-import LoadingBarContainer from './containers/loading_bar_container';
-import ModalContainer from './containers/modal_container';
-import { connect } from 'react-redux';
+import { PureComponent, Component } from 'react';
+
+import { defineMessages, FormattedMessage, injectIntl } from 'react-intl';
+
+import classNames from 'classnames';
import { Redirect, Route, withRouter } from 'react-router-dom';
-import { layoutFromWindow } from 'flavours/glitch/is_mobile';
+
+import { connect } from 'react-redux';
+
+import Favico from 'favico.js';
import { debounce } from 'lodash';
+import { HotKeys } from 'react-hotkeys';
+
+import { changeLayout } from 'flavours/glitch/actions/app';
import { uploadCompose, resetCompose, changeComposeSpoilerness } from 'flavours/glitch/actions/compose';
-import { expandHomeTimeline } from 'flavours/glitch/actions/timelines';
+import { clearHeight } from 'flavours/glitch/actions/height_cache';
+import { synchronouslySubmitMarkers, submitMarkers, fetchMarkers } from 'flavours/glitch/actions/markers';
import { expandNotifications, notificationsSetVisibility } from 'flavours/glitch/actions/notifications';
import { fetchServer, fetchServerTranslationLanguages } from 'flavours/glitch/actions/server';
-import { clearHeight } from 'flavours/glitch/actions/height_cache';
-import { changeLayout } from 'flavours/glitch/actions/app';
-import { synchronouslySubmitMarkers, submitMarkers, fetchMarkers } from 'flavours/glitch/actions/markers';
-import { WrappedSwitch, WrappedRoute } from './util/react_router_helpers';
-import BundleColumnError from './components/bundle_column_error';
-import UploadArea from './components/upload_area';
+import { expandHomeTimeline } from 'flavours/glitch/actions/timelines';
import PermaLink from 'flavours/glitch/components/permalink';
-import ColumnsAreaContainer from './containers/columns_area_container';
-import classNames from 'classnames';
-import Favico from 'favico.js';
import PictureInPicture from 'flavours/glitch/features/picture_in_picture';
+import { layoutFromWindow } from 'flavours/glitch/is_mobile';
+
+import initialState, { me, owner, singleUserMode, showTrends, trendsAsLanding } from '../../initial_state';
+
+import BundleColumnError from './components/bundle_column_error';
+import Header from './components/header';
+import UploadArea from './components/upload_area';
+import ColumnsAreaContainer from './containers/columns_area_container';
+import LoadingBarContainer from './containers/loading_bar_container';
+import ModalContainer from './containers/modal_container';
+import NotificationsContainer from './containers/notifications_container';
import {
Compose,
Status,
@@ -56,11 +66,7 @@ import {
About,
PrivacyPolicy,
} from './util/async-components';
-import { HotKeys } from 'react-hotkeys';
-import initialState, { me, owner, singleUserMode, showTrends, trendsAsLanding } from '../../initial_state';
-// TODO: import { closeOnboarding, INTRODUCTION_VERSION } from 'flavours/glitch/actions/onboarding';
-import { defineMessages, FormattedMessage, injectIntl } from 'react-intl';
-import Header from './components/header';
+import { WrappedSwitch, WrappedRoute } from './util/react_router_helpers';
// Dummy import, to make sure that ends up in the application bundle.
// Without this it ends up in ~8 very commonly used bundles.
diff --git a/app/javascript/flavours/glitch/features/ui/util/optional_motion.js b/app/javascript/flavours/glitch/features/ui/util/optional_motion.js
index a7fbe6310c..4ec6877384 100644
--- a/app/javascript/flavours/glitch/features/ui/util/optional_motion.js
+++ b/app/javascript/flavours/glitch/features/ui/util/optional_motion.js
@@ -1,5 +1,7 @@
-import { reduceMotion } from 'flavours/glitch/initial_state';
-import ReducedMotion from './reduced_motion';
import Motion from 'react-motion/lib/Motion';
+import { reduceMotion } from 'flavours/glitch/initial_state';
+
+import ReducedMotion from './reduced_motion';
+
export default reduceMotion ? ReducedMotion : Motion;
diff --git a/app/javascript/flavours/glitch/features/ui/util/react_router_helpers.jsx b/app/javascript/flavours/glitch/features/ui/util/react_router_helpers.jsx
index 7e0a983dc0..94847cd79d 100644
--- a/app/javascript/flavours/glitch/features/ui/util/react_router_helpers.jsx
+++ b/app/javascript/flavours/glitch/features/ui/util/react_router_helpers.jsx
@@ -1,9 +1,12 @@
-import * as React from 'react';
import PropTypes from 'prop-types';
+import * as React from 'react';
+
import { Switch, Route } from 'react-router-dom';
+
import StackTrace from 'stacktrace-js';
-import ColumnLoading from 'flavours/glitch/features/ui/components/column_loading';
+
import BundleColumnError from 'flavours/glitch/features/ui/components/bundle_column_error';
+import ColumnLoading from 'flavours/glitch/features/ui/components/column_loading';
import BundleContainer from 'flavours/glitch/features/ui/containers/bundle_container';
// Small wrapper to pass multiColumn to the route components
diff --git a/app/javascript/flavours/glitch/features/ui/util/reduced_motion.jsx b/app/javascript/flavours/glitch/features/ui/util/reduced_motion.jsx
index 85ede744c8..fd044497f8 100644
--- a/app/javascript/flavours/glitch/features/ui/util/reduced_motion.jsx
+++ b/app/javascript/flavours/glitch/features/ui/util/reduced_motion.jsx
@@ -1,8 +1,9 @@
// Like react-motion's Motion, but reduces all animations to cross-fades
// for the benefit of users with motion sickness.
-import { Component } from 'react';
-import Motion from 'react-motion/lib/Motion';
import PropTypes from 'prop-types';
+import { Component } from 'react';
+
+import Motion from 'react-motion/lib/Motion';
const stylesToKeep = ['opacity', 'backgroundOpacity'];
diff --git a/app/javascript/flavours/glitch/features/video/index.jsx b/app/javascript/flavours/glitch/features/video/index.jsx
index 030e396909..331f206eb3 100644
--- a/app/javascript/flavours/glitch/features/video/index.jsx
+++ b/app/javascript/flavours/glitch/features/video/index.jsx
@@ -1,13 +1,20 @@
-import { PureComponent } from 'react';
import PropTypes from 'prop-types';
+import { PureComponent } from 'react';
+
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
-import { is } from 'immutable';
-import { throttle } from 'lodash';
+
import classNames from 'classnames';
-import { isFullscreen, requestFullscreen, exitFullscreen } from '../ui/util/fullscreen';
-import { displayMedia, useBlurhash } from 'flavours/glitch/initial_state';
-import { Icon } from 'flavours/glitch/components/icon';
+
+import { is } from 'immutable';
+
+import { throttle } from 'lodash';
+
import { Blurhash } from 'flavours/glitch/components/blurhash';
+import { Icon } from 'flavours/glitch/components/icon';
+import { displayMedia, useBlurhash } from 'flavours/glitch/initial_state';
+
+import { isFullscreen, requestFullscreen, exitFullscreen } from '../ui/util/fullscreen';
+
const messages = defineMessages({
play: { id: 'video.play', defaultMessage: 'Play' },
diff --git a/app/javascript/flavours/glitch/main.jsx b/app/javascript/flavours/glitch/main.jsx
index f03a9017af..b1a3c249bf 100644
--- a/app/javascript/flavours/glitch/main.jsx
+++ b/app/javascript/flavours/glitch/main.jsx
@@ -1,11 +1,11 @@
import { createRoot } from 'react-dom/client';
+
import { setupBrowserNotifications } from 'flavours/glitch/actions/notifications';
import Mastodon from 'flavours/glitch/containers/mastodon';
-import { store } from 'flavours/glitch/store';
import { me } from 'flavours/glitch/initial_state';
-import ready from 'flavours/glitch/ready';
-
import * as perf from 'flavours/glitch/performance';
+import ready from 'flavours/glitch/ready';
+import { store } from 'flavours/glitch/store';
/**
* @returns {Promise}
diff --git a/app/javascript/flavours/glitch/packs/admin.jsx b/app/javascript/flavours/glitch/packs/admin.jsx
index 177a16e1cb..4a5a50b494 100644
--- a/app/javascript/flavours/glitch/packs/admin.jsx
+++ b/app/javascript/flavours/glitch/packs/admin.jsx
@@ -1,7 +1,8 @@
import 'packs/public-path';
-import ready from 'flavours/glitch/ready';
import { createRoot } from 'react-dom/client';
+import ready from 'flavours/glitch/ready';
+
ready(() => {
[].forEach.call(document.querySelectorAll('[data-admin-component]'), element => {
const componentName = element.getAttribute('data-admin-component');
diff --git a/app/javascript/flavours/glitch/packs/public.jsx b/app/javascript/flavours/glitch/packs/public.jsx
index 1e6aaa7d20..d8860799e6 100644
--- a/app/javascript/flavours/glitch/packs/public.jsx
+++ b/app/javascript/flavours/glitch/packs/public.jsx
@@ -1,17 +1,22 @@
import 'packs/public-path';
+import { createRoot } from 'react-dom/client';
+
+import * as IntlMessageFormat from 'intl-messageformat';
+import { defineMessages } from 'react-intl';
+
+import { delegate } from '@rails/ujs';
+import axios from 'axios';
+import { createBrowserHistory } from 'history';
+import { throttle } from 'lodash';
+
+import { timeAgoString } from 'flavours/glitch/components/relative_timestamp';
+import emojify from 'flavours/glitch/features/emoji/emoji';
+import loadKeyboardExtensions from 'flavours/glitch/load_keyboard_extensions';
import { loadPolyfills } from 'flavours/glitch/polyfills';
import ready from 'flavours/glitch/ready';
-import loadKeyboardExtensions from 'flavours/glitch/load_keyboard_extensions';
-import axios from 'axios';
-import { throttle } from 'lodash';
-import { defineMessages } from 'react-intl';
-import * as IntlMessageFormat from 'intl-messageformat';
-import { timeAgoString } from 'flavours/glitch/components/relative_timestamp';
-import { delegate } from '@rails/ujs';
-import emojify from 'flavours/glitch/features/emoji/emoji';
import { getLocale } from 'locales';
-import { createRoot } from 'react-dom/client';
-import { createBrowserHistory } from 'history';
+
+
const messages = defineMessages({
usernameTaken: { id: 'username.taken', defaultMessage: 'That username is taken. Try another' },
diff --git a/app/javascript/flavours/glitch/packs/settings.js b/app/javascript/flavours/glitch/packs/settings.js
index 891b49337a..c7562edf3d 100644
--- a/app/javascript/flavours/glitch/packs/settings.js
+++ b/app/javascript/flavours/glitch/packs/settings.js
@@ -1,7 +1,8 @@
import 'packs/public-path';
-import { loadPolyfills } from 'flavours/glitch/polyfills';
-import loadKeyboardExtensions from 'flavours/glitch/load_keyboard_extensions';
import { delegate } from '@rails/ujs';
+
+import loadKeyboardExtensions from 'flavours/glitch/load_keyboard_extensions';
+import { loadPolyfills } from 'flavours/glitch/polyfills';
import 'cocoon-js-vanilla';
function main() {
diff --git a/app/javascript/flavours/glitch/packs/share.jsx b/app/javascript/flavours/glitch/packs/share.jsx
index 01b7644d4d..21f1da638d 100644
--- a/app/javascript/flavours/glitch/packs/share.jsx
+++ b/app/javascript/flavours/glitch/packs/share.jsx
@@ -1,8 +1,9 @@
import 'packs/public-path';
+import { createRoot } from 'react-dom/client';
+
+import ComposeContainer from 'flavours/glitch/containers/compose_container';
import { loadPolyfills } from 'flavours/glitch/polyfills';
import ready from 'flavours/glitch/ready';
-import ComposeContainer from 'flavours/glitch/containers/compose_container';
-import { createRoot } from 'react-dom/client';
function loaded() {
const mountNode = document.getElementById('mastodon-compose');
diff --git a/app/javascript/flavours/glitch/packs/sign_up.js b/app/javascript/flavours/glitch/packs/sign_up.js
index ed03f1cf4b..2e675dff20 100644
--- a/app/javascript/flavours/glitch/packs/sign_up.js
+++ b/app/javascript/flavours/glitch/packs/sign_up.js
@@ -1,7 +1,8 @@
import 'packs/public-path';
-import ready from 'flavours/glitch/ready';
import axios from 'axios';
+import ready from 'flavours/glitch/ready';
+
ready(() => {
setInterval(() => {
axios.get('/api/v1/emails/check_confirmation').then((response) => {
diff --git a/app/javascript/flavours/glitch/reducers/accounts.js b/app/javascript/flavours/glitch/reducers/accounts.js
index 07f45f98b6..b9e53519b3 100644
--- a/app/javascript/flavours/glitch/reducers/accounts.js
+++ b/app/javascript/flavours/glitch/reducers/accounts.js
@@ -1,7 +1,8 @@
-import { ACCOUNT_IMPORT, ACCOUNTS_IMPORT } from 'flavours/glitch/actions/importer';
-import { ACCOUNT_REVEAL } from 'flavours/glitch/actions/accounts';
import { Map as ImmutableMap, fromJS } from 'immutable';
+import { ACCOUNT_REVEAL } from 'flavours/glitch/actions/accounts';
+import { ACCOUNT_IMPORT, ACCOUNTS_IMPORT } from 'flavours/glitch/actions/importer';
+
const initialState = ImmutableMap();
const normalizeAccount = (state, account) => {
diff --git a/app/javascript/flavours/glitch/reducers/accounts_counters.js b/app/javascript/flavours/glitch/reducers/accounts_counters.js
index 4e1256d1bd..16e7cfb761 100644
--- a/app/javascript/flavours/glitch/reducers/accounts_counters.js
+++ b/app/javascript/flavours/glitch/reducers/accounts_counters.js
@@ -1,9 +1,10 @@
+import { Map as ImmutableMap, fromJS } from 'immutable';
+
import {
ACCOUNT_FOLLOW_SUCCESS,
ACCOUNT_UNFOLLOW_SUCCESS,
} from '../actions/accounts';
import { ACCOUNT_IMPORT, ACCOUNTS_IMPORT } from '../actions/importer';
-import { Map as ImmutableMap, fromJS } from 'immutable';
const normalizeAccount = (state, account) => state.set(account.id, fromJS({
followers_count: account.followers_count,
diff --git a/app/javascript/flavours/glitch/reducers/accounts_map.js b/app/javascript/flavours/glitch/reducers/accounts_map.js
index 8412ad4d0c..fca0e3ce1e 100644
--- a/app/javascript/flavours/glitch/reducers/accounts_map.js
+++ b/app/javascript/flavours/glitch/reducers/accounts_map.js
@@ -1,7 +1,8 @@
-import { ACCOUNT_IMPORT, ACCOUNTS_IMPORT } from '../actions/importer';
-import { ACCOUNT_LOOKUP_FAIL } from '../actions/accounts';
import { Map as ImmutableMap } from 'immutable';
+import { ACCOUNT_LOOKUP_FAIL } from '../actions/accounts';
+import { ACCOUNT_IMPORT, ACCOUNTS_IMPORT } from '../actions/importer';
+
export const normalizeForLookup = str => str.toLowerCase();
const initialState = ImmutableMap();
diff --git a/app/javascript/flavours/glitch/reducers/alerts.js b/app/javascript/flavours/glitch/reducers/alerts.js
index f0a696164a..4e237d419d 100644
--- a/app/javascript/flavours/glitch/reducers/alerts.js
+++ b/app/javascript/flavours/glitch/reducers/alerts.js
@@ -1,9 +1,10 @@
+import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
+
import {
ALERT_SHOW,
ALERT_DISMISS,
ALERT_CLEAR,
} from 'flavours/glitch/actions/alerts';
-import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
const initialState = ImmutableList([]);
diff --git a/app/javascript/flavours/glitch/reducers/announcements.js b/app/javascript/flavours/glitch/reducers/announcements.js
index b53f93a4a9..2134b04c6d 100644
--- a/app/javascript/flavours/glitch/reducers/announcements.js
+++ b/app/javascript/flavours/glitch/reducers/announcements.js
@@ -1,3 +1,5 @@
+import { Map as ImmutableMap, List as ImmutableList, fromJS } from 'immutable';
+
import {
ANNOUNCEMENTS_FETCH_REQUEST,
ANNOUNCEMENTS_FETCH_SUCCESS,
@@ -12,7 +14,6 @@ import {
ANNOUNCEMENTS_DELETE,
ANNOUNCEMENTS_DISMISS_SUCCESS,
} from '../actions/announcements';
-import { Map as ImmutableMap, List as ImmutableList, fromJS } from 'immutable';
const initialState = ImmutableMap({
items: ImmutableList(),
diff --git a/app/javascript/flavours/glitch/reducers/compose.js b/app/javascript/flavours/glitch/reducers/compose.js
index d95d0c9780..0915ecba0f 100644
--- a/app/javascript/flavours/glitch/reducers/compose.js
+++ b/app/javascript/flavours/glitch/reducers/compose.js
@@ -1,3 +1,5 @@
+import { Map as ImmutableMap, List as ImmutableList, OrderedSet as ImmutableOrderedSet, fromJS } from 'immutable';
+
import {
COMPOSE_MOUNT,
COMPOSE_UNMOUNT,
@@ -50,16 +52,16 @@ import {
COMPOSE_CHANGE_MEDIA_FOCUS,
COMPOSE_SET_STATUS,
} from 'flavours/glitch/actions/compose';
-import { TIMELINE_DELETE } from 'flavours/glitch/actions/timelines';
-import { STORE_HYDRATE } from 'flavours/glitch/actions/store';
import { REDRAFT } from 'flavours/glitch/actions/statuses';
-import { Map as ImmutableMap, List as ImmutableList, OrderedSet as ImmutableOrderedSet, fromJS } from 'immutable';
-import { uuid } from '../uuid';
-import { privacyPreference } from 'flavours/glitch/utils/privacy_preference';
+import { STORE_HYDRATE } from 'flavours/glitch/actions/store';
+import { TIMELINE_DELETE } from 'flavours/glitch/actions/timelines';
import { me, defaultContentType } from 'flavours/glitch/initial_state';
-import { overwrite } from 'flavours/glitch/utils/js_helpers';
-import { unescapeHTML } from 'flavours/glitch/utils/html';
import { recoverHashtags } from 'flavours/glitch/utils/hashtag';
+import { unescapeHTML } from 'flavours/glitch/utils/html';
+import { overwrite } from 'flavours/glitch/utils/js_helpers';
+import { privacyPreference } from 'flavours/glitch/utils/privacy_preference';
+
+import { uuid } from '../uuid';
const totalElefriends = 3;
diff --git a/app/javascript/flavours/glitch/reducers/contexts.js b/app/javascript/flavours/glitch/reducers/contexts.js
index 020a84dec1..552709383e 100644
--- a/app/javascript/flavours/glitch/reducers/contexts.js
+++ b/app/javascript/flavours/glitch/reducers/contexts.js
@@ -1,10 +1,12 @@
+import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
+
import {
ACCOUNT_BLOCK_SUCCESS,
ACCOUNT_MUTE_SUCCESS,
} from 'flavours/glitch/actions/accounts';
import { CONTEXT_FETCH_SUCCESS } from 'flavours/glitch/actions/statuses';
import { TIMELINE_DELETE, TIMELINE_UPDATE } from 'flavours/glitch/actions/timelines';
-import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
+
import { compareId } from '../compare_id';
const initialState = ImmutableMap({
diff --git a/app/javascript/flavours/glitch/reducers/conversations.js b/app/javascript/flavours/glitch/reducers/conversations.js
index 149d210398..3bef9a8419 100644
--- a/app/javascript/flavours/glitch/reducers/conversations.js
+++ b/app/javascript/flavours/glitch/reducers/conversations.js
@@ -1,4 +1,8 @@
import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
+
+import { ACCOUNT_BLOCK_SUCCESS, ACCOUNT_MUTE_SUCCESS } from 'flavours/glitch/actions/accounts';
+import { DOMAIN_BLOCK_SUCCESS } from 'flavours/glitch/actions/domain_blocks';
+
import {
CONVERSATIONS_MOUNT,
CONVERSATIONS_UNMOUNT,
@@ -9,8 +13,6 @@ import {
CONVERSATIONS_READ,
CONVERSATIONS_DELETE_SUCCESS,
} from '../actions/conversations';
-import { ACCOUNT_BLOCK_SUCCESS, ACCOUNT_MUTE_SUCCESS } from 'flavours/glitch/actions/accounts';
-import { DOMAIN_BLOCK_SUCCESS } from 'flavours/glitch/actions/domain_blocks';
import { compareId } from '../compare_id';
const initialState = ImmutableMap({
diff --git a/app/javascript/flavours/glitch/reducers/custom_emojis.js b/app/javascript/flavours/glitch/reducers/custom_emojis.js
index 7f71ab791e..13396db7e7 100644
--- a/app/javascript/flavours/glitch/reducers/custom_emojis.js
+++ b/app/javascript/flavours/glitch/reducers/custom_emojis.js
@@ -1,7 +1,8 @@
import { List as ImmutableList, fromJS as ConvertToImmutable } from 'immutable';
+
import { CUSTOM_EMOJIS_FETCH_SUCCESS } from 'flavours/glitch/actions/custom_emojis';
-import { search as emojiSearch } from 'flavours/glitch/features/emoji/emoji_mart_search_light';
import { buildCustomEmojis } from 'flavours/glitch/features/emoji/emoji';
+import { search as emojiSearch } from 'flavours/glitch/features/emoji/emoji_mart_search_light';
const initialState = ImmutableList([]);
diff --git a/app/javascript/flavours/glitch/reducers/domain_lists.js b/app/javascript/flavours/glitch/reducers/domain_lists.js
index 6bf8cee681..8cdd3ba376 100644
--- a/app/javascript/flavours/glitch/reducers/domain_lists.js
+++ b/app/javascript/flavours/glitch/reducers/domain_lists.js
@@ -1,9 +1,10 @@
+import { Map as ImmutableMap, OrderedSet as ImmutableOrderedSet } from 'immutable';
+
import {
DOMAIN_BLOCKS_FETCH_SUCCESS,
DOMAIN_BLOCKS_EXPAND_SUCCESS,
DOMAIN_UNBLOCK_SUCCESS,
} from '../actions/domain_blocks';
-import { Map as ImmutableMap, OrderedSet as ImmutableOrderedSet } from 'immutable';
const initialState = ImmutableMap({
blocks: ImmutableMap({
diff --git a/app/javascript/flavours/glitch/reducers/dropdown_menu.js b/app/javascript/flavours/glitch/reducers/dropdown_menu.js
index 51bf9375bf..6f92f1bbe8 100644
--- a/app/javascript/flavours/glitch/reducers/dropdown_menu.js
+++ b/app/javascript/flavours/glitch/reducers/dropdown_menu.js
@@ -1,4 +1,5 @@
import Immutable from 'immutable';
+
import {
DROPDOWN_MENU_OPEN,
DROPDOWN_MENU_CLOSE,
diff --git a/app/javascript/flavours/glitch/reducers/filters.js b/app/javascript/flavours/glitch/reducers/filters.js
index e1f0140465..566ad0c6ca 100644
--- a/app/javascript/flavours/glitch/reducers/filters.js
+++ b/app/javascript/flavours/glitch/reducers/filters.js
@@ -1,7 +1,8 @@
-import { FILTERS_IMPORT } from '../actions/importer';
-import { FILTERS_FETCH_SUCCESS, FILTERS_CREATE_SUCCESS } from '../actions/filters';
import { Map as ImmutableMap, is, fromJS } from 'immutable';
+import { FILTERS_FETCH_SUCCESS, FILTERS_CREATE_SUCCESS } from '../actions/filters';
+import { FILTERS_IMPORT } from '../actions/importer';
+
const normalizeFilter = (state, filter) => {
const normalizedFilter = fromJS({
id: filter.id,
diff --git a/app/javascript/flavours/glitch/reducers/followed_tags.js b/app/javascript/flavours/glitch/reducers/followed_tags.js
index 84c7446401..f2281463a4 100644
--- a/app/javascript/flavours/glitch/reducers/followed_tags.js
+++ b/app/javascript/flavours/glitch/reducers/followed_tags.js
@@ -1,3 +1,5 @@
+import { Map as ImmutableMap, List as ImmutableList, fromJS } from 'immutable';
+
import {
FOLLOWED_HASHTAGS_FETCH_REQUEST,
FOLLOWED_HASHTAGS_FETCH_SUCCESS,
@@ -6,7 +8,6 @@ import {
FOLLOWED_HASHTAGS_EXPAND_SUCCESS,
FOLLOWED_HASHTAGS_EXPAND_FAIL,
} from 'flavours/glitch/actions/tags';
-import { Map as ImmutableMap, List as ImmutableList, fromJS } from 'immutable';
const initialState = ImmutableMap({
items: ImmutableList(),
diff --git a/app/javascript/flavours/glitch/reducers/height_cache.js b/app/javascript/flavours/glitch/reducers/height_cache.js
index 660a2d1d77..89282994e3 100644
--- a/app/javascript/flavours/glitch/reducers/height_cache.js
+++ b/app/javascript/flavours/glitch/reducers/height_cache.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap } from 'immutable';
+
import { HEIGHT_CACHE_SET, HEIGHT_CACHE_CLEAR } from 'flavours/glitch/actions/height_cache';
const initialState = ImmutableMap();
diff --git a/app/javascript/flavours/glitch/reducers/history.js b/app/javascript/flavours/glitch/reducers/history.js
index 04f5f2fd11..e91136a2b6 100644
--- a/app/javascript/flavours/glitch/reducers/history.js
+++ b/app/javascript/flavours/glitch/reducers/history.js
@@ -1,6 +1,7 @@
-import { HISTORY_FETCH_REQUEST, HISTORY_FETCH_SUCCESS, HISTORY_FETCH_FAIL } from 'flavours/glitch/actions/history';
import { Map as ImmutableMap, List as ImmutableList, fromJS } from 'immutable';
+import { HISTORY_FETCH_REQUEST, HISTORY_FETCH_SUCCESS, HISTORY_FETCH_FAIL } from 'flavours/glitch/actions/history';
+
const initialHistory = ImmutableMap({
loading: false,
items: ImmutableList(),
diff --git a/app/javascript/flavours/glitch/reducers/list_adder.js b/app/javascript/flavours/glitch/reducers/list_adder.js
index b144610a52..0f61273aa6 100644
--- a/app/javascript/flavours/glitch/reducers/list_adder.js
+++ b/app/javascript/flavours/glitch/reducers/list_adder.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
+
import {
LIST_ADDER_RESET,
LIST_ADDER_SETUP,
diff --git a/app/javascript/flavours/glitch/reducers/list_editor.js b/app/javascript/flavours/glitch/reducers/list_editor.js
index 6e020dbe64..ceceb27c7a 100644
--- a/app/javascript/flavours/glitch/reducers/list_editor.js
+++ b/app/javascript/flavours/glitch/reducers/list_editor.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
+
import {
LIST_CREATE_REQUEST,
LIST_CREATE_FAIL,
diff --git a/app/javascript/flavours/glitch/reducers/lists.js b/app/javascript/flavours/glitch/reducers/lists.js
index ba3e2b3cb5..2a797772b3 100644
--- a/app/javascript/flavours/glitch/reducers/lists.js
+++ b/app/javascript/flavours/glitch/reducers/lists.js
@@ -1,3 +1,5 @@
+import { Map as ImmutableMap, fromJS } from 'immutable';
+
import {
LIST_FETCH_SUCCESS,
LIST_FETCH_FAIL,
@@ -6,7 +8,6 @@ import {
LIST_UPDATE_SUCCESS,
LIST_DELETE_SUCCESS,
} from '../actions/lists';
-import { Map as ImmutableMap, fromJS } from 'immutable';
const initialState = ImmutableMap();
diff --git a/app/javascript/flavours/glitch/reducers/local_settings.js b/app/javascript/flavours/glitch/reducers/local_settings.js
index 3228068626..21e9dcec2c 100644
--- a/app/javascript/flavours/glitch/reducers/local_settings.js
+++ b/app/javascript/flavours/glitch/reducers/local_settings.js
@@ -2,8 +2,8 @@
import { Map as ImmutableMap } from 'immutable';
// Our imports.
-import { STORE_HYDRATE } from 'flavours/glitch/actions/store';
import { LOCAL_SETTING_CHANGE, LOCAL_SETTING_DELETE } from 'flavours/glitch/actions/local_settings';
+import { STORE_HYDRATE } from 'flavours/glitch/actions/store';
const initialState = ImmutableMap({
layout : 'auto',
diff --git a/app/javascript/flavours/glitch/reducers/markers.js b/app/javascript/flavours/glitch/reducers/markers.js
index 3e8b1780a7..c7c5d99f61 100644
--- a/app/javascript/flavours/glitch/reducers/markers.js
+++ b/app/javascript/flavours/glitch/reducers/markers.js
@@ -1,8 +1,9 @@
+import { Map as ImmutableMap } from 'immutable';
+
import {
MARKERS_SUBMIT_SUCCESS,
} from '../actions/markers';
-import { Map as ImmutableMap } from 'immutable';
const initialState = ImmutableMap({
home: '0',
diff --git a/app/javascript/flavours/glitch/reducers/media_attachments.js b/app/javascript/flavours/glitch/reducers/media_attachments.js
index dfd8ea42d9..5086126ab7 100644
--- a/app/javascript/flavours/glitch/reducers/media_attachments.js
+++ b/app/javascript/flavours/glitch/reducers/media_attachments.js
@@ -1,6 +1,7 @@
-import { STORE_HYDRATE } from 'flavours/glitch/actions/store';
import { Map as ImmutableMap } from 'immutable';
+import { STORE_HYDRATE } from 'flavours/glitch/actions/store';
+
const initialState = ImmutableMap({
accept_content_types: [],
});
diff --git a/app/javascript/flavours/glitch/reducers/meta.js b/app/javascript/flavours/glitch/reducers/meta.js
index c38dc60965..2bedd084f7 100644
--- a/app/javascript/flavours/glitch/reducers/meta.js
+++ b/app/javascript/flavours/glitch/reducers/meta.js
@@ -1,6 +1,7 @@
-import { STORE_HYDRATE } from 'flavours/glitch/actions/store';
-import { changeLayout } from 'flavours/glitch/actions/app';
import { Map as ImmutableMap } from 'immutable';
+
+import { changeLayout } from 'flavours/glitch/actions/app';
+import { STORE_HYDRATE } from 'flavours/glitch/actions/store';
import { layoutFromWindow } from 'flavours/glitch/is_mobile';
const initialState = ImmutableMap({
diff --git a/app/javascript/flavours/glitch/reducers/modal.js b/app/javascript/flavours/glitch/reducers/modal.js
index c481171815..e8cea5032a 100644
--- a/app/javascript/flavours/glitch/reducers/modal.js
+++ b/app/javascript/flavours/glitch/reducers/modal.js
@@ -1,7 +1,8 @@
+import { Stack as ImmutableStack, Map as ImmutableMap } from 'immutable';
+
+import { COMPOSE_UPLOAD_CHANGE_SUCCESS } from 'flavours/glitch/actions/compose';
import { MODAL_OPEN, MODAL_CLOSE } from 'flavours/glitch/actions/modal';
import { TIMELINE_DELETE } from 'flavours/glitch/actions/timelines';
-import { COMPOSE_UPLOAD_CHANGE_SUCCESS } from 'flavours/glitch/actions/compose';
-import { Stack as ImmutableStack, Map as ImmutableMap } from 'immutable';
const initialState = ImmutableMap({
ignoreFocus: false,
diff --git a/app/javascript/flavours/glitch/reducers/notifications.js b/app/javascript/flavours/glitch/reducers/notifications.js
index ccd715a22e..f78fd8eb14 100644
--- a/app/javascript/flavours/glitch/reducers/notifications.js
+++ b/app/javascript/flavours/glitch/reducers/notifications.js
@@ -1,3 +1,15 @@
+import { fromJS, Map as ImmutableMap, List as ImmutableList } from 'immutable';
+
+import {
+ ACCOUNT_BLOCK_SUCCESS,
+ ACCOUNT_MUTE_SUCCESS,
+ FOLLOW_REQUEST_AUTHORIZE_SUCCESS,
+ FOLLOW_REQUEST_REJECT_SUCCESS,
+} from 'flavours/glitch/actions/accounts';
+import { DOMAIN_BLOCK_SUCCESS } from 'flavours/glitch/actions/domain_blocks';
+import {
+ MARKERS_FETCH_SUCCESS,
+} from 'flavours/glitch/actions/markers';
import {
NOTIFICATIONS_MOUNT,
NOTIFICATIONS_UNMOUNT,
@@ -20,18 +32,8 @@ import {
NOTIFICATIONS_SET_BROWSER_SUPPORT,
NOTIFICATIONS_SET_BROWSER_PERMISSION,
} from 'flavours/glitch/actions/notifications';
-import {
- ACCOUNT_BLOCK_SUCCESS,
- ACCOUNT_MUTE_SUCCESS,
- FOLLOW_REQUEST_AUTHORIZE_SUCCESS,
- FOLLOW_REQUEST_REJECT_SUCCESS,
-} from 'flavours/glitch/actions/accounts';
-import {
- MARKERS_FETCH_SUCCESS,
-} from 'flavours/glitch/actions/markers';
-import { DOMAIN_BLOCK_SUCCESS } from 'flavours/glitch/actions/domain_blocks';
import { TIMELINE_DELETE, TIMELINE_DISCONNECT } from 'flavours/glitch/actions/timelines';
-import { fromJS, Map as ImmutableMap, List as ImmutableList } from 'immutable';
+
import { compareId } from '../compare_id';
const initialState = ImmutableMap({
diff --git a/app/javascript/flavours/glitch/reducers/pinned_accounts_editor.js b/app/javascript/flavours/glitch/reducers/pinned_accounts_editor.js
index 00cde36400..e672c34b34 100644
--- a/app/javascript/flavours/glitch/reducers/pinned_accounts_editor.js
+++ b/app/javascript/flavours/glitch/reducers/pinned_accounts_editor.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
+
import {
PINNED_ACCOUNTS_EDITOR_RESET,
PINNED_ACCOUNTS_FETCH_REQUEST,
diff --git a/app/javascript/flavours/glitch/reducers/polls.js b/app/javascript/flavours/glitch/reducers/polls.js
index 595f340bc7..8712c6ebf3 100644
--- a/app/javascript/flavours/glitch/reducers/polls.js
+++ b/app/javascript/flavours/glitch/reducers/polls.js
@@ -1,6 +1,7 @@
-import { POLLS_IMPORT } from 'flavours/glitch/actions/importer';
import { Map as ImmutableMap, fromJS } from 'immutable';
+import { POLLS_IMPORT } from 'flavours/glitch/actions/importer';
+
const importPolls = (state, polls) => state.withMutations(map => polls.forEach(poll => map.set(poll.id, fromJS(poll))));
const initialState = ImmutableMap();
diff --git a/app/javascript/flavours/glitch/reducers/push_notifications.js b/app/javascript/flavours/glitch/reducers/push_notifications.js
index 116c3732fc..23aa9bd033 100644
--- a/app/javascript/flavours/glitch/reducers/push_notifications.js
+++ b/app/javascript/flavours/glitch/reducers/push_notifications.js
@@ -1,7 +1,8 @@
-import { STORE_HYDRATE } from 'flavours/glitch/actions/store';
-import { SET_BROWSER_SUPPORT, SET_SUBSCRIPTION, CLEAR_SUBSCRIPTION, SET_ALERTS } from 'flavours/glitch/actions/push_notifications';
import Immutable from 'immutable';
+import { SET_BROWSER_SUPPORT, SET_SUBSCRIPTION, CLEAR_SUBSCRIPTION, SET_ALERTS } from 'flavours/glitch/actions/push_notifications';
+import { STORE_HYDRATE } from 'flavours/glitch/actions/store';
+
const initialState = Immutable.Map({
subscription: null,
alerts: new Immutable.Map({
diff --git a/app/javascript/flavours/glitch/reducers/relationships.js b/app/javascript/flavours/glitch/reducers/relationships.js
index b53f0238ca..38fd0caa49 100644
--- a/app/javascript/flavours/glitch/reducers/relationships.js
+++ b/app/javascript/flavours/glitch/reducers/relationships.js
@@ -1,6 +1,8 @@
+import { Map as ImmutableMap, fromJS } from 'immutable';
+
import {
- NOTIFICATIONS_UPDATE,
-} from '../actions/notifications';
+ ACCOUNT_NOTE_SUBMIT_SUCCESS,
+} from 'flavours/glitch/actions/account_notes';
import {
ACCOUNT_FOLLOW_SUCCESS,
ACCOUNT_FOLLOW_REQUEST,
@@ -22,10 +24,11 @@ import {
DOMAIN_BLOCK_SUCCESS,
DOMAIN_UNBLOCK_SUCCESS,
} from 'flavours/glitch/actions/domain_blocks';
+
import {
- ACCOUNT_NOTE_SUBMIT_SUCCESS,
-} from 'flavours/glitch/actions/account_notes';
-import { Map as ImmutableMap, fromJS } from 'immutable';
+ NOTIFICATIONS_UPDATE,
+} from '../actions/notifications';
+
const normalizeRelationship = (state, relationship) => state.set(relationship.id, fromJS(relationship));
diff --git a/app/javascript/flavours/glitch/reducers/search.js b/app/javascript/flavours/glitch/reducers/search.js
index bc0433d1fd..ffd69585f8 100644
--- a/app/javascript/flavours/glitch/reducers/search.js
+++ b/app/javascript/flavours/glitch/reducers/search.js
@@ -1,3 +1,10 @@
+import { Map as ImmutableMap, List as ImmutableList, fromJS } from 'immutable';
+
+import {
+ COMPOSE_MENTION,
+ COMPOSE_REPLY,
+ COMPOSE_DIRECT,
+} from 'flavours/glitch/actions/compose';
import {
SEARCH_CHANGE,
SEARCH_CLEAR,
@@ -7,12 +14,6 @@ import {
SEARCH_SHOW,
SEARCH_EXPAND_SUCCESS,
} from 'flavours/glitch/actions/search';
-import {
- COMPOSE_MENTION,
- COMPOSE_REPLY,
- COMPOSE_DIRECT,
-} from 'flavours/glitch/actions/compose';
-import { Map as ImmutableMap, List as ImmutableList, fromJS } from 'immutable';
const initialState = ImmutableMap({
value: '',
diff --git a/app/javascript/flavours/glitch/reducers/server.js b/app/javascript/flavours/glitch/reducers/server.js
index af0cfc7a90..0b774b5e20 100644
--- a/app/javascript/flavours/glitch/reducers/server.js
+++ b/app/javascript/flavours/glitch/reducers/server.js
@@ -1,3 +1,5 @@
+import { Map as ImmutableMap, List as ImmutableList, fromJS } from 'immutable';
+
import {
SERVER_FETCH_REQUEST,
SERVER_FETCH_SUCCESS,
@@ -12,7 +14,6 @@ import {
SERVER_DOMAIN_BLOCKS_FETCH_SUCCESS,
SERVER_DOMAIN_BLOCKS_FETCH_FAIL,
} from 'flavours/glitch/actions/server';
-import { Map as ImmutableMap, List as ImmutableList, fromJS } from 'immutable';
const initialState = ImmutableMap({
server: ImmutableMap({
diff --git a/app/javascript/flavours/glitch/reducers/settings.js b/app/javascript/flavours/glitch/reducers/settings.js
index 0e52762f25..103702d8d7 100644
--- a/app/javascript/flavours/glitch/reducers/settings.js
+++ b/app/javascript/flavours/glitch/reducers/settings.js
@@ -1,11 +1,13 @@
-import { SETTING_CHANGE, SETTING_SAVE } from 'flavours/glitch/actions/settings';
-import { NOTIFICATIONS_FILTER_SET } from 'flavours/glitch/actions/notifications';
+import { Map as ImmutableMap, fromJS } from 'immutable';
+
import { COLUMN_ADD, COLUMN_REMOVE, COLUMN_MOVE, COLUMN_PARAMS_CHANGE } from 'flavours/glitch/actions/columns';
-import { STORE_HYDRATE } from 'flavours/glitch/actions/store';
import { EMOJI_USE } from 'flavours/glitch/actions/emojis';
import { LANGUAGE_USE } from 'flavours/glitch/actions/languages';
+import { NOTIFICATIONS_FILTER_SET } from 'flavours/glitch/actions/notifications';
+import { SETTING_CHANGE, SETTING_SAVE } from 'flavours/glitch/actions/settings';
+import { STORE_HYDRATE } from 'flavours/glitch/actions/store';
+
import { LIST_DELETE_SUCCESS, LIST_FETCH_FAIL } from '../actions/lists';
-import { Map as ImmutableMap, fromJS } from 'immutable';
import { uuid } from '../uuid';
const initialState = ImmutableMap({
diff --git a/app/javascript/flavours/glitch/reducers/status_lists.js b/app/javascript/flavours/glitch/reducers/status_lists.js
index a279d3d347..c4780a661f 100644
--- a/app/javascript/flavours/glitch/reducers/status_lists.js
+++ b/app/javascript/flavours/glitch/reducers/status_lists.js
@@ -1,3 +1,17 @@
+import { Map as ImmutableMap, OrderedSet as ImmutableOrderedSet } from 'immutable';
+
+import {
+ ACCOUNT_BLOCK_SUCCESS,
+ ACCOUNT_MUTE_SUCCESS,
+} from 'flavours/glitch/actions/accounts';
+import {
+ BOOKMARKED_STATUSES_FETCH_REQUEST,
+ BOOKMARKED_STATUSES_FETCH_SUCCESS,
+ BOOKMARKED_STATUSES_FETCH_FAIL,
+ BOOKMARKED_STATUSES_EXPAND_REQUEST,
+ BOOKMARKED_STATUSES_EXPAND_SUCCESS,
+ BOOKMARKED_STATUSES_EXPAND_FAIL,
+} from 'flavours/glitch/actions/bookmarks';
import {
FAVOURITED_STATUSES_FETCH_REQUEST,
FAVOURITED_STATUSES_FETCH_SUCCESS,
@@ -7,13 +21,13 @@ import {
FAVOURITED_STATUSES_EXPAND_FAIL,
} from 'flavours/glitch/actions/favourites';
import {
- BOOKMARKED_STATUSES_FETCH_REQUEST,
- BOOKMARKED_STATUSES_FETCH_SUCCESS,
- BOOKMARKED_STATUSES_FETCH_FAIL,
- BOOKMARKED_STATUSES_EXPAND_REQUEST,
- BOOKMARKED_STATUSES_EXPAND_SUCCESS,
- BOOKMARKED_STATUSES_EXPAND_FAIL,
-} from 'flavours/glitch/actions/bookmarks';
+ FAVOURITE_SUCCESS,
+ UNFAVOURITE_SUCCESS,
+ BOOKMARK_SUCCESS,
+ UNBOOKMARK_SUCCESS,
+ PIN_SUCCESS,
+ UNPIN_SUCCESS,
+} from 'flavours/glitch/actions/interactions';
import {
PINNED_STATUSES_FETCH_SUCCESS,
} from 'flavours/glitch/actions/pin_statuses';
@@ -25,19 +39,8 @@ import {
TRENDS_STATUSES_EXPAND_SUCCESS,
TRENDS_STATUSES_EXPAND_FAIL,
} from 'flavours/glitch/actions/trends';
-import { Map as ImmutableMap, OrderedSet as ImmutableOrderedSet } from 'immutable';
-import {
- FAVOURITE_SUCCESS,
- UNFAVOURITE_SUCCESS,
- BOOKMARK_SUCCESS,
- UNBOOKMARK_SUCCESS,
- PIN_SUCCESS,
- UNPIN_SUCCESS,
-} from 'flavours/glitch/actions/interactions';
-import {
- ACCOUNT_BLOCK_SUCCESS,
- ACCOUNT_MUTE_SUCCESS,
-} from 'flavours/glitch/actions/accounts';
+
+
const initialState = ImmutableMap({
favourites: ImmutableMap({
diff --git a/app/javascript/flavours/glitch/reducers/statuses.js b/app/javascript/flavours/glitch/reducers/statuses.js
index ca220c54d6..8fb9443dd6 100644
--- a/app/javascript/flavours/glitch/reducers/statuses.js
+++ b/app/javascript/flavours/glitch/reducers/statuses.js
@@ -1,3 +1,5 @@
+import { Map as ImmutableMap, fromJS } from 'immutable';
+
import {
REBLOG_REQUEST,
REBLOG_FAIL,
@@ -21,8 +23,8 @@ import {
import {
TIMELINE_DELETE,
} from 'flavours/glitch/actions/timelines';
+
import { STATUS_IMPORT, STATUSES_IMPORT } from '../actions/importer';
-import { Map as ImmutableMap, fromJS } from 'immutable';
const importStatus = (state, status) => state.set(status.id, fromJS(status));
diff --git a/app/javascript/flavours/glitch/reducers/suggestions.js b/app/javascript/flavours/glitch/reducers/suggestions.js
index 3c1ea3fa8c..c6b56353ed 100644
--- a/app/javascript/flavours/glitch/reducers/suggestions.js
+++ b/app/javascript/flavours/glitch/reducers/suggestions.js
@@ -1,12 +1,15 @@
+import { Map as ImmutableMap, List as ImmutableList, fromJS } from 'immutable';
+
+import { ACCOUNT_BLOCK_SUCCESS, ACCOUNT_MUTE_SUCCESS } from 'flavours/glitch/actions/accounts';
+import { DOMAIN_BLOCK_SUCCESS } from 'flavours/glitch/actions/domain_blocks';
+
import {
SUGGESTIONS_FETCH_REQUEST,
SUGGESTIONS_FETCH_SUCCESS,
SUGGESTIONS_FETCH_FAIL,
SUGGESTIONS_DISMISS,
} from '../actions/suggestions';
-import { ACCOUNT_BLOCK_SUCCESS, ACCOUNT_MUTE_SUCCESS } from 'flavours/glitch/actions/accounts';
-import { DOMAIN_BLOCK_SUCCESS } from 'flavours/glitch/actions/domain_blocks';
-import { Map as ImmutableMap, List as ImmutableList, fromJS } from 'immutable';
+
const initialState = ImmutableMap({
items: ImmutableList(),
diff --git a/app/javascript/flavours/glitch/reducers/tags.js b/app/javascript/flavours/glitch/reducers/tags.js
index b280bc4dd2..977d5dabc1 100644
--- a/app/javascript/flavours/glitch/reducers/tags.js
+++ b/app/javascript/flavours/glitch/reducers/tags.js
@@ -1,3 +1,5 @@
+import { Map as ImmutableMap, fromJS } from 'immutable';
+
import {
HASHTAG_FETCH_SUCCESS,
HASHTAG_FOLLOW_REQUEST,
@@ -5,7 +7,6 @@ import {
HASHTAG_UNFOLLOW_REQUEST,
HASHTAG_UNFOLLOW_FAIL,
} from 'flavours/glitch/actions/tags';
-import { Map as ImmutableMap, fromJS } from 'immutable';
const initialState = ImmutableMap();
diff --git a/app/javascript/flavours/glitch/reducers/timelines.js b/app/javascript/flavours/glitch/reducers/timelines.js
index 1c0b1187e6..76bc6c8174 100644
--- a/app/javascript/flavours/glitch/reducers/timelines.js
+++ b/app/javascript/flavours/glitch/reducers/timelines.js
@@ -1,3 +1,10 @@
+import { Map as ImmutableMap, List as ImmutableList, OrderedSet as ImmutableOrderedSet, fromJS } from 'immutable';
+
+import {
+ ACCOUNT_BLOCK_SUCCESS,
+ ACCOUNT_MUTE_SUCCESS,
+ ACCOUNT_UNFOLLOW_SUCCESS,
+} from 'flavours/glitch/actions/accounts';
import {
TIMELINE_UPDATE,
TIMELINE_DELETE,
@@ -11,12 +18,7 @@ import {
TIMELINE_LOAD_PENDING,
TIMELINE_MARK_AS_PARTIAL,
} from 'flavours/glitch/actions/timelines';
-import {
- ACCOUNT_BLOCK_SUCCESS,
- ACCOUNT_MUTE_SUCCESS,
- ACCOUNT_UNFOLLOW_SUCCESS,
-} from 'flavours/glitch/actions/accounts';
-import { Map as ImmutableMap, List as ImmutableList, OrderedSet as ImmutableOrderedSet, fromJS } from 'immutable';
+
import { compareId } from '../compare_id';
const initialState = ImmutableMap();
diff --git a/app/javascript/flavours/glitch/reducers/trends.js b/app/javascript/flavours/glitch/reducers/trends.js
index 0b8e0882d2..f13f331d7e 100644
--- a/app/javascript/flavours/glitch/reducers/trends.js
+++ b/app/javascript/flavours/glitch/reducers/trends.js
@@ -1,3 +1,5 @@
+import { Map as ImmutableMap, List as ImmutableList, fromJS } from 'immutable';
+
import {
TRENDS_TAGS_FETCH_REQUEST,
TRENDS_TAGS_FETCH_SUCCESS,
@@ -6,7 +8,6 @@ import {
TRENDS_LINKS_FETCH_SUCCESS,
TRENDS_LINKS_FETCH_FAIL,
} from 'flavours/glitch/actions/trends';
-import { Map as ImmutableMap, List as ImmutableList, fromJS } from 'immutable';
const initialState = ImmutableMap({
tags: ImmutableMap({
diff --git a/app/javascript/flavours/glitch/reducers/user_lists.js b/app/javascript/flavours/glitch/reducers/user_lists.js
index 9e020fd912..dd240e99d4 100644
--- a/app/javascript/flavours/glitch/reducers/user_lists.js
+++ b/app/javascript/flavours/glitch/reducers/user_lists.js
@@ -1,6 +1,5 @@
-import {
- NOTIFICATIONS_UPDATE,
-} from '../actions/notifications';
+import { Map as ImmutableMap, List as ImmutableList, fromJS } from 'immutable';
+
import {
FOLLOWERS_FETCH_REQUEST,
FOLLOWERS_FETCH_SUCCESS,
@@ -23,10 +22,6 @@ import {
FOLLOW_REQUEST_AUTHORIZE_SUCCESS,
FOLLOW_REQUEST_REJECT_SUCCESS,
} from 'flavours/glitch/actions/accounts';
-import {
- REBLOGS_FETCH_SUCCESS,
- FAVOURITES_FETCH_SUCCESS,
-} from 'flavours/glitch/actions/interactions';
import {
BLOCKS_FETCH_REQUEST,
BLOCKS_FETCH_SUCCESS,
@@ -35,14 +30,6 @@ import {
BLOCKS_EXPAND_SUCCESS,
BLOCKS_EXPAND_FAIL,
} from 'flavours/glitch/actions/blocks';
-import {
- MUTES_FETCH_REQUEST,
- MUTES_FETCH_SUCCESS,
- MUTES_FETCH_FAIL,
- MUTES_EXPAND_REQUEST,
- MUTES_EXPAND_SUCCESS,
- MUTES_EXPAND_FAIL,
-} from 'flavours/glitch/actions/mutes';
import {
DIRECTORY_FETCH_REQUEST,
DIRECTORY_FETCH_SUCCESS,
@@ -56,7 +43,23 @@ import {
FEATURED_TAGS_FETCH_SUCCESS,
FEATURED_TAGS_FETCH_FAIL,
} from 'flavours/glitch/actions/featured_tags';
-import { Map as ImmutableMap, List as ImmutableList, fromJS } from 'immutable';
+import {
+ REBLOGS_FETCH_SUCCESS,
+ FAVOURITES_FETCH_SUCCESS,
+} from 'flavours/glitch/actions/interactions';
+import {
+ MUTES_FETCH_REQUEST,
+ MUTES_FETCH_SUCCESS,
+ MUTES_FETCH_FAIL,
+ MUTES_EXPAND_REQUEST,
+ MUTES_EXPAND_SUCCESS,
+ MUTES_EXPAND_FAIL,
+} from 'flavours/glitch/actions/mutes';
+
+import {
+ NOTIFICATIONS_UPDATE,
+} from '../actions/notifications';
+
const initialListState = ImmutableMap({
next: null,
diff --git a/app/javascript/flavours/glitch/selectors/index.js b/app/javascript/flavours/glitch/selectors/index.js
index 22393bf6e2..e02bfab5db 100644
--- a/app/javascript/flavours/glitch/selectors/index.js
+++ b/app/javascript/flavours/glitch/selectors/index.js
@@ -1,7 +1,8 @@
-import { createSelector } from 'reselect';
import { List as ImmutableList, Map as ImmutableMap } from 'immutable';
-import { toServerSideType } from 'flavours/glitch/utils/filters';
+import { createSelector } from 'reselect';
+
import { me } from 'flavours/glitch/initial_state';
+import { toServerSideType } from 'flavours/glitch/utils/filters';
const getAccountBase = (state, id) => state.getIn(['accounts', id], null);
const getAccountCounters = (state, id) => state.getIn(['accounts_counters', id], null);
diff --git a/app/javascript/flavours/glitch/utils/log_out.js b/app/javascript/flavours/glitch/utils/log_out.js
index f820411500..a7c7ef5454 100644
--- a/app/javascript/flavours/glitch/utils/log_out.js
+++ b/app/javascript/flavours/glitch/utils/log_out.js
@@ -1,4 +1,5 @@
import Rails from '@rails/ujs';
+
import { signOutLink } from 'flavours/glitch/utils/backend_links';
export const logOut = () => {