diff --git a/.eslintrc.js b/.eslintrc.js
index 101e91527..c12341232 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -236,7 +236,7 @@ module.exports = {
'object',
'type',
],
- 'newlines-between': 'ignore',
+ 'newlines-between': 'always',
alphabetize: { order: 'asc' },
},
],
diff --git a/app/soapbox/actions/__tests__/about-test.js b/app/soapbox/actions/__tests__/about-test.js
index 1c04c9b9e..49840e357 100644
--- a/app/soapbox/actions/__tests__/about-test.js
+++ b/app/soapbox/actions/__tests__/about-test.js
@@ -1,7 +1,9 @@
import MockAdapter from 'axios-mock-adapter';
import { Map as ImmutableMap } from 'immutable';
+
import { staticClient } from 'soapbox/api';
import { mockStore } from 'soapbox/test_helpers';
+
import {
FETCH_ABOUT_PAGE_REQUEST,
FETCH_ABOUT_PAGE_SUCCESS,
diff --git a/app/soapbox/actions/__tests__/preload-test.js b/app/soapbox/actions/__tests__/preload-test.js
index 7512f4c5e..5290802d2 100644
--- a/app/soapbox/actions/__tests__/preload-test.js
+++ b/app/soapbox/actions/__tests__/preload-test.js
@@ -1,6 +1,8 @@
import { Map as ImmutableMap } from 'immutable';
+
import { __stub } from 'soapbox/api';
import { mockStore } from 'soapbox/test_helpers';
+
import { VERIFY_CREDENTIALS_REQUEST } from '../auth';
import { ACCOUNTS_IMPORT } from '../importer';
import {
diff --git a/app/soapbox/actions/accounts.js b/app/soapbox/actions/accounts.js
index 8ee830ec4..ec010cf7b 100644
--- a/app/soapbox/actions/accounts.js
+++ b/app/soapbox/actions/accounts.js
@@ -1,6 +1,8 @@
import { isLoggedIn } from 'soapbox/utils/auth';
import { getFeatures } from 'soapbox/utils/features';
+
import api, { getLinks } from '../api';
+
import {
importFetchedAccount,
importFetchedAccounts,
diff --git a/app/soapbox/actions/admin.js b/app/soapbox/actions/admin.js
index 2b29e7479..414cb07d6 100644
--- a/app/soapbox/actions/admin.js
+++ b/app/soapbox/actions/admin.js
@@ -1,5 +1,6 @@
import { fetchRelationships } from 'soapbox/actions/accounts';
import { importFetchedAccount, importFetchedStatuses } from 'soapbox/actions/importer';
+
import api from '../api';
export const ADMIN_CONFIG_FETCH_REQUEST = 'ADMIN_CONFIG_FETCH_REQUEST';
diff --git a/app/soapbox/actions/aliases.js b/app/soapbox/actions/aliases.js
index b525f22c7..cdeb7208c 100644
--- a/app/soapbox/actions/aliases.js
+++ b/app/soapbox/actions/aliases.js
@@ -1,6 +1,9 @@
import { defineMessages } from 'react-intl';
+
import { isLoggedIn } from 'soapbox/utils/auth';
+
import api from '../api';
+
import { showAlertForError } from './alerts';
import { importFetchedAccount, importFetchedAccounts } from './importer';
import { ME_PATCH_SUCCESS } from './me';
diff --git a/app/soapbox/actions/auth.js b/app/soapbox/actions/auth.js
index 8b8f02b64..82c4e0969 100644
--- a/app/soapbox/actions/auth.js
+++ b/app/soapbox/actions/auth.js
@@ -8,6 +8,7 @@
*/
import { defineMessages } from 'react-intl';
+
import { createAccount } from 'soapbox/actions/accounts';
import { createApp } from 'soapbox/actions/apps';
import { fetchMeSuccess, fetchMeFail } from 'soapbox/actions/me';
@@ -18,7 +19,9 @@ import { getLoggedInAccount, parseBaseURL } from 'soapbox/utils/auth';
import sourceCode from 'soapbox/utils/code';
import { getFeatures } from 'soapbox/utils/features';
import { isStandalone } from 'soapbox/utils/state';
+
import api, { baseClient } from '../api';
+
import { importFetchedAccount } from './importer';
export const SWITCH_ACCOUNT = 'SWITCH_ACCOUNT';
diff --git a/app/soapbox/actions/blocks.js b/app/soapbox/actions/blocks.js
index 9f28d6d22..554446f2f 100644
--- a/app/soapbox/actions/blocks.js
+++ b/app/soapbox/actions/blocks.js
@@ -1,6 +1,8 @@
import { isLoggedIn } from 'soapbox/utils/auth';
import { getNextLinkName } from 'soapbox/utils/quirks';
+
import api, { getLinks } from '../api';
+
import { fetchRelationships } from './accounts';
import { importFetchedAccounts } from './importer';
diff --git a/app/soapbox/actions/bookmarks.js b/app/soapbox/actions/bookmarks.js
index cf1ca8113..a0400ff38 100644
--- a/app/soapbox/actions/bookmarks.js
+++ b/app/soapbox/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/soapbox/actions/chats.js b/app/soapbox/actions/chats.js
index eb9222750..8003bb8cb 100644
--- a/app/soapbox/actions/chats.js
+++ b/app/soapbox/actions/chats.js
@@ -1,7 +1,9 @@
import { Map as ImmutableMap } from 'immutable';
import { v4 as uuidv4 } from 'uuid';
+
import { getSettings, changeSetting } from 'soapbox/actions/settings';
import { getFeatures } from 'soapbox/utils/features';
+
import api, { getLinks } from '../api';
export const CHATS_FETCH_REQUEST = 'CHATS_FETCH_REQUEST';
diff --git a/app/soapbox/actions/compose.js b/app/soapbox/actions/compose.js
index 82415eb0b..9801b40b2 100644
--- a/app/soapbox/actions/compose.js
+++ b/app/soapbox/actions/compose.js
@@ -1,13 +1,16 @@
import { CancelToken, isCancel } from 'axios';
import { throttle } from 'lodash';
import { defineMessages } from 'react-intl';
+
import snackbar from 'soapbox/actions/snackbar';
import { isLoggedIn } from 'soapbox/utils/auth';
import { getFeatures } from 'soapbox/utils/features';
+
import api from '../api';
import { search as emojiSearch } from '../features/emoji/emoji_mart_search_light';
import { tagHistory } from '../settings';
import resizeImage from '../utils/resize_image';
+
import { showAlert, showAlertForError } from './alerts';
import { useEmoji } from './emojis';
import { importFetchedAccounts } from './importer';
diff --git a/app/soapbox/actions/conversations.js b/app/soapbox/actions/conversations.js
index ea88dd070..4e7eb214f 100644
--- a/app/soapbox/actions/conversations.js
+++ b/app/soapbox/actions/conversations.js
@@ -1,5 +1,7 @@
import { isLoggedIn } from 'soapbox/utils/auth';
+
import api, { getLinks } from '../api';
+
import {
importFetchedAccounts,
importFetchedStatuses,
diff --git a/app/soapbox/actions/directory.js b/app/soapbox/actions/directory.js
index bf93a5f22..0ee15386b 100644
--- a/app/soapbox/actions/directory.js
+++ b/app/soapbox/actions/directory.js
@@ -1,4 +1,5 @@
import api from '../api';
+
import { fetchRelationships } from './accounts';
import { importFetchedAccounts } from './importer';
diff --git a/app/soapbox/actions/domain_blocks.js b/app/soapbox/actions/domain_blocks.js
index 37ee475e5..92824a55c 100644
--- a/app/soapbox/actions/domain_blocks.js
+++ b/app/soapbox/actions/domain_blocks.js
@@ -1,4 +1,5 @@
import { isLoggedIn } from 'soapbox/utils/auth';
+
import api, { getLinks } from '../api';
export const DOMAIN_BLOCK_REQUEST = 'DOMAIN_BLOCK_REQUEST';
diff --git a/app/soapbox/actions/emoji_reacts.js b/app/soapbox/actions/emoji_reacts.js
index 48958bacb..a057dd35e 100644
--- a/app/soapbox/actions/emoji_reacts.js
+++ b/app/soapbox/actions/emoji_reacts.js
@@ -1,6 +1,9 @@
import { List as ImmutableList } from 'immutable';
+
import { isLoggedIn } from 'soapbox/utils/auth';
+
import api from '../api';
+
import { importFetchedAccounts, importFetchedStatus } from './importer';
import { favourite, unfavourite } from './interactions';
diff --git a/app/soapbox/actions/export_data.js b/app/soapbox/actions/export_data.js
index 479b44b0a..12e0bd58b 100644
--- a/app/soapbox/actions/export_data.js
+++ b/app/soapbox/actions/export_data.js
@@ -1,5 +1,7 @@
import { defineMessages } from 'react-intl';
+
import snackbar from 'soapbox/actions/snackbar';
+
import api, { getLinks } from '../api';
export const EXPORT_FOLLOWS_REQUEST = 'EXPORT_FOLLOWS_REQUEST';
diff --git a/app/soapbox/actions/external_auth.js b/app/soapbox/actions/external_auth.js
index f95c08be6..b3258ab70 100644
--- a/app/soapbox/actions/external_auth.js
+++ b/app/soapbox/actions/external_auth.js
@@ -7,12 +7,14 @@
*/
import { Map as ImmutableMap, fromJS } from 'immutable';
+
import { createApp } from 'soapbox/actions/apps';
import { authLoggedIn, verifyCredentials, switchAccount } from 'soapbox/actions/auth';
import { obtainOAuthToken } from 'soapbox/actions/oauth';
import { parseBaseURL } from 'soapbox/utils/auth';
import sourceCode from 'soapbox/utils/code';
import { getFeatures } from 'soapbox/utils/features';
+
import { baseClient } from '../api';
const fetchExternalInstance = baseURL => {
diff --git a/app/soapbox/actions/favourites.js b/app/soapbox/actions/favourites.js
index 090df55bc..c4bce15e9 100644
--- a/app/soapbox/actions/favourites.js
+++ b/app/soapbox/actions/favourites.js
@@ -1,5 +1,7 @@
import { isLoggedIn } from 'soapbox/utils/auth';
+
import api, { getLinks } from '../api';
+
import { importFetchedStatuses } from './importer';
export const FAVOURITED_STATUSES_FETCH_REQUEST = 'FAVOURITED_STATUSES_FETCH_REQUEST';
diff --git a/app/soapbox/actions/filters.js b/app/soapbox/actions/filters.js
index d0f18dd3e..e6af25f9c 100644
--- a/app/soapbox/actions/filters.js
+++ b/app/soapbox/actions/filters.js
@@ -1,6 +1,8 @@
import { defineMessages } from 'react-intl';
+
import snackbar from 'soapbox/actions/snackbar';
import { isLoggedIn } from 'soapbox/utils/auth';
+
import api from '../api';
export const FILTERS_FETCH_REQUEST = 'FILTERS_FETCH_REQUEST';
diff --git a/app/soapbox/actions/group_editor.js b/app/soapbox/actions/group_editor.js
index 6710b21f2..f504a743a 100644
--- a/app/soapbox/actions/group_editor.js
+++ b/app/soapbox/actions/group_editor.js
@@ -1,4 +1,5 @@
import { isLoggedIn } from 'soapbox/utils/auth';
+
import api from '../api';
export const GROUP_CREATE_REQUEST = 'GROUP_CREATE_REQUEST';
diff --git a/app/soapbox/actions/groups.js b/app/soapbox/actions/groups.js
index 7bff19076..3c6255216 100644
--- a/app/soapbox/actions/groups.js
+++ b/app/soapbox/actions/groups.js
@@ -1,5 +1,7 @@
import { isLoggedIn } from 'soapbox/utils/auth';
+
import api, { getLinks } from '../api';
+
import { fetchRelationships } from './accounts';
import { importFetchedAccounts } from './importer';
diff --git a/app/soapbox/actions/import_data.js b/app/soapbox/actions/import_data.js
index b316df8bb..7bde21a4a 100644
--- a/app/soapbox/actions/import_data.js
+++ b/app/soapbox/actions/import_data.js
@@ -1,5 +1,7 @@
import { defineMessages } from 'react-intl';
+
import snackbar from 'soapbox/actions/snackbar';
+
import api from '../api';
export const IMPORT_FOLLOWS_REQUEST = 'IMPORT_FOLLOWS_REQUEST';
diff --git a/app/soapbox/actions/importer/index.js b/app/soapbox/actions/importer/index.js
index ee4f1cfa7..407bb7c30 100644
--- a/app/soapbox/actions/importer/index.js
+++ b/app/soapbox/actions/importer/index.js
@@ -1,4 +1,5 @@
import { getSettings } from '../settings';
+
import {
normalizeAccount,
normalizeStatus,
diff --git a/app/soapbox/actions/importer/normalizer.js b/app/soapbox/actions/importer/normalizer.js
index 922e57986..240abddcc 100644
--- a/app/soapbox/actions/importer/normalizer.js
+++ b/app/soapbox/actions/importer/normalizer.js
@@ -1,4 +1,5 @@
import escapeTextContentForBrowser from 'escape-html';
+
import emojify from '../../features/emoji/emoji';
import { unescapeHTML } from '../../utils/html';
diff --git a/app/soapbox/actions/instance.js b/app/soapbox/actions/instance.js
index e6cf6897d..85d8b2a3f 100644
--- a/app/soapbox/actions/instance.js
+++ b/app/soapbox/actions/instance.js
@@ -1,7 +1,9 @@
import { get } from 'lodash';
+
import KVStore from 'soapbox/storage/kv_store';
import { getAuthUserUrl } from 'soapbox/utils/auth';
import { parseVersion } from 'soapbox/utils/features';
+
import api from '../api';
export const INSTANCE_FETCH_REQUEST = 'INSTANCE_FETCH_REQUEST';
diff --git a/app/soapbox/actions/interactions.js b/app/soapbox/actions/interactions.js
index 700166bc6..d7f27a96c 100644
--- a/app/soapbox/actions/interactions.js
+++ b/app/soapbox/actions/interactions.js
@@ -1,7 +1,10 @@
import { defineMessages } from 'react-intl';
+
import snackbar from 'soapbox/actions/snackbar';
import { isLoggedIn } from 'soapbox/utils/auth';
+
import api from '../api';
+
import { importFetchedAccounts, importFetchedStatus } from './importer';
export const REBLOG_REQUEST = 'REBLOG_REQUEST';
diff --git a/app/soapbox/actions/lists.js b/app/soapbox/actions/lists.js
index b01888884..6b39978d2 100644
--- a/app/soapbox/actions/lists.js
+++ b/app/soapbox/actions/lists.js
@@ -1,5 +1,7 @@
import { isLoggedIn } from 'soapbox/utils/auth';
+
import api from '../api';
+
import { showAlertForError } from './alerts';
import { importFetchedAccounts } from './importer';
diff --git a/app/soapbox/actions/me.js b/app/soapbox/actions/me.js
index 0b92ae3be..e04001e4c 100644
--- a/app/soapbox/actions/me.js
+++ b/app/soapbox/actions/me.js
@@ -1,5 +1,7 @@
import { getAuthUserId, getAuthUserUrl } from 'soapbox/utils/auth';
+
import api from '../api';
+
import { loadCredentials } from './auth';
import { importFetchedAccount } from './importer';
diff --git a/app/soapbox/actions/media.js b/app/soapbox/actions/media.js
index 87f2b0347..460c2f079 100644
--- a/app/soapbox/actions/media.js
+++ b/app/soapbox/actions/media.js
@@ -1,4 +1,5 @@
import { getFeatures } from 'soapbox/utils/features';
+
import api from '../api';
const noOp = () => {};
diff --git a/app/soapbox/actions/moderation.js b/app/soapbox/actions/moderation.js
index d27b5665c..7bad7e82d 100644
--- a/app/soapbox/actions/moderation.js
+++ b/app/soapbox/actions/moderation.js
@@ -1,5 +1,6 @@
import React from 'react';
import { defineMessages } from 'react-intl';
+
import { fetchAccountByUsername } from 'soapbox/actions/accounts';
import { deactivateUsers, deleteUsers, deleteStatus, toggleStatusSensitivity } from 'soapbox/actions/admin';
import { openModal } from 'soapbox/actions/modal';
diff --git a/app/soapbox/actions/mrf.js b/app/soapbox/actions/mrf.js
index d893ce6bd..39359e965 100644
--- a/app/soapbox/actions/mrf.js
+++ b/app/soapbox/actions/mrf.js
@@ -1,5 +1,7 @@
import { Set as ImmutableSet } from 'immutable';
+
import ConfigDB from 'soapbox/utils/config_db';
+
import { fetchConfig, updateConfig } from './admin';
const simplePolicyMerge = (simplePolicy, host, restrictions) => {
diff --git a/app/soapbox/actions/mutes.js b/app/soapbox/actions/mutes.js
index 23afba4f3..f7c2b6a11 100644
--- a/app/soapbox/actions/mutes.js
+++ b/app/soapbox/actions/mutes.js
@@ -1,6 +1,8 @@
import { isLoggedIn } from 'soapbox/utils/auth';
import { getNextLinkName } from 'soapbox/utils/quirks';
+
import api, { getLinks } from '../api';
+
import { fetchRelationships } from './accounts';
import { importFetchedAccounts } from './importer';
import { openModal } from './modal';
diff --git a/app/soapbox/actions/notifications.js b/app/soapbox/actions/notifications.js
index 85e3c96ce..08f9bb718 100644
--- a/app/soapbox/actions/notifications.js
+++ b/app/soapbox/actions/notifications.js
@@ -6,12 +6,15 @@ import {
import IntlMessageFormat from 'intl-messageformat';
import 'intl-pluralrules';
import { defineMessages } from 'react-intl';
+
import { isLoggedIn } from 'soapbox/utils/auth';
import { parseVersion, PLEROMA } from 'soapbox/utils/features';
import { joinPublicPath } from 'soapbox/utils/static';
+
import api, { getLinks } from '../api';
import { getFilters, regexFromFilters } from '../selectors';
import { unescapeHTML } from '../utils/html';
+
import { fetchRelationships } from './accounts';
import {
importFetchedAccount,
diff --git a/app/soapbox/actions/pin_statuses.js b/app/soapbox/actions/pin_statuses.js
index d2a1c96ec..26194f553 100644
--- a/app/soapbox/actions/pin_statuses.js
+++ b/app/soapbox/actions/pin_statuses.js
@@ -1,5 +1,7 @@
import { isLoggedIn } from 'soapbox/utils/auth';
+
import api from '../api';
+
import { importFetchedStatuses } from './importer';
export const PINNED_STATUSES_FETCH_REQUEST = 'PINNED_STATUSES_FETCH_REQUEST';
diff --git a/app/soapbox/actions/polls.js b/app/soapbox/actions/polls.js
index 8e8b82df5..a37410dc9 100644
--- a/app/soapbox/actions/polls.js
+++ b/app/soapbox/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/soapbox/actions/preload.js b/app/soapbox/actions/preload.js
index 9a3c8e9c6..d14c6f9fe 100644
--- a/app/soapbox/actions/preload.js
+++ b/app/soapbox/actions/preload.js
@@ -1,4 +1,5 @@
import { mapValues } from 'lodash';
+
import { verifyCredentials } from './auth';
import { importFetchedAccounts } from './importer';
diff --git a/app/soapbox/actions/push_notifications/registerer.js b/app/soapbox/actions/push_notifications/registerer.js
index af798e416..b4d86631e 100644
--- a/app/soapbox/actions/push_notifications/registerer.js
+++ b/app/soapbox/actions/push_notifications/registerer.js
@@ -1,7 +1,9 @@
import { createPushSubsription, updatePushSubscription } from 'soapbox/actions/push_subscriptions';
import { getVapidKey } from 'soapbox/utils/auth';
+
import { pushNotificationsSetting } from '../../settings';
import { decode as decodeBase64 } from '../../utils/base64';
+
import { setBrowserSupport, setSubscription, clearSubscription } from './setter';
// Taken from https://www.npmjs.com/package/web-push
diff --git a/app/soapbox/actions/reports.js b/app/soapbox/actions/reports.js
index 9d0d4e581..2db3bce31 100644
--- a/app/soapbox/actions/reports.js
+++ b/app/soapbox/actions/reports.js
@@ -1,4 +1,5 @@
import api from '../api';
+
import { openModal, closeModal } from './modal';
export const REPORT_INIT = 'REPORT_INIT';
diff --git a/app/soapbox/actions/search.js b/app/soapbox/actions/search.js
index 6764dc534..27cb4bdbd 100644
--- a/app/soapbox/actions/search.js
+++ b/app/soapbox/actions/search.js
@@ -1,4 +1,5 @@
import api from '../api';
+
import { fetchRelationships } from './accounts';
import { importFetchedAccounts, importFetchedStatuses } from './importer';
diff --git a/app/soapbox/actions/security.js b/app/soapbox/actions/security.js
index cb6833543..4cc957992 100644
--- a/app/soapbox/actions/security.js
+++ b/app/soapbox/actions/security.js
@@ -6,7 +6,9 @@
import snackbar from 'soapbox/actions/snackbar';
import { getLoggedInAccount } from 'soapbox/utils/auth';
+
import api from '../api';
+
import { AUTH_LOGGED_OUT, messages } from './auth';
export const FETCH_TOKENS_REQUEST = 'FETCH_TOKENS_REQUEST';
diff --git a/app/soapbox/actions/settings.js b/app/soapbox/actions/settings.js
index 3651d48e6..f7508807c 100644
--- a/app/soapbox/actions/settings.js
+++ b/app/soapbox/actions/settings.js
@@ -1,9 +1,12 @@
import { Map as ImmutableMap, List as ImmutableList, OrderedSet as ImmutableOrderedSet } from 'immutable';
import { debounce } from 'lodash';
import { createSelector } from 'reselect';
+
import { patchMe } from 'soapbox/actions/me';
import { isLoggedIn } from 'soapbox/utils/auth';
+
import uuid from '../uuid';
+
import { showAlertForError } from './alerts';
export const SETTING_CHANGE = 'SETTING_CHANGE';
diff --git a/app/soapbox/actions/soapbox.js b/app/soapbox/actions/soapbox.js
index 225e8c280..d85bd0f0f 100644
--- a/app/soapbox/actions/soapbox.js
+++ b/app/soapbox/actions/soapbox.js
@@ -1,8 +1,10 @@
import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
import { createSelector } from 'reselect';
+
import { getHost } from 'soapbox/actions/instance';
import KVStore from 'soapbox/storage/kv_store';
import { getFeatures } from 'soapbox/utils/features';
+
import api, { staticClient } from '../api';
export const SOAPBOX_CONFIG_REQUEST_SUCCESS = 'SOAPBOX_CONFIG_REQUEST_SUCCESS';
diff --git a/app/soapbox/actions/statuses.js b/app/soapbox/actions/statuses.js
index 25b65ec25..150b6d8c7 100644
--- a/app/soapbox/actions/statuses.js
+++ b/app/soapbox/actions/statuses.js
@@ -1,7 +1,9 @@
import { isLoggedIn } from 'soapbox/utils/auth';
import { getFeatures } from 'soapbox/utils/features';
import { shouldHaveCard } from 'soapbox/utils/status';
+
import api from '../api';
+
import { importFetchedStatus, importFetchedStatuses } from './importer';
import { openModal } from './modal';
import { deleteFromTimelines } from './timelines';
diff --git a/app/soapbox/actions/streaming.js b/app/soapbox/actions/streaming.js
index 2dd6d45e5..bd1ed00da 100644
--- a/app/soapbox/actions/streaming.js
+++ b/app/soapbox/actions/streaming.js
@@ -1,6 +1,8 @@
import { getSettings } from 'soapbox/actions/settings';
import messages from 'soapbox/locales/messages';
+
import { connectStream } from '../stream';
+
import { updateConversations } from './conversations';
import { fetchFilters } from './filters';
import { updateNotificationsQueue, expandNotifications } from './notifications';
diff --git a/app/soapbox/actions/suggestions.js b/app/soapbox/actions/suggestions.js
index e2ca4df7b..d896e6e07 100644
--- a/app/soapbox/actions/suggestions.js
+++ b/app/soapbox/actions/suggestions.js
@@ -1,6 +1,8 @@
import { isLoggedIn } from 'soapbox/utils/auth';
import { getFeatures } from 'soapbox/utils/features';
+
import api from '../api';
+
import { fetchRelationships } from './accounts';
import { importFetchedAccounts } from './importer';
diff --git a/app/soapbox/actions/timelines.js b/app/soapbox/actions/timelines.js
index 345e4783d..bef27b287 100644
--- a/app/soapbox/actions/timelines.js
+++ b/app/soapbox/actions/timelines.js
@@ -1,7 +1,10 @@
import { Map as ImmutableMap, OrderedSet as ImmutableOrderedSet, fromJS } from 'immutable';
+
import { getSettings } from 'soapbox/actions/settings';
import { shouldFilter } from 'soapbox/utils/timelines';
+
import api, { getLinks } from '../api';
+
import { importFetchedStatus, importFetchedStatuses } from './importer';
export const TIMELINE_UPDATE = 'TIMELINE_UPDATE';
diff --git a/app/soapbox/api.js b/app/soapbox/api.js
index 58e6f6657..13ee07186 100644
--- a/app/soapbox/api.js
+++ b/app/soapbox/api.js
@@ -8,6 +8,7 @@
import axios from 'axios';
import LinkHeader from 'http-link-header';
import { createSelector } from 'reselect';
+
import { BACKEND_URL, FE_SUBDIRECTORY } from 'soapbox/build_config';
import { getAccessToken, getAppToken, parseBaseURL } from 'soapbox/utils/auth';
import { isURL } from 'soapbox/utils/auth';
diff --git a/app/soapbox/base_polyfills.js b/app/soapbox/base_polyfills.js
index 60c546bf4..e4744fee3 100644
--- a/app/soapbox/base_polyfills.js
+++ b/app/soapbox/base_polyfills.js
@@ -7,6 +7,7 @@ import includes from 'array-includes';
import isNaN from 'is-nan';
import assign from 'object-assign';
import values from 'object.values';
+
import { decode as decodeBase64 } from './utils/base64';
if (!Array.prototype.includes) {
diff --git a/app/soapbox/components/__tests__/autosuggest_emoji-test.js b/app/soapbox/components/__tests__/autosuggest_emoji-test.js
index 05616e444..9a2fb58e8 100644
--- a/app/soapbox/components/__tests__/autosuggest_emoji-test.js
+++ b/app/soapbox/components/__tests__/autosuggest_emoji-test.js
@@ -1,5 +1,6 @@
import React from 'react';
import renderer from 'react-test-renderer';
+
import AutosuggestEmoji from '../autosuggest_emoji';
describe('', () => {
diff --git a/app/soapbox/components/__tests__/avatar-test.js b/app/soapbox/components/__tests__/avatar-test.js
index 6e43f30c7..3834dfbb5 100644
--- a/app/soapbox/components/__tests__/avatar-test.js
+++ b/app/soapbox/components/__tests__/avatar-test.js
@@ -1,6 +1,8 @@
import { fromJS } from 'immutable';
import React from 'react';
+
import { createComponent } from 'soapbox/test_helpers';
+
import Avatar from '../avatar';
describe('', () => {
diff --git a/app/soapbox/components/__tests__/avatar_overlay-test.js b/app/soapbox/components/__tests__/avatar_overlay-test.js
index 0e0d2039a..db4250c59 100644
--- a/app/soapbox/components/__tests__/avatar_overlay-test.js
+++ b/app/soapbox/components/__tests__/avatar_overlay-test.js
@@ -1,6 +1,8 @@
import { fromJS } from 'immutable';
import React from 'react';
+
import { createComponent } from 'soapbox/test_helpers';
+
import AvatarOverlay from '../avatar_overlay';
describe(' {
diff --git a/app/soapbox/components/__tests__/badge-test.js b/app/soapbox/components/__tests__/badge-test.js
index 5a42f0531..0b577dc18 100644
--- a/app/soapbox/components/__tests__/badge-test.js
+++ b/app/soapbox/components/__tests__/badge-test.js
@@ -1,5 +1,6 @@
import React from 'react';
import renderer from 'react-test-renderer';
+
import Badge from '../badge';
describe('', () => {
diff --git a/app/soapbox/components/__tests__/button-test.js b/app/soapbox/components/__tests__/button-test.js
index 160cd3cbc..e1480fe6f 100644
--- a/app/soapbox/components/__tests__/button-test.js
+++ b/app/soapbox/components/__tests__/button-test.js
@@ -1,6 +1,7 @@
import { shallow } from 'enzyme';
import React from 'react';
import renderer from 'react-test-renderer';
+
import Button from '../button';
describe('', () => {
diff --git a/app/soapbox/components/__tests__/column-test.js b/app/soapbox/components/__tests__/column-test.js
index 7c873cc10..8171d5f74 100644
--- a/app/soapbox/components/__tests__/column-test.js
+++ b/app/soapbox/components/__tests__/column-test.js
@@ -1,5 +1,6 @@
import React from 'react';
import renderer from 'react-test-renderer';
+
import Column from '../column';
describe('', () => {
diff --git a/app/soapbox/components/__tests__/column_back_button-test.js b/app/soapbox/components/__tests__/column_back_button-test.js
index 0cd337c7a..b1e5e0849 100644
--- a/app/soapbox/components/__tests__/column_back_button-test.js
+++ b/app/soapbox/components/__tests__/column_back_button-test.js
@@ -1,5 +1,7 @@
import React from 'react';
+
import { createComponent } from 'soapbox/test_helpers';
+
import ColumnBackButton from '../column_back_button';
describe('', () => {
diff --git a/app/soapbox/components/__tests__/display_name-test.js b/app/soapbox/components/__tests__/display_name-test.js
index e717e6480..66cc7cdf7 100644
--- a/app/soapbox/components/__tests__/display_name-test.js
+++ b/app/soapbox/components/__tests__/display_name-test.js
@@ -1,6 +1,8 @@
import { fromJS } from 'immutable';
import React from 'react';
+
import { createComponent } from 'soapbox/test_helpers';
+
import DisplayName from '../display_name';
describe('', () => {
diff --git a/app/soapbox/components/__tests__/emoji_selector-test.js b/app/soapbox/components/__tests__/emoji_selector-test.js
index e907a8a82..c61263cc6 100644
--- a/app/soapbox/components/__tests__/emoji_selector-test.js
+++ b/app/soapbox/components/__tests__/emoji_selector-test.js
@@ -1,5 +1,7 @@
import React from 'react';
+
import { createComponent } from 'soapbox/test_helpers';
+
import EmojiSelector from '../emoji_selector';
describe('', () => {
diff --git a/app/soapbox/components/__tests__/timeline_queue_button_header-test.js b/app/soapbox/components/__tests__/timeline_queue_button_header-test.js
index 2af5a85db..d2f9dc534 100644
--- a/app/soapbox/components/__tests__/timeline_queue_button_header-test.js
+++ b/app/soapbox/components/__tests__/timeline_queue_button_header-test.js
@@ -1,6 +1,8 @@
import React from 'react';
import { defineMessages } from 'react-intl';
+
import { createComponent } from 'soapbox/test_helpers';
+
import TimelineQueueButtonHeader from '../timeline_queue_button_header';
const messages = defineMessages({
diff --git a/app/soapbox/components/account.js b/app/soapbox/components/account.js
index 74c17d9d7..4136f3783 100644
--- a/app/soapbox/components/account.js
+++ b/app/soapbox/components/account.js
@@ -5,8 +5,10 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
+
import emojify from 'soapbox/features/emoji/emoji';
import ActionButton from 'soapbox/features/ui/components/action_button';
+
import Avatar from './avatar';
import DisplayName from './display_name';
import Icon from './icon';
diff --git a/app/soapbox/components/account_search.js b/app/soapbox/components/account_search.js
index 0c7a01456..f9c64c31e 100644
--- a/app/soapbox/components/account_search.js
+++ b/app/soapbox/components/account_search.js
@@ -2,6 +2,7 @@ import classNames from 'classnames';
import PropTypes from 'prop-types';
import React from 'react';
import { defineMessages, injectIntl } from 'react-intl';
+
import AutosuggestAccountInput from 'soapbox/components/autosuggest_account_input';
import Icon from 'soapbox/components/icon';
diff --git a/app/soapbox/components/attachment_list.js b/app/soapbox/components/attachment_list.js
index c64869b13..52d4e6d77 100644
--- a/app/soapbox/components/attachment_list.js
+++ b/app/soapbox/components/attachment_list.js
@@ -2,6 +2,7 @@ import PropTypes from 'prop-types';
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
+
import Icon from 'soapbox/components/icon';
const filename = url => url.split('/').pop().split('#')[0].split('?')[0];
diff --git a/app/soapbox/components/attachment_thumbs.js b/app/soapbox/components/attachment_thumbs.js
index 7ee27f724..61a1ad69f 100644
--- a/app/soapbox/components/attachment_thumbs.js
+++ b/app/soapbox/components/attachment_thumbs.js
@@ -3,6 +3,7 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { connect } from 'react-redux';
+
import { openModal } from 'soapbox/actions/modal';
import Bundle from 'soapbox/features/ui/components/bundle';
import { MediaGallery } from 'soapbox/features/ui/util/async-components';
diff --git a/app/soapbox/components/autosuggest_account_input.js b/app/soapbox/components/autosuggest_account_input.js
index 6a002fe24..fd93f52a9 100644
--- a/app/soapbox/components/autosuggest_account_input.js
+++ b/app/soapbox/components/autosuggest_account_input.js
@@ -5,7 +5,9 @@ import PropTypes from 'prop-types';
import React from 'react';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { connect } from 'react-redux';
+
import { accountSearch } from 'soapbox/actions/accounts';
+
import AutosuggestInput from './autosuggest_input';
const noOp = () => {};
diff --git a/app/soapbox/components/autosuggest_emoji.js b/app/soapbox/components/autosuggest_emoji.js
index bf45d23a0..f82ff6990 100644
--- a/app/soapbox/components/autosuggest_emoji.js
+++ b/app/soapbox/components/autosuggest_emoji.js
@@ -1,6 +1,8 @@
import PropTypes from 'prop-types';
import React from 'react';
+
import { joinPublicPath } from 'soapbox/utils/static';
+
import unicodeMapping from '../features/emoji/emoji_unicode_mapping_light';
export default class AutosuggestEmoji extends React.PureComponent {
diff --git a/app/soapbox/components/autosuggest_input.js b/app/soapbox/components/autosuggest_input.js
index 84df2b6f7..997c0ff92 100644
--- a/app/soapbox/components/autosuggest_input.js
+++ b/app/soapbox/components/autosuggest_input.js
@@ -4,9 +4,12 @@ import PropTypes from 'prop-types';
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
+
import Icon from 'soapbox/components/icon';
+
import AutosuggestAccountContainer from '../features/compose/containers/autosuggest_account_container';
import { isRtl } from '../rtl';
+
import AutosuggestEmoji from './autosuggest_emoji';
const textAtCursorMatchesToken = (str, caretPosition, searchTokens) => {
diff --git a/app/soapbox/components/autosuggest_textarea.js b/app/soapbox/components/autosuggest_textarea.js
index b115ad942..db9fae479 100644
--- a/app/soapbox/components/autosuggest_textarea.js
+++ b/app/soapbox/components/autosuggest_textarea.js
@@ -4,8 +4,10 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import Textarea from 'react-textarea-autosize';
+
import AutosuggestAccountContainer from '../features/compose/containers/autosuggest_account_container';
import { isRtl } from '../rtl';
+
import AutosuggestEmoji from './autosuggest_emoji';
const textAtCursorMatchesToken = (str, caretPosition) => {
diff --git a/app/soapbox/components/avatar.js b/app/soapbox/components/avatar.js
index b3349928d..1bbca72cc 100644
--- a/app/soapbox/components/avatar.js
+++ b/app/soapbox/components/avatar.js
@@ -2,6 +2,7 @@ import classNames from 'classnames';
import PropTypes from 'prop-types';
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
+
import StillImage from 'soapbox/components/still_image';
export default class Avatar extends React.PureComponent {
diff --git a/app/soapbox/components/avatar_composite.js b/app/soapbox/components/avatar_composite.js
index d0f93533a..59e4bab96 100644
--- a/app/soapbox/components/avatar_composite.js
+++ b/app/soapbox/components/avatar_composite.js
@@ -1,6 +1,7 @@
import PropTypes from 'prop-types';
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
+
import StillImage from 'soapbox/components/still_image';
export default class AvatarComposite extends React.PureComponent {
diff --git a/app/soapbox/components/avatar_overlay.js b/app/soapbox/components/avatar_overlay.js
index 802fe423a..01e35b4d1 100644
--- a/app/soapbox/components/avatar_overlay.js
+++ b/app/soapbox/components/avatar_overlay.js
@@ -1,5 +1,6 @@
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
+
import StillImage from 'soapbox/components/still_image';
export default class AvatarOverlay extends React.PureComponent {
diff --git a/app/soapbox/components/button.js b/app/soapbox/components/button.js
index 7f69d6feb..43ca98588 100644
--- a/app/soapbox/components/button.js
+++ b/app/soapbox/components/button.js
@@ -2,6 +2,7 @@ import classNames from 'classnames';
import PropTypes from 'prop-types';
import React from 'react';
import { Link } from 'react-router-dom';
+
import Icon from './icon';
export default class Button extends React.PureComponent {
diff --git a/app/soapbox/components/column_back_button.js b/app/soapbox/components/column_back_button.js
index 5c901f4be..b4b09b0cf 100644
--- a/app/soapbox/components/column_back_button.js
+++ b/app/soapbox/components/column_back_button.js
@@ -1,6 +1,7 @@
import PropTypes from 'prop-types';
import React from 'react';
import { FormattedMessage } from 'react-intl';
+
import Icon from 'soapbox/components/icon';
export default class ColumnBackButton extends React.PureComponent {
diff --git a/app/soapbox/components/column_header.js b/app/soapbox/components/column_header.js
index 5fd4c09ba..9c624ae8c 100644
--- a/app/soapbox/components/column_header.js
+++ b/app/soapbox/components/column_header.js
@@ -2,6 +2,7 @@
import PropTypes from 'prop-types';
import React from 'react';
+
// import classNames from 'classnames';
// import { injectIntl, defineMessages } from 'react-intl';
// import Icon from 'soapbox/components/icon';
diff --git a/app/soapbox/components/display_name.js b/app/soapbox/components/display_name.js
index 7b0103cfe..daf7fe974 100644
--- a/app/soapbox/components/display_name.js
+++ b/app/soapbox/components/display_name.js
@@ -2,10 +2,13 @@ import PropTypes from 'prop-types';
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { connect } from 'react-redux';
+
import HoverRefWrapper from 'soapbox/components/hover_ref_wrapper';
import { isVerified } from 'soapbox/utils/accounts';
import { displayFqn } from 'soapbox/utils/state';
+
import { getAcct } from '../utils/accounts';
+
import Icon from './icon';
import RelativeTimestamp from './relative_timestamp';
import VerificationBadge from './verification_badge';
diff --git a/app/soapbox/components/domain.js b/app/soapbox/components/domain.js
index d9e067bc2..026497a14 100644
--- a/app/soapbox/components/domain.js
+++ b/app/soapbox/components/domain.js
@@ -2,6 +2,7 @@ import PropTypes from 'prop-types';
import React from 'react';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl } from 'react-intl';
+
import IconButton from './icon_button';
const messages = defineMessages({
diff --git a/app/soapbox/components/dropdown_menu.js b/app/soapbox/components/dropdown_menu.js
index f3235815e..fa0d1ffd5 100644
--- a/app/soapbox/components/dropdown_menu.js
+++ b/app/soapbox/components/dropdown_menu.js
@@ -5,8 +5,11 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import spring from 'react-motion/lib/spring';
import Overlay from 'react-overlays/lib/Overlay';
+
import Icon from 'soapbox/components/icon';
+
import Motion from '../features/ui/util/optional_motion';
+
import IconButton from './icon_button';
const listenerOptions = supportsPassiveEvents ? { passive: true } : false;
diff --git a/app/soapbox/components/emoji_selector.js b/app/soapbox/components/emoji_selector.js
index c0c0d1671..73db189a3 100644
--- a/app/soapbox/components/emoji_selector.js
+++ b/app/soapbox/components/emoji_selector.js
@@ -4,6 +4,7 @@ import React from 'react';
import { HotKeys } from 'react-hotkeys';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { connect } from 'react-redux';
+
import { getSoapboxConfig } from 'soapbox/actions/soapbox';
import emojify from 'soapbox/features/emoji/emoji';
diff --git a/app/soapbox/components/error_boundary.js b/app/soapbox/components/error_boundary.js
index 1fe31ac84..b73944575 100644
--- a/app/soapbox/components/error_boundary.js
+++ b/app/soapbox/components/error_boundary.js
@@ -1,6 +1,7 @@
import PropTypes from 'prop-types';
import React from 'react';
import { FormattedMessage } from 'react-intl';
+
import Icon from 'soapbox/components/icon';
import { captureException } from 'soapbox/monitoring';
diff --git a/app/soapbox/components/extended_video_player.js b/app/soapbox/components/extended_video_player.js
index c86eee5db..59a6b938e 100644
--- a/app/soapbox/components/extended_video_player.js
+++ b/app/soapbox/components/extended_video_player.js
@@ -1,5 +1,6 @@
import PropTypes from 'prop-types';
import React from 'react';
+
import { isIOS } from 'soapbox/is_mobile';
export default class ExtendedVideoPlayer extends React.PureComponent {
diff --git a/app/soapbox/components/hashtag.js b/app/soapbox/components/hashtag.js
index e6304dc22..cd334bdaf 100644
--- a/app/soapbox/components/hashtag.js
+++ b/app/soapbox/components/hashtag.js
@@ -2,7 +2,9 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { FormattedMessage } from 'react-intl';
import { Sparklines, SparklinesCurve } from 'react-sparklines';
+
import { shortNumberFormat } from '../utils/numbers';
+
import Permalink from './permalink';
const Hashtag = ({ hashtag }) => {
diff --git a/app/soapbox/components/helmet.js b/app/soapbox/components/helmet.js
index 1d6ce0394..2cbcc8dfb 100644
--- a/app/soapbox/components/helmet.js
+++ b/app/soapbox/components/helmet.js
@@ -3,6 +3,7 @@ import React from 'react';
import { Helmet } from'react-helmet';
import { connect } from 'react-redux';
import { withRouter } from 'react-router-dom';
+
import { getSettings } from 'soapbox/actions/settings';
import sourceCode from 'soapbox/utils/code';
import FaviconService from 'soapbox/utils/favicon_service';
diff --git a/app/soapbox/components/hover_ref_wrapper.js b/app/soapbox/components/hover_ref_wrapper.js
index 910a09f2f..6f9543c72 100644
--- a/app/soapbox/components/hover_ref_wrapper.js
+++ b/app/soapbox/components/hover_ref_wrapper.js
@@ -2,6 +2,7 @@ import { debounce } from 'lodash';
import PropTypes from 'prop-types';
import React, { useRef } from 'react';
import { useDispatch } from 'react-redux';
+
import {
openProfileHoverCard,
closeProfileHoverCard,
diff --git a/app/soapbox/components/icon.js b/app/soapbox/components/icon.js
index 2f00d1ef7..3f357a1a3 100644
--- a/app/soapbox/components/icon.js
+++ b/app/soapbox/components/icon.js
@@ -7,6 +7,7 @@
import PropTypes from 'prop-types';
import React from 'react';
+
import ForkAwesomeIcon from './fork_awesome_icon';
import SvgIcon from './svg_icon';
diff --git a/app/soapbox/components/icon_button.js b/app/soapbox/components/icon_button.js
index 0e4d99031..fa5ec1782 100644
--- a/app/soapbox/components/icon_button.js
+++ b/app/soapbox/components/icon_button.js
@@ -2,8 +2,10 @@ import classNames from 'classnames';
import PropTypes from 'prop-types';
import React from 'react';
import spring from 'react-motion/lib/spring';
+
import Icon from 'soapbox/components/icon';
import emojify from 'soapbox/features/emoji/emoji';
+
import Motion from '../features/ui/util/optional_motion';
export default class IconButton extends React.PureComponent {
diff --git a/app/soapbox/components/icon_with_counter.js b/app/soapbox/components/icon_with_counter.js
index d789dc2fc..4df632c1c 100644
--- a/app/soapbox/components/icon_with_counter.js
+++ b/app/soapbox/components/icon_with_counter.js
@@ -1,5 +1,6 @@
import PropTypes from 'prop-types';
import React from 'react';
+
import Icon from 'soapbox/components/icon';
import { shortNumberFormat } from 'soapbox/utils/numbers';
diff --git a/app/soapbox/components/intersection_observer_article.js b/app/soapbox/components/intersection_observer_article.js
index 64097399a..96c1a5484 100644
--- a/app/soapbox/components/intersection_observer_article.js
+++ b/app/soapbox/components/intersection_observer_article.js
@@ -1,6 +1,7 @@
import { is } from 'immutable';
import PropTypes from 'prop-types';
import React from 'react';
+
import getRectFromEntry from '../features/ui/util/get_rect_from_entry';
import scheduleIdleTask from '../features/ui/util/schedule_idle_task';
diff --git a/app/soapbox/components/load_gap.js b/app/soapbox/components/load_gap.js
index 1c4ca83cc..84eeec000 100644
--- a/app/soapbox/components/load_gap.js
+++ b/app/soapbox/components/load_gap.js
@@ -1,6 +1,7 @@
import PropTypes from 'prop-types';
import React from 'react';
import { injectIntl, defineMessages } from 'react-intl';
+
import Icon from 'soapbox/components/icon';
const messages = defineMessages({
diff --git a/app/soapbox/components/material_status.js b/app/soapbox/components/material_status.js
index 407cbc264..75d738e71 100644
--- a/app/soapbox/components/material_status.js
+++ b/app/soapbox/components/material_status.js
@@ -4,6 +4,7 @@
import PropTypes from 'prop-types';
import React from 'react';
+
import StatusContainer from 'soapbox/containers/status_container';
export default class MaterialStatus extends React.Component {
diff --git a/app/soapbox/components/media_gallery.js b/app/soapbox/components/media_gallery.js
index c7b21747a..bad4c1b48 100644
--- a/app/soapbox/components/media_gallery.js
+++ b/app/soapbox/components/media_gallery.js
@@ -6,13 +6,16 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
+
import { getSettings } from 'soapbox/actions/settings';
import Blurhash from 'soapbox/components/blurhash';
import Icon from 'soapbox/components/icon';
import StillImage from 'soapbox/components/still_image';
import { truncateFilename } from 'soapbox/utils/media';
+
import { isIOS } from '../is_mobile';
import { isPanoramic, isPortrait, isNonConformingRatio, minimumAspectRatio, maximumAspectRatio } from '../utils/media_aspect_ratio';
+
import IconButton from './icon_button';
const ATTACHMENT_LIMIT = 4;
diff --git a/app/soapbox/components/modal_root.js b/app/soapbox/components/modal_root.js
index 7b472f368..220d22f61 100644
--- a/app/soapbox/components/modal_root.js
+++ b/app/soapbox/components/modal_root.js
@@ -4,6 +4,7 @@ import React from 'react';
import 'wicg-inert';
import { injectIntl, FormattedMessage, defineMessages } from 'react-intl';
import { connect } from 'react-redux';
+
import { cancelReplyCompose } from '../actions/compose';
import { openModal } from '../actions/modal';
diff --git a/app/soapbox/components/more_follows.js b/app/soapbox/components/more_follows.js
index 7ac73547d..adfecb4ce 100644
--- a/app/soapbox/components/more_follows.js
+++ b/app/soapbox/components/more_follows.js
@@ -2,6 +2,7 @@ import PropTypes from 'prop-types';
import React from 'react';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import { getFeatures } from 'soapbox/utils/features';
const messages = defineMessages({
diff --git a/app/soapbox/components/poll.js b/app/soapbox/components/poll.js
index 048fc47a5..041585d8a 100644
--- a/app/soapbox/components/poll.js
+++ b/app/soapbox/components/poll.js
@@ -6,12 +6,14 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import spring from 'react-motion/lib/spring';
+
import { openModal } from 'soapbox/actions/modal';
import { vote, fetchPoll } from 'soapbox/actions/polls';
import Icon from 'soapbox/components/icon';
import emojify from 'soapbox/features/emoji/emoji';
import Motion from 'soapbox/features/ui/util/optional_motion';
import SoapboxPropTypes from 'soapbox/utils/soapbox_prop_types';
+
import RelativeTimestamp from './relative_timestamp';
const messages = defineMessages({
diff --git a/app/soapbox/components/primary_navigation.js b/app/soapbox/components/primary_navigation.js
index 0f3935acd..924c914aa 100644
--- a/app/soapbox/components/primary_navigation.js
+++ b/app/soapbox/components/primary_navigation.js
@@ -7,6 +7,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import { FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
import { NavLink, withRouter } from 'react-router-dom';
+
import { getSettings } from 'soapbox/actions/settings';
import { getSoapboxConfig } from 'soapbox/actions/soapbox';
import Icon from 'soapbox/components/icon';
diff --git a/app/soapbox/components/profile_hover_card.js b/app/soapbox/components/profile_hover_card.js
index c16cf7936..c69cf9e60 100644
--- a/app/soapbox/components/profile_hover_card.js
+++ b/app/soapbox/components/profile_hover_card.js
@@ -5,6 +5,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import { injectIntl, FormattedMessage } from 'react-intl';
import { usePopper } from 'react-popper';
import { useSelector, useDispatch } from 'react-redux';
+
import { fetchRelationships } from 'soapbox/actions/accounts';
import {
closeProfileHoverCard,
diff --git a/app/soapbox/components/pullable.js b/app/soapbox/components/pullable.js
index 6f709d1b7..e70e8c846 100644
--- a/app/soapbox/components/pullable.js
+++ b/app/soapbox/components/pullable.js
@@ -1,5 +1,6 @@
import PropTypes from 'prop-types';
import React from 'react';
+
import PullToRefresh from './pull_to_refresh';
/**
diff --git a/app/soapbox/components/scrollable_list.js b/app/soapbox/components/scrollable_list.js
index 34160e02c..6b406c706 100644
--- a/app/soapbox/components/scrollable_list.js
+++ b/app/soapbox/components/scrollable_list.js
@@ -4,10 +4,13 @@ import { throttle } from 'lodash';
import PropTypes from 'prop-types';
import React, { PureComponent } from 'react';
import { connect } from 'react-redux';
+
import { getSettings } from 'soapbox/actions/settings';
import PullToRefresh from 'soapbox/components/pull_to_refresh';
+
import IntersectionObserverArticleContainer from '../containers/intersection_observer_article_container';
import IntersectionObserverWrapper from '../features/ui/util/intersection_observer_wrapper';
+
import LoadMore from './load_more';
import LoadingIndicator from './loading_indicator';
import MoreFollows from './more_follows';
diff --git a/app/soapbox/components/settings_checkbox.js b/app/soapbox/components/settings_checkbox.js
index 9ac0a13c1..969f691a1 100644
--- a/app/soapbox/components/settings_checkbox.js
+++ b/app/soapbox/components/settings_checkbox.js
@@ -3,6 +3,7 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { connect } from 'react-redux';
+
import { getSettings, changeSetting } from 'soapbox/actions/settings';
import { Checkbox } from 'soapbox/features/forms';
diff --git a/app/soapbox/components/showable_password.js b/app/soapbox/components/showable_password.js
index 3c9b99216..a8ebb0786 100644
--- a/app/soapbox/components/showable_password.js
+++ b/app/soapbox/components/showable_password.js
@@ -3,6 +3,7 @@ import PropTypes from 'prop-types';
import React from 'react';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl } from 'react-intl';
+
import IconButton from 'soapbox/components/icon_button';
import { FormPropTypes, InputContainer, LabelInputContainer } from 'soapbox/features/forms';
diff --git a/app/soapbox/components/sidebar_menu.js b/app/soapbox/components/sidebar_menu.js
index c242c8836..7811c8c67 100644
--- a/app/soapbox/components/sidebar_menu.js
+++ b/app/soapbox/components/sidebar_menu.js
@@ -8,15 +8,18 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { injectIntl, defineMessages, FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
import { Link, NavLink } from 'react-router-dom';
+
import { logOut, switchAccount } from 'soapbox/actions/auth';
import { fetchOwnAccounts } from 'soapbox/actions/auth';
import { getSettings } from 'soapbox/actions/settings';
import { getSoapboxConfig } from 'soapbox/actions/soapbox';
import { getFeatures } from 'soapbox/utils/features';
+
import { closeSidebar } from '../actions/sidebar';
import ThemeToggle from '../features/ui/components/theme_toggle_container';
import { makeGetAccount, makeGetOtherAccounts } from '../selectors';
import { isAdmin, getBaseURL } from '../utils/accounts';
+
import Avatar from './avatar';
import DisplayName from './display_name';
import Icon from './icon';
diff --git a/app/soapbox/components/status.js b/app/soapbox/components/status.js
index 5f259cca3..2f5e12705 100644
--- a/app/soapbox/components/status.js
+++ b/app/soapbox/components/status.js
@@ -6,13 +6,16 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { injectIntl, FormattedMessage } from 'react-intl';
import { Link, NavLink } from 'react-router-dom';
+
import HoverRefWrapper from 'soapbox/components/hover_ref_wrapper';
import Icon from 'soapbox/components/icon';
import PlaceholderCard from 'soapbox/features/placeholder/components/placeholder_card';
import { getDomain } from 'soapbox/utils/accounts';
+
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 AttachmentThumbs from './attachment_thumbs';
import Avatar from './avatar';
import AvatarComposite from './avatar_composite';
diff --git a/app/soapbox/components/status_action_bar.js b/app/soapbox/components/status_action_bar.js
index 23d3349cb..92e700820 100644
--- a/app/soapbox/components/status_action_bar.js
+++ b/app/soapbox/components/status_action_bar.js
@@ -6,6 +6,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
+
import { simpleEmojiReact } from 'soapbox/actions/emoji_reacts';
import EmojiSelector from 'soapbox/components/emoji_selector';
import { isUserTouching } from 'soapbox/is_mobile';
@@ -13,8 +14,10 @@ import { isStaff, isAdmin } from 'soapbox/utils/accounts';
import { getReactForStatus, reduceEmoji } from 'soapbox/utils/emoji_reacts';
import { getFeatures } from 'soapbox/utils/features';
import SoapboxPropTypes from 'soapbox/utils/soapbox_prop_types';
+
import { openModal } from '../actions/modal';
import DropdownMenuContainer from '../containers/dropdown_menu_container';
+
import IconButton from './icon_button';
const messages = defineMessages({
diff --git a/app/soapbox/components/status_content.js b/app/soapbox/components/status_content.js
index 25e09cde6..717071a5c 100644
--- a/app/soapbox/components/status_content.js
+++ b/app/soapbox/components/status_content.js
@@ -4,12 +4,15 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
+
import { getSoapboxConfig } from 'soapbox/actions/soapbox';
import Icon from 'soapbox/components/icon';
import PollContainer from 'soapbox/containers/poll_container';
import { addGreentext } from 'soapbox/utils/greentext';
import { onlyEmoji } from 'soapbox/utils/rich_content';
+
import { isRtl } from '../rtl';
+
import Permalink from './permalink';
const MAX_HEIGHT = 642; // 20px * 32 (+ 2px padding at the top)
diff --git a/app/soapbox/components/status_list.js b/app/soapbox/components/status_list.js
index 766a0fed3..9fc51242b 100644
--- a/app/soapbox/components/status_list.js
+++ b/app/soapbox/components/status_list.js
@@ -4,9 +4,11 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { FormattedMessage, defineMessages } from 'react-intl';
+
import MaterialStatus from 'soapbox/components/material_status';
import PlaceholderMaterialStatus from 'soapbox/features/placeholder/components/placeholder_material_status';
import PendingStatus from 'soapbox/features/ui/components/pending_status';
+
import LoadGap from './load_gap';
import ScrollableList from './scrollable_list';
import TimelineQueueButtonHeader from './timeline_queue_button_header';
diff --git a/app/soapbox/components/status_reply_mentions.js b/app/soapbox/components/status_reply_mentions.js
index 8d2708bc4..34413dceb 100644
--- a/app/soapbox/components/status_reply_mentions.js
+++ b/app/soapbox/components/status_reply_mentions.js
@@ -5,6 +5,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { FormattedMessage, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
+
import { openModal } from 'soapbox/actions/modal';
import HoverRefWrapper from 'soapbox/components/hover_ref_wrapper';
diff --git a/app/soapbox/components/still_image.js b/app/soapbox/components/still_image.js
index 4948f4e44..1773fc0c3 100644
--- a/app/soapbox/components/still_image.js
+++ b/app/soapbox/components/still_image.js
@@ -2,6 +2,7 @@ import classNames from 'classnames';
import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
+
import { getSettings } from 'soapbox/actions/settings';
const mapStateToProps = state => ({
diff --git a/app/soapbox/components/sub_navigation.js b/app/soapbox/components/sub_navigation.js
index d84d3d2b9..1ec66d0e9 100644
--- a/app/soapbox/components/sub_navigation.js
+++ b/app/soapbox/components/sub_navigation.js
@@ -4,6 +4,7 @@ import PropTypes from 'prop-types';
import React from 'react';
import { injectIntl, defineMessages } from 'react-intl';
import { connect } from 'react-redux';
+
import { openModal } from 'soapbox/actions/modal';
import Helmet from 'soapbox/components/helmet';
import Icon from 'soapbox/components/icon';
diff --git a/app/soapbox/components/thumb_navigation.js b/app/soapbox/components/thumb_navigation.js
index 6e819dfb1..7234a39b0 100644
--- a/app/soapbox/components/thumb_navigation.js
+++ b/app/soapbox/components/thumb_navigation.js
@@ -5,6 +5,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import { FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
import { NavLink, withRouter } from 'react-router-dom';
+
import { getSoapboxConfig } from 'soapbox/actions/soapbox';
import Icon from 'soapbox/components/icon';
import IconWithCounter from 'soapbox/components/icon_with_counter';
diff --git a/app/soapbox/components/timeline_queue_button_header.js b/app/soapbox/components/timeline_queue_button_header.js
index 4c8a8c950..1fa9cbadf 100644
--- a/app/soapbox/components/timeline_queue_button_header.js
+++ b/app/soapbox/components/timeline_queue_button_header.js
@@ -4,6 +4,7 @@ import PropTypes from 'prop-types';
import React from 'react';
import { injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import { getSettings } from 'soapbox/actions/settings';
import Icon from 'soapbox/components/icon';
diff --git a/app/soapbox/containers/account_container.js b/app/soapbox/containers/account_container.js
index 913888263..e514015f2 100644
--- a/app/soapbox/containers/account_container.js
+++ b/app/soapbox/containers/account_container.js
@@ -1,6 +1,7 @@
import React from 'react';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
+
import {
followAccount,
unfollowAccount,
diff --git a/app/soapbox/containers/domain_container.js b/app/soapbox/containers/domain_container.js
index 1d47e1ff0..d994246dc 100644
--- a/app/soapbox/containers/domain_container.js
+++ b/app/soapbox/containers/domain_container.js
@@ -1,6 +1,7 @@
import React from 'react';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
+
import { blockDomain, unblockDomain } from '../actions/domain_blocks';
import { openModal } from '../actions/modal';
import Domain from '../components/domain';
diff --git a/app/soapbox/containers/dropdown_menu_container.js b/app/soapbox/containers/dropdown_menu_container.js
index 61dd3bd54..79d8445bf 100644
--- a/app/soapbox/containers/dropdown_menu_container.js
+++ b/app/soapbox/containers/dropdown_menu_container.js
@@ -1,4 +1,5 @@
import { connect } from 'react-redux';
+
import { openDropdownMenu, closeDropdownMenu } from '../actions/dropdown_menu';
import { openModal, closeModal } from '../actions/modal';
import DropdownMenu from '../components/dropdown_menu';
diff --git a/app/soapbox/containers/intersection_observer_article_container.js b/app/soapbox/containers/intersection_observer_article_container.js
index bf5159382..a112069c6 100644
--- a/app/soapbox/containers/intersection_observer_article_container.js
+++ b/app/soapbox/containers/intersection_observer_article_container.js
@@ -1,4 +1,5 @@
import { connect } from 'react-redux';
+
import { setHeight } from '../actions/height_cache';
import IntersectionObserverArticle from '../components/intersection_observer_article';
diff --git a/app/soapbox/containers/poll_container.js b/app/soapbox/containers/poll_container.js
index ad9672120..50d21517a 100644
--- a/app/soapbox/containers/poll_container.js
+++ b/app/soapbox/containers/poll_container.js
@@ -1,4 +1,5 @@
import { connect } from 'react-redux';
+
import Poll from 'soapbox/components/poll';
const mapStateToProps = (state, { pollId }) => ({
diff --git a/app/soapbox/containers/soapbox.js b/app/soapbox/containers/soapbox.js
index 9633823a1..651ddb703 100644
--- a/app/soapbox/containers/soapbox.js
+++ b/app/soapbox/containers/soapbox.js
@@ -8,6 +8,7 @@ import { IntlProvider } from 'react-intl';
import { Provider, connect } from 'react-redux';
import { Switch, BrowserRouter, Route } from 'react-router-dom';
import { ScrollContext } from 'react-router-scroll-4';
+
// import Introduction from '../features/introduction';
import { loadInstance } from 'soapbox/actions/instance';
import { fetchMe } from 'soapbox/actions/me';
@@ -21,6 +22,7 @@ import { createGlobals } from 'soapbox/globals';
import messages from 'soapbox/locales/messages';
import SoapboxPropTypes from 'soapbox/utils/soapbox_prop_types';
import { generateThemeCss } from 'soapbox/utils/theme';
+
import { INTRODUCTION_VERSION } from '../actions/onboarding';
import { preload } from '../actions/preload';
import ErrorBoundary from '../components/error_boundary';
diff --git a/app/soapbox/containers/status_container.js b/app/soapbox/containers/status_container.js
index 5e0057a45..835d9a523 100644
--- a/app/soapbox/containers/status_container.js
+++ b/app/soapbox/containers/status_container.js
@@ -1,9 +1,11 @@
import React from 'react';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
+
import { launchChat } from 'soapbox/actions/chats';
import { deactivateUserModal, deleteUserModal, deleteStatusModal, toggleStatusSensitivityModal } from 'soapbox/actions/moderation';
import { getSoapboxConfig } from 'soapbox/actions/soapbox';
+
import { blockAccount } from '../actions/accounts';
import { showAlertForError } from '../actions/alerts';
import {
diff --git a/app/soapbox/features/about/index.js b/app/soapbox/features/about/index.js
index 9fe9a9c0d..bb6f1222c 100644
--- a/app/soapbox/features/about/index.js
+++ b/app/soapbox/features/about/index.js
@@ -2,9 +2,11 @@ import React from 'react';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { injectIntl, FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
+
import { fetchAboutPage } from 'soapbox/actions/about';
import { getSettings } from 'soapbox/actions/settings';
import { getSoapboxConfig } from 'soapbox/actions/soapbox';
+
import { languages } from '../preferences';
const mapStateToProps = state => ({
diff --git a/app/soapbox/features/account/components/header.js b/app/soapbox/features/account/components/header.js
index e83111530..356d5a6d1 100644
--- a/app/soapbox/features/account/components/header.js
+++ b/app/soapbox/features/account/components/header.js
@@ -10,6 +10,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
import { NavLink } from 'react-router-dom';
+
import { openModal } from 'soapbox/actions/modal';
import Avatar from 'soapbox/components/avatar';
import IconButton from 'soapbox/components/icon_button';
diff --git a/app/soapbox/features/account_gallery/components/media_item.js b/app/soapbox/features/account_gallery/components/media_item.js
index 01b1b7076..1cccfe070 100644
--- a/app/soapbox/features/account_gallery/components/media_item.js
+++ b/app/soapbox/features/account_gallery/components/media_item.js
@@ -4,6 +4,7 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { connect } from 'react-redux';
+
import { getSettings } from 'soapbox/actions/settings';
import Blurhash from 'soapbox/components/blurhash';
import Icon from 'soapbox/components/icon';
diff --git a/app/soapbox/features/account_gallery/index.js b/app/soapbox/features/account_gallery/index.js
index b8e41e908..17e6e7be0 100644
--- a/app/soapbox/features/account_gallery/index.js
+++ b/app/soapbox/features/account_gallery/index.js
@@ -5,6 +5,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
import { NavLink } from 'react-router-dom';
+
import {
fetchAccount,
fetchAccountByUsername,
@@ -16,7 +17,9 @@ import LoadingIndicator from 'soapbox/components/loading_indicator';
import MissingIndicator from 'soapbox/components/missing_indicator';
import SubNavigation from 'soapbox/components/sub_navigation';
import { getAccountGallery, findAccountByUsername } from 'soapbox/selectors';
+
import { expandAccountMediaTimeline } from '../../actions/timelines';
+
import MediaItem from './components/media_item';
const mapStateToProps = (state, { params, withReplies = false }) => {
diff --git a/app/soapbox/features/account_timeline/components/column_settings.js b/app/soapbox/features/account_timeline/components/column_settings.js
index c8b9cfb5f..9f4ed2015 100644
--- a/app/soapbox/features/account_timeline/components/column_settings.js
+++ b/app/soapbox/features/account_timeline/components/column_settings.js
@@ -2,7 +2,9 @@ import PropTypes from 'prop-types';
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { injectIntl, defineMessages, FormattedMessage } from 'react-intl';
+
import IconButton from 'soapbox/components/icon_button';
+
import SettingToggle from '../../notifications/components/setting_toggle';
const messages = defineMessages({
diff --git a/app/soapbox/features/account_timeline/components/header.js b/app/soapbox/features/account_timeline/components/header.js
index ce8c878ba..8438e67a6 100644
--- a/app/soapbox/features/account_timeline/components/header.js
+++ b/app/soapbox/features/account_timeline/components/header.js
@@ -2,7 +2,9 @@ import PropTypes from 'prop-types';
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
+
import InnerHeader from '../../account/components/header';
+
import MovedNote from './moved_note';
export default class Header extends ImmutablePureComponent {
diff --git a/app/soapbox/features/account_timeline/components/moved_note.js b/app/soapbox/features/account_timeline/components/moved_note.js
index 8c2f86b97..5963dbeea 100644
--- a/app/soapbox/features/account_timeline/components/moved_note.js
+++ b/app/soapbox/features/account_timeline/components/moved_note.js
@@ -4,7 +4,9 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { FormattedMessage } from 'react-intl';
import { NavLink } from 'react-router-dom';
+
import Icon from 'soapbox/components/icon';
+
import AvatarOverlay from '../../../components/avatar_overlay';
import DisplayName from '../../../components/display_name';
diff --git a/app/soapbox/features/account_timeline/containers/column_settings_container.js b/app/soapbox/features/account_timeline/containers/column_settings_container.js
index 3192b8bc0..c0b9fdf35 100644
--- a/app/soapbox/features/account_timeline/containers/column_settings_container.js
+++ b/app/soapbox/features/account_timeline/containers/column_settings_container.js
@@ -1,4 +1,5 @@
import { connect } from 'react-redux';
+
import { getSettings, changeSetting } from '../../../actions/settings';
import ColumnSettings from '../components/column_settings';
diff --git a/app/soapbox/features/account_timeline/containers/header_container.js b/app/soapbox/features/account_timeline/containers/header_container.js
index 86d64edf6..a16ac36ac 100644
--- a/app/soapbox/features/account_timeline/containers/header_container.js
+++ b/app/soapbox/features/account_timeline/containers/header_container.js
@@ -2,6 +2,7 @@ import { List as ImmutableList } from 'immutable';
import React from 'react';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
+
import {
verifyUser,
unverifyUser,
@@ -16,6 +17,7 @@ import { deactivateUserModal, deleteUserModal } from 'soapbox/actions/moderation
import { getSettings } from 'soapbox/actions/settings';
import snackbar from 'soapbox/actions/snackbar';
import { isAdmin } from 'soapbox/utils/accounts';
+
import {
followAccount,
unfollowAccount,
diff --git a/app/soapbox/features/account_timeline/index.js b/app/soapbox/features/account_timeline/index.js
index 470925c69..6c2e55b81 100644
--- a/app/soapbox/features/account_timeline/index.js
+++ b/app/soapbox/features/account_timeline/index.js
@@ -7,6 +7,7 @@ import { FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
// import ColumnSettingsContainer from './containers/column_settings_container';
import { NavLink } from 'react-router-dom';
+
import { getSettings } from 'soapbox/actions/settings';
import { getSoapboxConfig } from 'soapbox/actions/soapbox';
import Column from 'soapbox/components/column';
@@ -14,6 +15,7 @@ import Icon from 'soapbox/components/icon';
import MissingIndicator from 'soapbox/components/missing_indicator';
import SubNavigation from 'soapbox/components/sub_navigation';
import { makeGetStatusIds, findAccountByUsername } from 'soapbox/selectors';
+
import { fetchAccount, fetchAccountByUsername } from '../../actions/accounts';
import { fetchAccountIdentityProofs } from '../../actions/identity_proofs';
import { fetchPatronAccount } from '../../actions/patron';
diff --git a/app/soapbox/features/admin/awaiting_approval.js b/app/soapbox/features/admin/awaiting_approval.js
index 0f6e33c7d..bdd909b3b 100644
--- a/app/soapbox/features/admin/awaiting_approval.js
+++ b/app/soapbox/features/admin/awaiting_approval.js
@@ -4,9 +4,12 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import { fetchUsers } from 'soapbox/actions/admin';
import ScrollableList from 'soapbox/components/scrollable_list';
+
import Column from '../ui/components/column';
+
import UnapprovedAccount from './components/unapproved_account';
const messages = defineMessages({
diff --git a/app/soapbox/features/admin/components/admin_nav.js b/app/soapbox/features/admin/components/admin_nav.js
index b6555fee2..6195601ac 100644
--- a/app/soapbox/features/admin/components/admin_nav.js
+++ b/app/soapbox/features/admin/components/admin_nav.js
@@ -4,6 +4,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import { FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
import { NavLink } from 'react-router-dom';
+
import Icon from 'soapbox/components/icon';
import IconWithCounter from 'soapbox/components/icon_with_counter';
diff --git a/app/soapbox/features/admin/components/latest_accounts_panel.js b/app/soapbox/features/admin/components/latest_accounts_panel.js
index 9d92e4f0c..6377b6810 100644
--- a/app/soapbox/features/admin/components/latest_accounts_panel.js
+++ b/app/soapbox/features/admin/components/latest_accounts_panel.js
@@ -5,6 +5,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { injectIntl, defineMessages } from 'react-intl';
import { connect } from 'react-redux';
+
import { fetchUsers } from 'soapbox/actions/admin';
import compareId from 'soapbox/compare_id';
import AccountListPanel from 'soapbox/features/ui/components/account_list_panel';
diff --git a/app/soapbox/features/admin/components/registration_mode_picker.js b/app/soapbox/features/admin/components/registration_mode_picker.js
index 99dde62b6..275d9b0c0 100644
--- a/app/soapbox/features/admin/components/registration_mode_picker.js
+++ b/app/soapbox/features/admin/components/registration_mode_picker.js
@@ -2,6 +2,7 @@ import React from 'react';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { injectIntl, defineMessages, FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
+
import { updateConfig } from 'soapbox/actions/admin';
import snackbar from 'soapbox/actions/snackbar';
import {
diff --git a/app/soapbox/features/admin/components/report.js b/app/soapbox/features/admin/components/report.js
index f65b7b4c8..2434b0e3e 100644
--- a/app/soapbox/features/admin/components/report.js
+++ b/app/soapbox/features/admin/components/report.js
@@ -4,6 +4,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { injectIntl, FormattedMessage, defineMessages } from 'react-intl';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
+
import { closeReports } from 'soapbox/actions/admin';
import { deactivateUserModal, deleteUserModal } from 'soapbox/actions/moderation';
import snackbar from 'soapbox/actions/snackbar';
@@ -11,6 +12,7 @@ import Avatar from 'soapbox/components/avatar';
import Button from 'soapbox/components/button';
import DropdownMenu from 'soapbox/containers/dropdown_menu_container';
import Accordion from 'soapbox/features/ui/components/accordion';
+
import ReportStatus from './report_status';
const messages = defineMessages({
diff --git a/app/soapbox/features/admin/components/report_status.js b/app/soapbox/features/admin/components/report_status.js
index 57b04442d..f0530177f 100644
--- a/app/soapbox/features/admin/components/report_status.js
+++ b/app/soapbox/features/admin/components/report_status.js
@@ -4,6 +4,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { injectIntl, defineMessages } from 'react-intl';
import { connect } from 'react-redux';
+
import { openModal } from 'soapbox/actions/modal';
import { deleteStatusModal } from 'soapbox/actions/moderation';
import StatusContent from 'soapbox/components/status_content';
diff --git a/app/soapbox/features/admin/components/unapproved_account.js b/app/soapbox/features/admin/components/unapproved_account.js
index be4e26f6a..f00b0dd6a 100644
--- a/app/soapbox/features/admin/components/unapproved_account.js
+++ b/app/soapbox/features/admin/components/unapproved_account.js
@@ -4,10 +4,12 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import { approveUsers } from 'soapbox/actions/admin';
import snackbar from 'soapbox/actions/snackbar';
import IconButton from 'soapbox/components/icon_button';
import { makeGetAccount } from 'soapbox/selectors';
+
import { rejectUserModal } from '../../../actions/moderation';
const messages = defineMessages({
diff --git a/app/soapbox/features/admin/index.js b/app/soapbox/features/admin/index.js
index f8e47e975..db76d4407 100644
--- a/app/soapbox/features/admin/index.js
+++ b/app/soapbox/features/admin/index.js
@@ -5,13 +5,16 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl, FormattedMessage, FormattedNumber } from 'react-intl';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
+
import { getSubscribersCsv, getUnsubscribersCsv, getCombinedCsv } from 'soapbox/actions/email_list';
import { isAdmin } from 'soapbox/utils/accounts';
import sourceCode from 'soapbox/utils/code';
import { parseVersion } from 'soapbox/utils/features';
import { getFeatures } from 'soapbox/utils/features';
import { isNumber } from 'soapbox/utils/numbers';
+
import Column from '../ui/components/column';
+
import RegistrationModePicker from './components/registration_mode_picker';
// https://stackoverflow.com/a/53230807
diff --git a/app/soapbox/features/admin/moderation_log.js b/app/soapbox/features/admin/moderation_log.js
index 290173182..12c3cee82 100644
--- a/app/soapbox/features/admin/moderation_log.js
+++ b/app/soapbox/features/admin/moderation_log.js
@@ -4,8 +4,10 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl, FormattedDate } from 'react-intl';
import { connect } from 'react-redux';
+
import { fetchModerationLog } from 'soapbox/actions/admin';
import ScrollableList from 'soapbox/components/scrollable_list';
+
import Column from '../ui/components/column';
const messages = defineMessages({
diff --git a/app/soapbox/features/admin/reports.js b/app/soapbox/features/admin/reports.js
index 963deaad3..dbc3d5649 100644
--- a/app/soapbox/features/admin/reports.js
+++ b/app/soapbox/features/admin/reports.js
@@ -4,10 +4,13 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import { fetchReports } from 'soapbox/actions/admin';
import ScrollableList from 'soapbox/components/scrollable_list';
import { makeGetReport } from 'soapbox/selectors';
+
import Column from '../ui/components/better_column';
+
import Report from './components/report';
const messages = defineMessages({
diff --git a/app/soapbox/features/admin/user_index.js b/app/soapbox/features/admin/user_index.js
index f352c33f4..87c24f867 100644
--- a/app/soapbox/features/admin/user_index.js
+++ b/app/soapbox/features/admin/user_index.js
@@ -5,6 +5,7 @@ import React from 'react';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { injectIntl, defineMessages } from 'react-intl';
import { connect } from 'react-redux';
+
import { fetchUsers } from 'soapbox/actions/admin';
import ScrollableList from 'soapbox/components/scrollable_list';
import AccountContainer from 'soapbox/containers/account_container';
diff --git a/app/soapbox/features/aliases/components/account.js b/app/soapbox/features/aliases/components/account.js
index 92f841ab7..3e4c7f936 100644
--- a/app/soapbox/features/aliases/components/account.js
+++ b/app/soapbox/features/aliases/components/account.js
@@ -4,6 +4,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import { addToAliases } from '../../../actions/aliases';
import Avatar from '../../../components/avatar';
import DisplayName from '../../../components/display_name';
diff --git a/app/soapbox/features/aliases/components/search.js b/app/soapbox/features/aliases/components/search.js
index c59d16d9c..2c92ad9a5 100644
--- a/app/soapbox/features/aliases/components/search.js
+++ b/app/soapbox/features/aliases/components/search.js
@@ -3,8 +3,10 @@ import PropTypes from 'prop-types';
import React from 'react';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import Button from 'soapbox/components/button';
import Icon from 'soapbox/components/icon';
+
import { fetchAliasesSuggestions, clearAliasesSuggestions, changeAliasesSuggestions } from '../../../actions/aliases';
const messages = defineMessages({
diff --git a/app/soapbox/features/aliases/index.js b/app/soapbox/features/aliases/index.js
index 290498645..a2f844d98 100644
--- a/app/soapbox/features/aliases/index.js
+++ b/app/soapbox/features/aliases/index.js
@@ -2,12 +2,15 @@ import React from 'react';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
+
import Icon from 'soapbox/components/icon';
import { makeGetAccount } from 'soapbox/selectors';
+
import { removeFromAliases } from '../../actions/aliases';
import ScrollableList from '../../components/scrollable_list';
import Column from '../ui/components/column';
import ColumnSubheading from '../ui/components/column_subheading';
+
import Account from './components/account';
import Search from './components/search';
diff --git a/app/soapbox/features/audio/index.js b/app/soapbox/features/audio/index.js
index a3433eb66..7553f2388 100644
--- a/app/soapbox/features/audio/index.js
+++ b/app/soapbox/features/audio/index.js
@@ -4,9 +4,11 @@ import { debounce } from 'lodash';
import PropTypes from 'prop-types';
import React from 'react';
import { defineMessages, injectIntl } from 'react-intl';
+
import Icon from 'soapbox/components/icon';
import { formatTime } from 'soapbox/features/video';
import { getPointerPosition, fileNameFromURL } from 'soapbox/features/video';
+
import Visualizer from './visualizer';
const messages = defineMessages({
diff --git a/app/soapbox/features/auth_login/components/__tests__/captcha-test.js b/app/soapbox/features/auth_login/components/__tests__/captcha-test.js
index 5b95444ae..820510fd4 100644
--- a/app/soapbox/features/auth_login/components/__tests__/captcha-test.js
+++ b/app/soapbox/features/auth_login/components/__tests__/captcha-test.js
@@ -1,7 +1,9 @@
import { Map as ImmutableMap } from 'immutable';
import React from 'react';
import renderer from 'react-test-renderer';
+
import { createComponent } from 'soapbox/test_helpers';
+
import CaptchaField, { NativeCaptchaField } from '../captcha';
describe('', () => {
diff --git a/app/soapbox/features/auth_login/components/__tests__/login_form-test.js b/app/soapbox/features/auth_login/components/__tests__/login_form-test.js
index 2cfb52192..f672e6825 100644
--- a/app/soapbox/features/auth_login/components/__tests__/login_form-test.js
+++ b/app/soapbox/features/auth_login/components/__tests__/login_form-test.js
@@ -1,6 +1,8 @@
import React from 'react';
+
import rootReducer from 'soapbox/reducers';
import { createComponent, mockStore } from 'soapbox/test_helpers';
+
import LoginForm from '../login_form';
describe('', () => {
diff --git a/app/soapbox/features/auth_login/components/__tests__/login_page-test.js b/app/soapbox/features/auth_login/components/__tests__/login_page-test.js
index 9e1b3634f..0f75d266f 100644
--- a/app/soapbox/features/auth_login/components/__tests__/login_page-test.js
+++ b/app/soapbox/features/auth_login/components/__tests__/login_page-test.js
@@ -1,6 +1,8 @@
import React from 'react';
+
import rootReducer from 'soapbox/reducers';
import { createComponent, mockStore } from 'soapbox/test_helpers';
+
import LoginPage from '../login_page';
describe('', () => {
diff --git a/app/soapbox/features/auth_login/components/__tests__/otp_auth_form-test.js b/app/soapbox/features/auth_login/components/__tests__/otp_auth_form-test.js
index 2a1522d6f..cd7f1108a 100644
--- a/app/soapbox/features/auth_login/components/__tests__/otp_auth_form-test.js
+++ b/app/soapbox/features/auth_login/components/__tests__/otp_auth_form-test.js
@@ -1,6 +1,8 @@
import { Map as ImmutableMap } from 'immutable';
import React from 'react';
+
import { createComponent, mockStore } from 'soapbox/test_helpers';
+
import OtpAuthForm from '../otp_auth_form';
describe('', () => {
diff --git a/app/soapbox/features/auth_login/components/captcha.js b/app/soapbox/features/auth_login/components/captcha.js
index 1ae2e9c1d..bcdaf74a4 100644
--- a/app/soapbox/features/auth_login/components/captcha.js
+++ b/app/soapbox/features/auth_login/components/captcha.js
@@ -4,6 +4,7 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
+
import { fetchCaptcha } from 'soapbox/actions/auth';
import { TextInput } from 'soapbox/features/forms';
diff --git a/app/soapbox/features/auth_login/components/login_form.js b/app/soapbox/features/auth_login/components/login_form.js
index e1a052388..62b80f0af 100644
--- a/app/soapbox/features/auth_login/components/login_form.js
+++ b/app/soapbox/features/auth_login/components/login_form.js
@@ -3,6 +3,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { injectIntl, FormattedMessage, defineMessages } from 'react-intl';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
+
import ShowablePassword from 'soapbox/components/showable_password';
import { getFeatures } from 'soapbox/utils/features';
import { getBaseURL } from 'soapbox/utils/state';
diff --git a/app/soapbox/features/auth_login/components/login_page.js b/app/soapbox/features/auth_login/components/login_page.js
index 306c0ff5b..096b3f50e 100644
--- a/app/soapbox/features/auth_login/components/login_page.js
+++ b/app/soapbox/features/auth_login/components/login_page.js
@@ -3,9 +3,11 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { injectIntl } from 'react-intl';
import { connect } from 'react-redux';
import { Redirect } from 'react-router-dom';
+
import { logIn, verifyCredentials, switchAccount } from 'soapbox/actions/auth';
import { fetchInstance } from 'soapbox/actions/instance';
import { isStandalone } from 'soapbox/utils/state';
+
import LoginForm from './login_form';
import OtpAuthForm from './otp_auth_form';
diff --git a/app/soapbox/features/auth_login/components/otp_auth_form.js b/app/soapbox/features/auth_login/components/otp_auth_form.js
index d0e78bd73..05d638bdc 100644
--- a/app/soapbox/features/auth_login/components/otp_auth_form.js
+++ b/app/soapbox/features/auth_login/components/otp_auth_form.js
@@ -4,6 +4,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { injectIntl, FormattedMessage, defineMessages } from 'react-intl';
import { connect } from 'react-redux';
import { Redirect } from 'react-router-dom';
+
import { otpVerify, verifyCredentials, switchAccount } from 'soapbox/actions/auth';
import { SimpleInput } from 'soapbox/features/forms';
diff --git a/app/soapbox/features/auth_login/components/password_reset.js b/app/soapbox/features/auth_login/components/password_reset.js
index 7f85ec2fc..d08d6b5ef 100644
--- a/app/soapbox/features/auth_login/components/password_reset.js
+++ b/app/soapbox/features/auth_login/components/password_reset.js
@@ -3,6 +3,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, FormattedMessage, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
import { Redirect } from 'react-router-dom';
+
import { resetPassword } from 'soapbox/actions/security';
import snackbar from 'soapbox/actions/snackbar';
import { SimpleForm, FieldsGroup, TextInput } from 'soapbox/features/forms';
diff --git a/app/soapbox/features/auth_login/components/registration_form.js b/app/soapbox/features/auth_login/components/registration_form.js
index 425357d78..d9226f505 100644
--- a/app/soapbox/features/auth_login/components/registration_form.js
+++ b/app/soapbox/features/auth_login/components/registration_form.js
@@ -9,6 +9,7 @@ import { injectIntl, FormattedMessage, defineMessages } from 'react-intl';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
import { v4 as uuidv4 } from 'uuid';
+
import { accountLookup } from 'soapbox/actions/accounts';
import { register, verifyCredentials } from 'soapbox/actions/auth';
import { openModal } from 'soapbox/actions/modal';
diff --git a/app/soapbox/features/backups/index.js b/app/soapbox/features/backups/index.js
index 4fc88dfb9..2bd342222 100644
--- a/app/soapbox/features/backups/index.js
+++ b/app/soapbox/features/backups/index.js
@@ -4,11 +4,13 @@ import React from 'react';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import {
fetchBackups,
createBackup,
} from 'soapbox/actions/backups';
import ScrollableList from 'soapbox/components/scrollable_list';
+
import Column from '../ui/components/better_column';
const messages = defineMessages({
diff --git a/app/soapbox/features/blocks/index.js b/app/soapbox/features/blocks/index.js
index 493555271..10957c9c4 100644
--- a/app/soapbox/features/blocks/index.js
+++ b/app/soapbox/features/blocks/index.js
@@ -5,6 +5,7 @@ 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 { fetchBlocks, expandBlocks } from '../../actions/blocks';
import LoadingIndicator from '../../components/loading_indicator';
import ScrollableList from '../../components/scrollable_list';
diff --git a/app/soapbox/features/bookmarks/index.js b/app/soapbox/features/bookmarks/index.js
index 345beb7dc..0d25bb2aa 100644
--- a/app/soapbox/features/bookmarks/index.js
+++ b/app/soapbox/features/bookmarks/index.js
@@ -5,8 +5,10 @@ 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 Column from 'soapbox/components/column';
import SubNavigation from 'soapbox/components/sub_navigation';
+
import { fetchBookmarkedStatuses, expandBookmarkedStatuses } from '../../actions/bookmarks';
import StatusList from '../../components/status_list';
diff --git a/app/soapbox/features/chats/chat_room.js b/app/soapbox/features/chats/chat_room.js
index 09e6c7b40..0493ac764 100644
--- a/app/soapbox/features/chats/chat_room.js
+++ b/app/soapbox/features/chats/chat_room.js
@@ -6,6 +6,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { injectIntl } from 'react-intl';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
+
import { fetchChat, markChatRead } from 'soapbox/actions/chats';
import Avatar from 'soapbox/components/avatar';
import Column from 'soapbox/components/column';
@@ -13,6 +14,7 @@ import ColumnBackButton from 'soapbox/components/column_back_button';
import { makeGetChat } from 'soapbox/selectors';
import { getAcct } from 'soapbox/utils/accounts';
import { displayFqn } from 'soapbox/utils/state';
+
import ChatBox from './components/chat_box';
const mapStateToProps = (state, { params }) => {
diff --git a/app/soapbox/features/chats/components/audio_toggle.js b/app/soapbox/features/chats/components/audio_toggle.js
index c2f035780..bc1dee76a 100644
--- a/app/soapbox/features/chats/components/audio_toggle.js
+++ b/app/soapbox/features/chats/components/audio_toggle.js
@@ -3,6 +3,7 @@ import React from 'react';
import { injectIntl, defineMessages } from 'react-intl';
import { connect } from 'react-redux';
import Toggle from 'react-toggle';
+
import { changeSetting, getSettings } from 'soapbox/actions/settings';
import Icon from 'soapbox/components/icon';
diff --git a/app/soapbox/features/chats/components/chat.js b/app/soapbox/features/chats/components/chat.js
index 4d7058107..f19190bed 100644
--- a/app/soapbox/features/chats/components/chat.js
+++ b/app/soapbox/features/chats/components/chat.js
@@ -4,10 +4,12 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
+
import Icon from 'soapbox/components/icon';
import emojify from 'soapbox/features/emoji/emoji';
import { makeGetChat } from 'soapbox/selectors';
import { shortNumberFormat } from 'soapbox/utils/numbers';
+
import Avatar from '../../../components/avatar';
import DisplayName from '../../../components/display_name';
diff --git a/app/soapbox/features/chats/components/chat_box.js b/app/soapbox/features/chats/components/chat_box.js
index c012feadd..8a3569221 100644
--- a/app/soapbox/features/chats/components/chat_box.js
+++ b/app/soapbox/features/chats/components/chat_box.js
@@ -5,6 +5,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { injectIntl, defineMessages } from 'react-intl';
import { connect } from 'react-redux';
+
import {
sendChatMessage,
markChatRead,
@@ -14,6 +15,7 @@ import IconButton from 'soapbox/components/icon_button';
import UploadButton from 'soapbox/features/compose/components/upload_button';
import UploadProgress from 'soapbox/features/compose/components/upload_progress';
import { truncateFilename } from 'soapbox/utils/media';
+
import ChatMessageList from './chat_message_list';
const messages = defineMessages({
diff --git a/app/soapbox/features/chats/components/chat_list.js b/app/soapbox/features/chats/components/chat_list.js
index 8a16f3b26..b31219913 100644
--- a/app/soapbox/features/chats/components/chat_list.js
+++ b/app/soapbox/features/chats/components/chat_list.js
@@ -6,9 +6,11 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
import { createSelector } from 'reselect';
+
import { expandChats } from 'soapbox/actions/chats';
import ScrollableList from 'soapbox/components/scrollable_list';
import PlaceholderChat from 'soapbox/features/placeholder/components/placeholder_chat';
+
import Chat from './chat';
const messages = defineMessages({
diff --git a/app/soapbox/features/chats/components/chat_message_list.js b/app/soapbox/features/chats/components/chat_message_list.js
index f301b50db..e40f1a80b 100644
--- a/app/soapbox/features/chats/components/chat_message_list.js
+++ b/app/soapbox/features/chats/components/chat_message_list.js
@@ -8,6 +8,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { injectIntl, defineMessages } from 'react-intl';
import { connect } from 'react-redux';
import { createSelector } from 'reselect';
+
import { fetchChatMessages, deleteChatMessage } from 'soapbox/actions/chats';
import { openModal } from 'soapbox/actions/modal';
import { initReportById } from 'soapbox/actions/reports';
diff --git a/app/soapbox/features/chats/components/chat_panes.js b/app/soapbox/features/chats/components/chat_panes.js
index f59c809a1..f70e71dc6 100644
--- a/app/soapbox/features/chats/components/chat_panes.js
+++ b/app/soapbox/features/chats/components/chat_panes.js
@@ -7,11 +7,13 @@ import { FormattedMessage } from 'react-intl';
import { injectIntl, defineMessages } from 'react-intl';
import { connect } from 'react-redux';
import { createSelector } from 'reselect';
+
import { openChat, launchChat, toggleMainWindow } from 'soapbox/actions/chats';
import { getSettings } from 'soapbox/actions/settings';
import AccountSearch from 'soapbox/components/account_search';
import AudioToggle from 'soapbox/features/chats/components/audio_toggle';
import { shortNumberFormat } from 'soapbox/utils/numbers';
+
import ChatList from './chat_list';
import ChatWindow from './chat_window';
diff --git a/app/soapbox/features/chats/components/chat_window.js b/app/soapbox/features/chats/components/chat_window.js
index 4ee5aa751..444658675 100644
--- a/app/soapbox/features/chats/components/chat_window.js
+++ b/app/soapbox/features/chats/components/chat_window.js
@@ -5,6 +5,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { injectIntl } from 'react-intl';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
+
import {
closeChat,
toggleChat,
@@ -16,6 +17,7 @@ import { makeGetChat } from 'soapbox/selectors';
import { getAcct } from 'soapbox/utils/accounts';
import { shortNumberFormat } from 'soapbox/utils/numbers';
import { displayFqn } from 'soapbox/utils/state';
+
import ChatBox from './chat_box';
const makeMapStateToProps = () => {
diff --git a/app/soapbox/features/chats/index.js b/app/soapbox/features/chats/index.js
index b072dd89b..06b7f9802 100644
--- a/app/soapbox/features/chats/index.js
+++ b/app/soapbox/features/chats/index.js
@@ -2,11 +2,14 @@ import PropTypes from 'prop-types';
import React from 'react';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import { fetchChats, launchChat } from 'soapbox/actions/chats';
import AccountSearch from 'soapbox/components/account_search';
import AudioToggle from 'soapbox/features/chats/components/audio_toggle';
+
import Column from '../../components/column';
import ColumnHeader from '../../components/column_header';
+
import ChatList from './components/chat_list';
const messages = defineMessages({
diff --git a/app/soapbox/features/community_timeline/components/column_settings.js b/app/soapbox/features/community_timeline/components/column_settings.js
index 5d774a549..a5bf9a91f 100644
--- a/app/soapbox/features/community_timeline/components/column_settings.js
+++ b/app/soapbox/features/community_timeline/components/column_settings.js
@@ -2,7 +2,9 @@ import PropTypes from 'prop-types';
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { injectIntl, defineMessages, FormattedMessage } from 'react-intl';
+
import IconButton from 'soapbox/components/icon_button';
+
import SettingToggle from '../../notifications/components/setting_toggle';
const messages = defineMessages({
diff --git a/app/soapbox/features/community_timeline/containers/column_settings_container.js b/app/soapbox/features/community_timeline/containers/column_settings_container.js
index 355305a9d..d20838089 100644
--- a/app/soapbox/features/community_timeline/containers/column_settings_container.js
+++ b/app/soapbox/features/community_timeline/containers/column_settings_container.js
@@ -1,4 +1,5 @@
import { connect } from 'react-redux';
+
import { getSettings, changeSetting } from '../../../actions/settings';
import ColumnSettings from '../components/column_settings';
diff --git a/app/soapbox/features/community_timeline/index.js b/app/soapbox/features/community_timeline/index.js
index 876d69442..46e75aa6e 100644
--- a/app/soapbox/features/community_timeline/index.js
+++ b/app/soapbox/features/community_timeline/index.js
@@ -2,12 +2,15 @@ import PropTypes from 'prop-types';
import React from 'react';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
+
import { getSettings } from 'soapbox/actions/settings';
import SubNavigation from 'soapbox/components/sub_navigation';
+
import { connectCommunityStream } from '../../actions/streaming';
import { expandCommunityTimeline } from '../../actions/timelines';
import Column from '../../components/column';
import StatusListContainer from '../ui/containers/status_list_container';
+
import ColumnSettings from './containers/column_settings_container';
const messages = defineMessages({
diff --git a/app/soapbox/features/compose/components/autosuggest_account.js b/app/soapbox/features/compose/components/autosuggest_account.js
index a3c40b128..078507731 100644
--- a/app/soapbox/features/compose/components/autosuggest_account.js
+++ b/app/soapbox/features/compose/components/autosuggest_account.js
@@ -1,6 +1,7 @@
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
+
import Avatar from '../../../components/avatar';
import DisplayName from '../../../components/display_name';
diff --git a/app/soapbox/features/compose/components/compose_form.js b/app/soapbox/features/compose/components/compose_form.js
index c88816b3c..1cda4063e 100644
--- a/app/soapbox/features/compose/components/compose_form.js
+++ b/app/soapbox/features/compose/components/compose_form.js
@@ -8,7 +8,9 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, FormattedMessage } from 'react-intl';
import { Link } from 'react-router-dom';
import { length } from 'stringz';
+
import Icon from 'soapbox/components/icon';
+
import AutosuggestInput from '../../../components/autosuggest_input';
import AutosuggestTextarea from '../../../components/autosuggest_textarea';
import Button from '../../../components/button';
@@ -28,6 +30,7 @@ import UploadButtonContainer from '../containers/upload_button_container';
import UploadFormContainer from '../containers/upload_form_container';
import WarningContainer from '../containers/warning_container';
import { countableText } from '../util/counter';
+
import VisualCharacterCounter from './visual_character_counter';
const allowedAroundShortCode = '><\u0085\u0020\u00a0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\u0009\u000a\u000b\u000c\u000d';
diff --git a/app/soapbox/features/compose/components/emoji_picker_dropdown.js b/app/soapbox/features/compose/components/emoji_picker_dropdown.js
index 8720cf3f6..edd603060 100644
--- a/app/soapbox/features/compose/components/emoji_picker_dropdown.js
+++ b/app/soapbox/features/compose/components/emoji_picker_dropdown.js
@@ -5,7 +5,9 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { defineMessages, injectIntl } from 'react-intl';
import Overlay from 'react-overlays/lib/Overlay';
+
import { joinPublicPath } from 'soapbox/utils/static';
+
import { buildCustomEmojis } from '../../emoji/emoji';
import { EmojiPicker as EmojiPickerAsync } from '../../ui/util/async-components';
diff --git a/app/soapbox/features/compose/components/markdown_button.js b/app/soapbox/features/compose/components/markdown_button.js
index 0444c0d55..d03217ee0 100644
--- a/app/soapbox/features/compose/components/markdown_button.js
+++ b/app/soapbox/features/compose/components/markdown_button.js
@@ -2,6 +2,7 @@ import classNames from 'classnames';
import PropTypes from 'prop-types';
import React from 'react';
import { defineMessages, injectIntl } from 'react-intl';
+
import IconButton from '../../../components/icon_button';
const messages = defineMessages({
diff --git a/app/soapbox/features/compose/components/poll_button.js b/app/soapbox/features/compose/components/poll_button.js
index 814b72b5c..a9d607d04 100644
--- a/app/soapbox/features/compose/components/poll_button.js
+++ b/app/soapbox/features/compose/components/poll_button.js
@@ -1,6 +1,7 @@
import PropTypes from 'prop-types';
import React from 'react';
import { defineMessages, injectIntl } from 'react-intl';
+
import IconButton from '../../../components/icon_button';
const messages = defineMessages({
diff --git a/app/soapbox/features/compose/components/poll_form.js b/app/soapbox/features/compose/components/poll_form.js
index 8e1829677..6e73cb595 100644
--- a/app/soapbox/features/compose/components/poll_form.js
+++ b/app/soapbox/features/compose/components/poll_form.js
@@ -7,6 +7,7 @@ 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 AutosuggestInput from 'soapbox/components/autosuggest_input';
import Icon from 'soapbox/components/icon';
import IconButton from 'soapbox/components/icon_button';
diff --git a/app/soapbox/features/compose/components/privacy_dropdown.js b/app/soapbox/features/compose/components/privacy_dropdown.js
index d03dd2ad4..3c7f011e1 100644
--- a/app/soapbox/features/compose/components/privacy_dropdown.js
+++ b/app/soapbox/features/compose/components/privacy_dropdown.js
@@ -5,7 +5,9 @@ import React from 'react';
import { injectIntl, defineMessages } from 'react-intl';
import spring from 'react-motion/lib/spring';
import Overlay from 'react-overlays/lib/Overlay';
+
import Icon from 'soapbox/components/icon';
+
import IconButton from '../../../components/icon_button';
import Motion from '../../ui/util/optional_motion';
diff --git a/app/soapbox/features/compose/components/reply_indicator.js b/app/soapbox/features/compose/components/reply_indicator.js
index 7804cd385..6d7565f65 100644
--- a/app/soapbox/features/compose/components/reply_indicator.js
+++ b/app/soapbox/features/compose/components/reply_indicator.js
@@ -4,7 +4,9 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl } from 'react-intl';
import { NavLink } from 'react-router-dom';
+
import AttachmentThumbs from 'soapbox/components/attachment_thumbs';
+
import Avatar from '../../../components/avatar';
import DisplayName from '../../../components/display_name';
import IconButton from '../../../components/icon_button';
diff --git a/app/soapbox/features/compose/components/schedule_button.js b/app/soapbox/features/compose/components/schedule_button.js
index 3e1a67303..8522c1e3d 100644
--- a/app/soapbox/features/compose/components/schedule_button.js
+++ b/app/soapbox/features/compose/components/schedule_button.js
@@ -2,6 +2,7 @@ import classNames from 'classnames';
import PropTypes from 'prop-types';
import React from 'react';
import { defineMessages, injectIntl } from 'react-intl';
+
import IconButton from '../../../components/icon_button';
const messages = defineMessages({
diff --git a/app/soapbox/features/compose/components/schedule_form.js b/app/soapbox/features/compose/components/schedule_form.js
index 3a9b8f488..a090abfb0 100644
--- a/app/soapbox/features/compose/components/schedule_form.js
+++ b/app/soapbox/features/compose/components/schedule_form.js
@@ -6,8 +6,10 @@ import React from 'react';
import DatePicker from 'react-datepicker';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
+
import 'react-datepicker/dist/react-datepicker.css';
import IconButton from 'soapbox/components/icon_button';
+
import { setSchedule, removeSchedule } from '../../../actions/compose';
const messages = defineMessages({
diff --git a/app/soapbox/features/compose/components/search.js b/app/soapbox/features/compose/components/search.js
index 6da48cb4f..6389d0785 100644
--- a/app/soapbox/features/compose/components/search.js
+++ b/app/soapbox/features/compose/components/search.js
@@ -2,6 +2,7 @@ import classNames from 'classnames';
import PropTypes from 'prop-types';
import React from 'react';
import { defineMessages, injectIntl } from 'react-intl';
+
import AutosuggestAccountInput from 'soapbox/components/autosuggest_account_input';
import Icon from 'soapbox/components/icon';
diff --git a/app/soapbox/features/compose/components/search_results.js b/app/soapbox/features/compose/components/search_results.js
index bf7121a1e..eeca766d2 100644
--- a/app/soapbox/features/compose/components/search_results.js
+++ b/app/soapbox/features/compose/components/search_results.js
@@ -4,12 +4,14 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { FormattedMessage } from 'react-intl';
import { defineMessages, injectIntl } from 'react-intl';
+
import FilterBar from 'soapbox/components/filter_bar';
import Pullable from 'soapbox/components/pullable';
import ScrollableList from 'soapbox/components/scrollable_list';
import PlaceholderAccount from 'soapbox/features/placeholder/components/placeholder_account';
import PlaceholderHashtag from 'soapbox/features/placeholder/components/placeholder_hashtag';
import PlaceholderStatus from 'soapbox/features/placeholder/components/placeholder_status';
+
import Hashtag from '../../../components/hashtag';
import AccountContainer from '../../../containers/account_container';
import StatusContainer from '../../../containers/status_container';
diff --git a/app/soapbox/features/compose/components/spoiler_button.js b/app/soapbox/features/compose/components/spoiler_button.js
index 9f37f9682..4a90a3336 100644
--- a/app/soapbox/features/compose/components/spoiler_button.js
+++ b/app/soapbox/features/compose/components/spoiler_button.js
@@ -2,6 +2,7 @@ import classNames from 'classnames';
import PropTypes from 'prop-types';
import React from 'react';
import { defineMessages, injectIntl } from 'react-intl';
+
import IconButton from '../../../components/icon_button';
const messages = defineMessages({
diff --git a/app/soapbox/features/compose/components/upload.js b/app/soapbox/features/compose/components/upload.js
index 2d19bb4f1..062ea9262 100644
--- a/app/soapbox/features/compose/components/upload.js
+++ b/app/soapbox/features/compose/components/upload.js
@@ -5,9 +5,11 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import spring from 'react-motion/lib/spring';
+
import Blurhash from 'soapbox/components/blurhash';
import Icon from 'soapbox/components/icon';
import IconButton from 'soapbox/components/icon_button';
+
import Motion from '../../ui/util/optional_motion';
const MIMETYPE_ICONS = {
diff --git a/app/soapbox/features/compose/components/upload_button.js b/app/soapbox/features/compose/components/upload_button.js
index fa8817063..78cceb044 100644
--- a/app/soapbox/features/compose/components/upload_button.js
+++ b/app/soapbox/features/compose/components/upload_button.js
@@ -4,6 +4,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import IconButton from '../../../components/icon_button';
const messages = defineMessages({
diff --git a/app/soapbox/features/compose/components/upload_form.js b/app/soapbox/features/compose/components/upload_form.js
index 8212505bc..8d3106a48 100644
--- a/app/soapbox/features/compose/components/upload_form.js
+++ b/app/soapbox/features/compose/components/upload_form.js
@@ -2,6 +2,7 @@ import classNames from 'classnames';
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
+
import SensitiveButtonContainer from '../containers/sensitive_button_container';
import UploadContainer from '../containers/upload_container';
import UploadProgressContainer from '../containers/upload_progress_container';
diff --git a/app/soapbox/features/compose/components/upload_progress.js b/app/soapbox/features/compose/components/upload_progress.js
index ca81dd5ca..2a66a67ed 100644
--- a/app/soapbox/features/compose/components/upload_progress.js
+++ b/app/soapbox/features/compose/components/upload_progress.js
@@ -2,7 +2,9 @@ import PropTypes from 'prop-types';
import React from 'react';
import { FormattedMessage } from 'react-intl';
import spring from 'react-motion/lib/spring';
+
import Icon from 'soapbox/components/icon';
+
import Motion from '../../ui/util/optional_motion';
export default class UploadProgress extends React.PureComponent {
diff --git a/app/soapbox/features/compose/components/visual_character_counter.js b/app/soapbox/features/compose/components/visual_character_counter.js
index 486da7f8e..d8bdfbf2d 100644
--- a/app/soapbox/features/compose/components/visual_character_counter.js
+++ b/app/soapbox/features/compose/components/visual_character_counter.js
@@ -2,6 +2,7 @@ import PropTypes from 'prop-types';
import React from 'react';
import { injectIntl, defineMessages } from 'react-intl';
import { length } from 'stringz';
+
import ProgressCircle from 'soapbox/components/progress_circle';
const messages = defineMessages({
diff --git a/app/soapbox/features/compose/components/warning.js b/app/soapbox/features/compose/components/warning.js
index 27380aa21..a819b33ec 100644
--- a/app/soapbox/features/compose/components/warning.js
+++ b/app/soapbox/features/compose/components/warning.js
@@ -1,6 +1,7 @@
import PropTypes from 'prop-types';
import React from 'react';
import spring from 'react-motion/lib/spring';
+
import Motion from '../../ui/util/optional_motion';
export default class Warning extends React.PureComponent {
diff --git a/app/soapbox/features/compose/containers/autosuggest_account_container.js b/app/soapbox/features/compose/containers/autosuggest_account_container.js
index cb3891ed5..f86f01bd9 100644
--- a/app/soapbox/features/compose/containers/autosuggest_account_container.js
+++ b/app/soapbox/features/compose/containers/autosuggest_account_container.js
@@ -1,4 +1,5 @@
import { connect } from 'react-redux';
+
import { makeGetAccount } from '../../../selectors';
import AutosuggestAccount from '../components/autosuggest_account';
diff --git a/app/soapbox/features/compose/containers/compose_form_container.js b/app/soapbox/features/compose/containers/compose_form_container.js
index ef3de8ce8..0fe6fc1eb 100644
--- a/app/soapbox/features/compose/containers/compose_form_container.js
+++ b/app/soapbox/features/compose/containers/compose_form_container.js
@@ -1,5 +1,6 @@
import { injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import {
changeCompose,
submitCompose,
diff --git a/app/soapbox/features/compose/containers/emoji_picker_dropdown_container.js b/app/soapbox/features/compose/containers/emoji_picker_dropdown_container.js
index 57339d64c..ff8cbc32c 100644
--- a/app/soapbox/features/compose/containers/emoji_picker_dropdown_container.js
+++ b/app/soapbox/features/compose/containers/emoji_picker_dropdown_container.js
@@ -1,6 +1,7 @@
import { Map as ImmutableMap } from 'immutable';
import { connect } from 'react-redux';
import { createSelector } from 'reselect';
+
import { useEmoji } from '../../../actions/emojis';
import { getSettings, changeSetting } from '../../../actions/settings';
import EmojiPickerDropdown from '../components/emoji_picker_dropdown';
diff --git a/app/soapbox/features/compose/containers/markdown_button_container.js b/app/soapbox/features/compose/containers/markdown_button_container.js
index 078ab52f0..86868c452 100644
--- a/app/soapbox/features/compose/containers/markdown_button_container.js
+++ b/app/soapbox/features/compose/containers/markdown_button_container.js
@@ -1,5 +1,7 @@
import { connect } from 'react-redux';
+
import { getFeatures } from 'soapbox/utils/features';
+
import { changeComposeContentType } from '../../../actions/compose';
import MarkdownButton from '../components/markdown_button';
diff --git a/app/soapbox/features/compose/containers/poll_button_container.js b/app/soapbox/features/compose/containers/poll_button_container.js
index 486682f22..e870be22a 100644
--- a/app/soapbox/features/compose/containers/poll_button_container.js
+++ b/app/soapbox/features/compose/containers/poll_button_container.js
@@ -1,4 +1,5 @@
import { connect } from 'react-redux';
+
import { addPoll, removePoll } from '../../../actions/compose';
import PollButton from '../components/poll_button';
diff --git a/app/soapbox/features/compose/containers/poll_form_container.js b/app/soapbox/features/compose/containers/poll_form_container.js
index fbbc830eb..08d555b5d 100644
--- a/app/soapbox/features/compose/containers/poll_form_container.js
+++ b/app/soapbox/features/compose/containers/poll_form_container.js
@@ -1,4 +1,5 @@
import { connect } from 'react-redux';
+
import { addPollOption, removePollOption, changePollOption, changePollSettings, removePoll } from '../../../actions/compose';
import {
clearComposeSuggestions,
diff --git a/app/soapbox/features/compose/containers/privacy_dropdown_container.js b/app/soapbox/features/compose/containers/privacy_dropdown_container.js
index b51afa9c2..23da32fbd 100644
--- a/app/soapbox/features/compose/containers/privacy_dropdown_container.js
+++ b/app/soapbox/features/compose/containers/privacy_dropdown_container.js
@@ -1,4 +1,5 @@
import { connect } from 'react-redux';
+
import { changeComposeVisibility } from '../../../actions/compose';
import { openModal, closeModal } from '../../../actions/modal';
import { isUserTouching } from '../../../is_mobile';
diff --git a/app/soapbox/features/compose/containers/reply_indicator_container.js b/app/soapbox/features/compose/containers/reply_indicator_container.js
index f9cf3d850..cea894b04 100644
--- a/app/soapbox/features/compose/containers/reply_indicator_container.js
+++ b/app/soapbox/features/compose/containers/reply_indicator_container.js
@@ -1,4 +1,5 @@
import { connect } from 'react-redux';
+
import { cancelReplyCompose } from '../../../actions/compose';
import { makeGetStatus } from '../../../selectors';
import ReplyIndicator from '../components/reply_indicator';
diff --git a/app/soapbox/features/compose/containers/reply_mentions_container.js b/app/soapbox/features/compose/containers/reply_mentions_container.js
index fdeefb5d0..9d2d209e0 100644
--- a/app/soapbox/features/compose/containers/reply_mentions_container.js
+++ b/app/soapbox/features/compose/containers/reply_mentions_container.js
@@ -1,7 +1,9 @@
import { connect } from 'react-redux';
+
import { openModal } from 'soapbox/actions/modal';
import { makeGetStatus } from 'soapbox/selectors';
import { getFeatures } from 'soapbox/utils/features';
+
import ReplyMentions from '../components/reply_mentions';
const makeMapStateToProps = () => {
diff --git a/app/soapbox/features/compose/containers/schedule_button_container.js b/app/soapbox/features/compose/containers/schedule_button_container.js
index f8fdc818f..6076220a4 100644
--- a/app/soapbox/features/compose/containers/schedule_button_container.js
+++ b/app/soapbox/features/compose/containers/schedule_button_container.js
@@ -1,4 +1,5 @@
import { connect } from 'react-redux';
+
import { addSchedule, removeSchedule } from '../../../actions/compose';
import ScheduleButton from '../components/schedule_button';
diff --git a/app/soapbox/features/compose/containers/schedule_form_container.js b/app/soapbox/features/compose/containers/schedule_form_container.js
index 50042e5b3..a5afcdafc 100644
--- a/app/soapbox/features/compose/containers/schedule_form_container.js
+++ b/app/soapbox/features/compose/containers/schedule_form_container.js
@@ -1,4 +1,5 @@
import React from 'react';
+
import BundleContainer from 'soapbox/features/ui/containers/bundle_container';
import { ScheduleForm } from 'soapbox/features/ui/util/async-components';
diff --git a/app/soapbox/features/compose/containers/search_container.js b/app/soapbox/features/compose/containers/search_container.js
index 36f942769..a269df395 100644
--- a/app/soapbox/features/compose/containers/search_container.js
+++ b/app/soapbox/features/compose/containers/search_container.js
@@ -1,5 +1,6 @@
import { debounce } from 'lodash';
import { connect } from 'react-redux';
+
import {
changeSearch,
clearSearch,
diff --git a/app/soapbox/features/compose/containers/search_results_container.js b/app/soapbox/features/compose/containers/search_results_container.js
index 5023d8446..fc4cd358e 100644
--- a/app/soapbox/features/compose/containers/search_results_container.js
+++ b/app/soapbox/features/compose/containers/search_results_container.js
@@ -1,5 +1,7 @@
import { connect } from 'react-redux';
+
import { getFeatures } from 'soapbox/utils/features';
+
import { expandSearch, setFilter } from '../../../actions/search';
import { fetchSuggestions, dismissSuggestion } from '../../../actions/suggestions';
import SearchResults from '../components/search_results';
diff --git a/app/soapbox/features/compose/containers/sensitive_button_container.js b/app/soapbox/features/compose/containers/sensitive_button_container.js
index e99dd5790..b28d3c1f7 100644
--- a/app/soapbox/features/compose/containers/sensitive_button_container.js
+++ b/app/soapbox/features/compose/containers/sensitive_button_container.js
@@ -3,6 +3,7 @@ import PropTypes from 'prop-types';
import React from 'react';
import { injectIntl, defineMessages, FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
+
import { changeComposeSensitivity } from 'soapbox/actions/compose';
const messages = defineMessages({
diff --git a/app/soapbox/features/compose/containers/spoiler_button_container.js b/app/soapbox/features/compose/containers/spoiler_button_container.js
index 3c5d5cae5..e641f2d48 100644
--- a/app/soapbox/features/compose/containers/spoiler_button_container.js
+++ b/app/soapbox/features/compose/containers/spoiler_button_container.js
@@ -1,4 +1,5 @@
import { connect } from 'react-redux';
+
import { changeComposeSpoilerness } from '../../../actions/compose';
import SpoilerButton from '../components/spoiler_button';
diff --git a/app/soapbox/features/compose/containers/upload_button_container.js b/app/soapbox/features/compose/containers/upload_button_container.js
index 8509a85e6..160cedf54 100644
--- a/app/soapbox/features/compose/containers/upload_button_container.js
+++ b/app/soapbox/features/compose/containers/upload_button_container.js
@@ -1,4 +1,5 @@
import { connect } from 'react-redux';
+
import { uploadCompose } from '../../../actions/compose';
import UploadButton from '../components/upload_button';
diff --git a/app/soapbox/features/compose/containers/upload_container.js b/app/soapbox/features/compose/containers/upload_container.js
index a4d683fad..a9829b13d 100644
--- a/app/soapbox/features/compose/containers/upload_container.js
+++ b/app/soapbox/features/compose/containers/upload_container.js
@@ -1,5 +1,6 @@
import { List as ImmutableList } from 'immutable';
import { connect } from 'react-redux';
+
import { undoUploadCompose, changeUploadCompose } from '../../../actions/compose';
import { submitCompose } from '../../../actions/compose';
import { openModal } from '../../../actions/modal';
diff --git a/app/soapbox/features/compose/containers/upload_form_container.js b/app/soapbox/features/compose/containers/upload_form_container.js
index a6798bf51..336525cf5 100644
--- a/app/soapbox/features/compose/containers/upload_form_container.js
+++ b/app/soapbox/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/soapbox/features/compose/containers/upload_progress_container.js b/app/soapbox/features/compose/containers/upload_progress_container.js
index 0cfee96da..593ff3d3b 100644
--- a/app/soapbox/features/compose/containers/upload_progress_container.js
+++ b/app/soapbox/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/soapbox/features/compose/containers/warning_container.js b/app/soapbox/features/compose/containers/warning_container.js
index 0c79f9e73..fba07ccbb 100644
--- a/app/soapbox/features/compose/containers/warning_container.js
+++ b/app/soapbox/features/compose/containers/warning_container.js
@@ -3,6 +3,7 @@ import React from 'react';
import { FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
+
import Warning from '../components/warning';
const APPROX_HASHTAG_RE = /(?:^|[^\/\)\w])#(\w*[a-zA-Z·]\w*)/i;
diff --git a/app/soapbox/features/conversations/components/conversation.js b/app/soapbox/features/conversations/components/conversation.js
index 000ebf40d..2c8782e8b 100644
--- a/app/soapbox/features/conversations/components/conversation.js
+++ b/app/soapbox/features/conversations/components/conversation.js
@@ -2,6 +2,7 @@ import PropTypes from 'prop-types';
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
+
import StatusContainer from '../../../containers/status_container';
export default class Conversation extends ImmutablePureComponent {
diff --git a/app/soapbox/features/conversations/components/conversations_list.js b/app/soapbox/features/conversations/components/conversations_list.js
index 5bc280623..95629045d 100644
--- a/app/soapbox/features/conversations/components/conversations_list.js
+++ b/app/soapbox/features/conversations/components/conversations_list.js
@@ -3,6 +3,7 @@ import PropTypes from 'prop-types';
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
+
import ScrollableList from '../../../components/scrollable_list';
import ConversationContainer from '../containers/conversation_container';
diff --git a/app/soapbox/features/conversations/containers/conversation_container.js b/app/soapbox/features/conversations/containers/conversation_container.js
index 957041c55..885fada9c 100644
--- a/app/soapbox/features/conversations/containers/conversation_container.js
+++ b/app/soapbox/features/conversations/containers/conversation_container.js
@@ -1,4 +1,5 @@
import { connect } from 'react-redux';
+
import { markConversationRead } from '../../../actions/conversations';
import Conversation from '../components/conversation';
diff --git a/app/soapbox/features/conversations/containers/conversations_list_container.js b/app/soapbox/features/conversations/containers/conversations_list_container.js
index 24e19b26e..1dcd3ec1b 100644
--- a/app/soapbox/features/conversations/containers/conversations_list_container.js
+++ b/app/soapbox/features/conversations/containers/conversations_list_container.js
@@ -1,4 +1,5 @@
import { connect } from 'react-redux';
+
import { expandConversations } from '../../../actions/conversations';
import ConversationsList from '../components/conversations_list';
diff --git a/app/soapbox/features/conversations/index.js b/app/soapbox/features/conversations/index.js
index b9e795e51..92ce33125 100644
--- a/app/soapbox/features/conversations/index.js
+++ b/app/soapbox/features/conversations/index.js
@@ -2,12 +2,15 @@ import PropTypes from 'prop-types';
import React from 'react';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
+
import { directComposeById } from 'soapbox/actions/compose';
import AccountSearch from 'soapbox/components/account_search';
+
import { mountConversations, unmountConversations, expandConversations } from '../../actions/conversations';
import { connectDirectStream } from '../../actions/streaming';
import Column from '../../components/column';
import ColumnHeader from '../../components/column_header';
+
import ConversationsListContainer from './containers/conversations_list_container';
const messages = defineMessages({
diff --git a/app/soapbox/features/crypto_donate/components/crypto_address.js b/app/soapbox/features/crypto_donate/components/crypto_address.js
index 857923346..6b88c52b9 100644
--- a/app/soapbox/features/crypto_donate/components/crypto_address.js
+++ b/app/soapbox/features/crypto_donate/components/crypto_address.js
@@ -2,11 +2,14 @@ import PropTypes from 'prop-types';
import React from 'react';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { connect } from 'react-redux';
+
import { openModal } from 'soapbox/actions/modal';
import Icon from 'soapbox/components/icon';
import { CopyableInput } from 'soapbox/features/forms';
+
import { getExplorerUrl } from '../utils/block_explorer';
import CoinDB from '../utils/coin_db';
+
import CryptoIcon from './crypto_icon';
export default @connect()
diff --git a/app/soapbox/features/crypto_donate/components/crypto_donate_panel.js b/app/soapbox/features/crypto_donate/components/crypto_donate_panel.js
index e1f834f89..23b401c7f 100644
--- a/app/soapbox/features/crypto_donate/components/crypto_donate_panel.js
+++ b/app/soapbox/features/crypto_donate/components/crypto_donate_panel.js
@@ -6,7 +6,9 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
+
import Icon from 'soapbox/components/icon';
+
import SiteWallet from './site_wallet';
const mapStateToProps = state => {
diff --git a/app/soapbox/features/crypto_donate/components/detailed_crypto_address.js b/app/soapbox/features/crypto_donate/components/detailed_crypto_address.js
index 1f41b9b24..40df4909d 100644
--- a/app/soapbox/features/crypto_donate/components/detailed_crypto_address.js
+++ b/app/soapbox/features/crypto_donate/components/detailed_crypto_address.js
@@ -2,10 +2,13 @@ import PropTypes from 'prop-types';
import QRCode from 'qrcode.react';
import React from 'react';
import ImmutablePureComponent from 'react-immutable-pure-component';
+
import Icon from 'soapbox/components/icon';
import { CopyableInput } from 'soapbox/features/forms';
+
import { getExplorerUrl } from '../utils/block_explorer';
import CoinDB from '../utils/coin_db';
+
import CryptoIcon from './crypto_icon';
export default class DetailedCryptoAddress extends ImmutablePureComponent {
diff --git a/app/soapbox/features/crypto_donate/components/site_wallet.js b/app/soapbox/features/crypto_donate/components/site_wallet.js
index a1c098366..21acffe4e 100644
--- a/app/soapbox/features/crypto_donate/components/site_wallet.js
+++ b/app/soapbox/features/crypto_donate/components/site_wallet.js
@@ -5,6 +5,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { connect } from 'react-redux';
import { createSelector } from 'reselect';
+
import CryptoAddress from './crypto_address';
const normalizeAddress = address => {
diff --git a/app/soapbox/features/crypto_donate/index.js b/app/soapbox/features/crypto_donate/index.js
index 19a20ec1c..747c4df2d 100644
--- a/app/soapbox/features/crypto_donate/index.js
+++ b/app/soapbox/features/crypto_donate/index.js
@@ -3,8 +3,11 @@ import React from 'react';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
+
import Accordion from 'soapbox/features/ui/components/accordion';
+
import Column from '../ui/components/column';
+
import SiteWallet from './components/site_wallet';
const messages = defineMessages({
diff --git a/app/soapbox/features/crypto_donate/utils/coin_db.js b/app/soapbox/features/crypto_donate/utils/coin_db.js
index 33c566cdb..3ca2d3a18 100644
--- a/app/soapbox/features/crypto_donate/utils/coin_db.js
+++ b/app/soapbox/features/crypto_donate/utils/coin_db.js
@@ -1,4 +1,5 @@
import { fromJS } from 'immutable';
+
import manifestMap from './manifest_map';
// All this does is converts the result from manifest_map.js into an ImmutableMap
diff --git a/app/soapbox/features/developers/apps/create.js b/app/soapbox/features/developers/apps/create.js
index e74ab0fba..c643e3d79 100644
--- a/app/soapbox/features/developers/apps/create.js
+++ b/app/soapbox/features/developers/apps/create.js
@@ -5,6 +5,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { injectIntl, FormattedMessage, defineMessages } from 'react-intl';
import { connect } from 'react-redux';
+
import { createApp } from 'soapbox/actions/apps';
import { obtainOAuthToken } from 'soapbox/actions/oauth';
import {
diff --git a/app/soapbox/features/developers/developers_challenge.js b/app/soapbox/features/developers/developers_challenge.js
index 48bc478e6..6ad79c7de 100644
--- a/app/soapbox/features/developers/developers_challenge.js
+++ b/app/soapbox/features/developers/developers_challenge.js
@@ -2,9 +2,11 @@ import PropTypes from 'prop-types';
import React from 'react';
import { FormattedMessage, injectIntl, defineMessages } from 'react-intl';
import { connect } from 'react-redux';
+
import { changeSetting } from 'soapbox/actions/settings';
import snackbar from 'soapbox/actions/snackbar';
import { SimpleForm, TextInput } from 'soapbox/features/forms';
+
import Column from '../ui/components/column';
const messages = defineMessages({
diff --git a/app/soapbox/features/developers/developers_menu.js b/app/soapbox/features/developers/developers_menu.js
index f9debe0b0..3dda4bd76 100644
--- a/app/soapbox/features/developers/developers_menu.js
+++ b/app/soapbox/features/developers/developers_menu.js
@@ -3,9 +3,11 @@ import React from 'react';
import { FormattedMessage, injectIntl, defineMessages } from 'react-intl';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
+
import { changeSetting } from 'soapbox/actions/settings';
import snackbar from 'soapbox/actions/snackbar';
import Icon from 'soapbox/components/icon';
+
import Column from '../ui/components/column';
const messages = defineMessages({
diff --git a/app/soapbox/features/developers/index.js b/app/soapbox/features/developers/index.js
index 4aaec5862..3d58c9249 100644
--- a/app/soapbox/features/developers/index.js
+++ b/app/soapbox/features/developers/index.js
@@ -1,7 +1,9 @@
import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
+
import { getSettings } from 'soapbox/actions/settings';
+
import DevelopersChallenge from './developers_challenge';
import DevelopersMenu from './developers_menu';
diff --git a/app/soapbox/features/developers/settings_store.js b/app/soapbox/features/developers/settings_store.js
index 0dfef5ec8..cf589615e 100644
--- a/app/soapbox/features/developers/settings_store.js
+++ b/app/soapbox/features/developers/settings_store.js
@@ -4,6 +4,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { injectIntl, FormattedMessage, defineMessages } from 'react-intl';
import { connect } from 'react-redux';
+
import { showAlertForError } from 'soapbox/actions/alerts';
import { patchMe } from 'soapbox/actions/me';
import { FE_NAME, SETTINGS_UPDATE } from 'soapbox/actions/settings';
diff --git a/app/soapbox/features/direct_timeline/index.js b/app/soapbox/features/direct_timeline/index.js
index f704a871a..5d0dd2d5b 100644
--- a/app/soapbox/features/direct_timeline/index.js
+++ b/app/soapbox/features/direct_timeline/index.js
@@ -2,8 +2,10 @@ import PropTypes from 'prop-types';
import React from 'react';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
+
import { directComposeById } from 'soapbox/actions/compose';
import AccountSearch from 'soapbox/components/account_search';
+
import { connectDirectStream } from '../../actions/streaming';
import { expandDirectTimeline } from '../../actions/timelines';
import Column from '../../components/column';
diff --git a/app/soapbox/features/directory/components/account_card.js b/app/soapbox/features/directory/components/account_card.js
index a2bf036be..36b53d416 100644
--- a/app/soapbox/features/directory/components/account_card.js
+++ b/app/soapbox/features/directory/components/account_card.js
@@ -5,6 +5,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { FormattedMessage, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import { getSettings } from 'soapbox/actions/settings';
import Avatar from 'soapbox/components/avatar';
import DisplayName from 'soapbox/components/display_name';
diff --git a/app/soapbox/features/directory/index.js b/app/soapbox/features/directory/index.js
index 5c42ddf4a..ada1010cf 100644
--- a/app/soapbox/features/directory/index.js
+++ b/app/soapbox/features/directory/index.js
@@ -5,11 +5,13 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import { fetchDirectory, expandDirectory } from 'soapbox/actions/directory';
import LoadMore from 'soapbox/components/load_more';
import RadioButton from 'soapbox/components/radio_button';
import Column from 'soapbox/features/ui/components/column';
import { getFeatures } from 'soapbox/utils/features';
+
import AccountCard from './components/account_card';
const messages = defineMessages({
diff --git a/app/soapbox/features/domain_blocks/index.js b/app/soapbox/features/domain_blocks/index.js
index 2b6ede88b..d9d376293 100644
--- a/app/soapbox/features/domain_blocks/index.js
+++ b/app/soapbox/features/domain_blocks/index.js
@@ -5,6 +5,7 @@ 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 { fetchDomainBlocks, expandDomainBlocks } from '../../actions/domain_blocks';
import LoadingIndicator from '../../components/loading_indicator';
import ScrollableList from '../../components/scrollable_list';
diff --git a/app/soapbox/features/edit_profile/components/profile_preview.js b/app/soapbox/features/edit_profile/components/profile_preview.js
index f59f65f6c..3b73e48f8 100644
--- a/app/soapbox/features/edit_profile/components/profile_preview.js
+++ b/app/soapbox/features/edit_profile/components/profile_preview.js
@@ -3,6 +3,7 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
+
import StillImage from 'soapbox/components/still_image';
import VerificationBadge from 'soapbox/components/verification_badge';
import { getAcct, isVerified } from 'soapbox/utils/accounts';
diff --git a/app/soapbox/features/edit_profile/index.js b/app/soapbox/features/edit_profile/index.js
index aa1847aeb..f38197653 100644
--- a/app/soapbox/features/edit_profile/index.js
+++ b/app/soapbox/features/edit_profile/index.js
@@ -9,6 +9,7 @@ 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 { updateNotificationSettings } from 'soapbox/actions/accounts';
import { patchMe } from 'soapbox/actions/me';
import snackbar from 'soapbox/actions/snackbar';
@@ -26,7 +27,9 @@ import { makeGetAccount } from 'soapbox/selectors';
import { isVerified } from 'soapbox/utils/accounts';
import { getFeatures } from 'soapbox/utils/features';
import resizeImage from 'soapbox/utils/resize_image';
+
import Column from '../ui/components/column';
+
import ProfilePreview from './components/profile_preview';
const hidesNetwork = account => {
diff --git a/app/soapbox/features/emoji/__tests__/emoji_index-test.js b/app/soapbox/features/emoji/__tests__/emoji_index-test.js
index 2ee6c7bf1..90ae0993d 100644
--- a/app/soapbox/features/emoji/__tests__/emoji_index-test.js
+++ b/app/soapbox/features/emoji/__tests__/emoji_index-test.js
@@ -1,5 +1,6 @@
import { emojiIndex } from 'emoji-mart';
import { pick } from 'lodash';
+
import { search } from '../emoji_mart_search_light';
const trimEmojis = emoji => pick(emoji, ['id', 'unified', 'native', 'custom']);
diff --git a/app/soapbox/features/emoji/emoji.js b/app/soapbox/features/emoji/emoji.js
index cf40deb9b..0ce74c4de 100644
--- a/app/soapbox/features/emoji/emoji.js
+++ b/app/soapbox/features/emoji/emoji.js
@@ -1,5 +1,7 @@
import Trie from 'substring-trie';
+
import { joinPublicPath } from 'soapbox/utils/static';
+
import unicodeMapping from './emoji_unicode_mapping_light';
const trie = new Trie(Object.keys(unicodeMapping));
diff --git a/app/soapbox/features/emoji/emoji_compressed.js b/app/soapbox/features/emoji/emoji_compressed.js
index 0e0c93ace..c95bccf08 100644
--- a/app/soapbox/features/emoji/emoji_compressed.js
+++ b/app/soapbox/features/emoji/emoji_compressed.js
@@ -8,6 +8,7 @@
const { emojiIndex } = require('emoji-mart');
let data = require('emoji-mart/data/all.json');
const { uncompress: emojiMartUncompress } = require('emoji-mart/dist/utils/data');
+
const emojiMap = require('./emoji_map.json');
const { unicodeToFilename } = require('./unicode_to_filename');
const { unicodeToUnifiedName } = require('./unicode_to_unified_name');
diff --git a/app/soapbox/features/export_data/components/csv_exporter.js b/app/soapbox/features/export_data/components/csv_exporter.js
index 84029cd22..87ca8ba50 100644
--- a/app/soapbox/features/export_data/components/csv_exporter.js
+++ b/app/soapbox/features/export_data/components/csv_exporter.js
@@ -3,6 +3,7 @@ import React from 'react';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import { SimpleForm } from 'soapbox/features/forms';
export default @connect()
diff --git a/app/soapbox/features/export_data/index.js b/app/soapbox/features/export_data/index.js
index 7fcadd451..0d86bfd69 100644
--- a/app/soapbox/features/export_data/index.js
+++ b/app/soapbox/features/export_data/index.js
@@ -3,13 +3,16 @@ import React from 'react';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import {
exportFollows,
exportBlocks,
exportMutes,
} from 'soapbox/actions/export_data';
import { getFeatures } from 'soapbox/utils/features';
+
import Column from '../ui/components/column';
+
import CSVExporter from './components/csv_exporter';
const messages = defineMessages({
diff --git a/app/soapbox/features/external_login/components/external_login_form.js b/app/soapbox/features/external_login/components/external_login_form.js
index 86516bcde..c5da61efb 100644
--- a/app/soapbox/features/external_login/components/external_login_form.js
+++ b/app/soapbox/features/external_login/components/external_login_form.js
@@ -2,6 +2,7 @@ import React from 'react';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { injectIntl, FormattedMessage, defineMessages } from 'react-intl';
import { connect } from 'react-redux';
+
import { createAppAndRedirect, loginWithCode } from 'soapbox/actions/external_auth';
import LoadingIndicator from 'soapbox/components/loading_indicator';
import { SimpleForm, FieldsGroup, TextInput } from 'soapbox/features/forms';
diff --git a/app/soapbox/features/external_login/index.js b/app/soapbox/features/external_login/index.js
index 1971b1813..881c2e08f 100644
--- a/app/soapbox/features/external_login/index.js
+++ b/app/soapbox/features/external_login/index.js
@@ -1,5 +1,6 @@
import React from 'react';
import ImmutablePureComponent from 'react-immutable-pure-component';
+
import ExternalLoginForm from './components/external_login_form';
export default class ExternalLoginPage extends ImmutablePureComponent {
diff --git a/app/soapbox/features/favourited_statuses/index.js b/app/soapbox/features/favourited_statuses/index.js
index 173577571..8239b9071 100644
--- a/app/soapbox/features/favourited_statuses/index.js
+++ b/app/soapbox/features/favourited_statuses/index.js
@@ -5,8 +5,10 @@ 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 MissingIndicator from 'soapbox/components/missing_indicator';
import { findAccountByUsername } from 'soapbox/selectors';
+
import { fetchAccount, fetchAccountByUsername } from '../../actions/accounts';
import { fetchFavouritedStatuses, expandFavouritedStatuses, fetchAccountFavouritedStatuses, expandAccountFavouritedStatuses } from '../../actions/favourites';
import LoadingIndicator from '../../components/loading_indicator';
diff --git a/app/soapbox/features/federation_restrictions/components/instance_restrictions.js b/app/soapbox/features/federation_restrictions/components/instance_restrictions.js
index f6a7b3e3b..f4f1145f4 100644
--- a/app/soapbox/features/federation_restrictions/components/instance_restrictions.js
+++ b/app/soapbox/features/federation_restrictions/components/instance_restrictions.js
@@ -6,6 +6,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
+
import Icon from 'soapbox/components/icon';
const hasRestrictions = remoteInstance => {
diff --git a/app/soapbox/features/federation_restrictions/components/restricted_instance.js b/app/soapbox/features/federation_restrictions/components/restricted_instance.js
index 4ff165f9c..38ca1b602 100644
--- a/app/soapbox/features/federation_restrictions/components/restricted_instance.js
+++ b/app/soapbox/features/federation_restrictions/components/restricted_instance.js
@@ -3,8 +3,10 @@ import PropTypes from 'prop-types';
import React from 'react';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { connect } from 'react-redux';
+
import Icon from 'soapbox/components/icon';
import { makeGetRemoteInstance } from 'soapbox/selectors';
+
import InstanceRestrictions from './instance_restrictions';
const getRemoteInstance = makeGetRemoteInstance();
diff --git a/app/soapbox/features/federation_restrictions/index.js b/app/soapbox/features/federation_restrictions/index.js
index 17826c873..dc83d0e27 100644
--- a/app/soapbox/features/federation_restrictions/index.js
+++ b/app/soapbox/features/federation_restrictions/index.js
@@ -3,11 +3,14 @@ import React from 'react';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import ScrollableList from 'soapbox/components/scrollable_list';
import Accordion from 'soapbox/features/ui/components/accordion';
import { makeGetHosts } from 'soapbox/selectors';
import { federationRestrictionsDisclosed } from 'soapbox/utils/state';
+
import Column from '../ui/components/column';
+
import RestrictedInstance from './components/restricted_instance';
const messages = defineMessages({
diff --git a/app/soapbox/features/filters/index.js b/app/soapbox/features/filters/index.js
index 73a5952ed..9a7ffac37 100644
--- a/app/soapbox/features/filters/index.js
+++ b/app/soapbox/features/filters/index.js
@@ -3,6 +3,7 @@ import React from 'react';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
+
import snackbar from 'soapbox/actions/snackbar';
import Button from 'soapbox/components/button';
import Icon from 'soapbox/components/icon';
@@ -13,6 +14,7 @@ import {
SelectDropdown,
Checkbox,
} from 'soapbox/features/forms';
+
import { fetchFilters, createFilter, deleteFilter } from '../../actions/filters';
import ScrollableList from '../../components/scrollable_list';
import Column from '../ui/components/column';
diff --git a/app/soapbox/features/follow_recommendations/components/account.js b/app/soapbox/features/follow_recommendations/components/account.js
index f8a13c7b8..bca3c8400 100644
--- a/app/soapbox/features/follow_recommendations/components/account.js
+++ b/app/soapbox/features/follow_recommendations/components/account.js
@@ -3,6 +3,7 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { connect } from 'react-redux';
+
import Avatar from 'soapbox/components/avatar';
import DisplayName from 'soapbox/components/display_name';
import Permalink from 'soapbox/components/permalink';
diff --git a/app/soapbox/features/follow_recommendations/components/follow_recommendations_container.js b/app/soapbox/features/follow_recommendations/components/follow_recommendations_container.js
index 757902983..0fe648dca 100644
--- a/app/soapbox/features/follow_recommendations/components/follow_recommendations_container.js
+++ b/app/soapbox/features/follow_recommendations/components/follow_recommendations_container.js
@@ -1,7 +1,9 @@
import PropTypes from 'prop-types';
import React from 'react';
import { FormattedMessage } from 'react-intl';
+
import Button from 'soapbox/components/button';
+
import FollowRecommendationsList from './follow_recommendations_list';
export default class FollowRecommendationsContainer extends React.Component {
diff --git a/app/soapbox/features/follow_recommendations/components/follow_recommendations_list.js b/app/soapbox/features/follow_recommendations/components/follow_recommendations_list.js
index 6f5fbbd61..63175786b 100644
--- a/app/soapbox/features/follow_recommendations/components/follow_recommendations_list.js
+++ b/app/soapbox/features/follow_recommendations/components/follow_recommendations_list.js
@@ -4,8 +4,10 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
+
import { fetchSuggestions } from 'soapbox/actions/suggestions';
import LoadingIndicator from 'soapbox/components/loading_indicator';
+
import Account from './account';
const mapStateToProps = state => ({
diff --git a/app/soapbox/features/follow_recommendations/index.js b/app/soapbox/features/follow_recommendations/index.js
index 2b7437433..5941f1f97 100644
--- a/app/soapbox/features/follow_recommendations/index.js
+++ b/app/soapbox/features/follow_recommendations/index.js
@@ -1,6 +1,8 @@
import PropTypes from 'prop-types';
import React from 'react';
+
import Column from 'soapbox/features/ui/components/column';
+
import FollowRecommendationsContainer from './components/follow_recommendations_container';
export default class FollowRecommendations extends React.Component {
diff --git a/app/soapbox/features/follow_requests/components/account_authorize.js b/app/soapbox/features/follow_requests/components/account_authorize.js
index 2edd8e763..8dd6a9252 100644
--- a/app/soapbox/features/follow_requests/components/account_authorize.js
+++ b/app/soapbox/features/follow_requests/components/account_authorize.js
@@ -3,6 +3,7 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl } from 'react-intl';
+
import Avatar from '../../../components/avatar';
import DisplayName from '../../../components/display_name';
import IconButton from '../../../components/icon_button';
diff --git a/app/soapbox/features/follow_requests/containers/account_authorize_container.js b/app/soapbox/features/follow_requests/containers/account_authorize_container.js
index 8245623af..cf38b3c69 100644
--- a/app/soapbox/features/follow_requests/containers/account_authorize_container.js
+++ b/app/soapbox/features/follow_requests/containers/account_authorize_container.js
@@ -1,4 +1,5 @@
import { connect } from 'react-redux';
+
import { authorizeFollowRequest, rejectFollowRequest } from '../../../actions/accounts';
import { makeGetAccount } from '../../../selectors';
import AccountAuthorize from '../components/account_authorize';
diff --git a/app/soapbox/features/follow_requests/index.js b/app/soapbox/features/follow_requests/index.js
index a41650914..49fd31793 100644
--- a/app/soapbox/features/follow_requests/index.js
+++ b/app/soapbox/features/follow_requests/index.js
@@ -5,10 +5,12 @@ 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 { fetchFollowRequests, expandFollowRequests } from '../../actions/accounts';
import LoadingIndicator from '../../components/loading_indicator';
import ScrollableList from '../../components/scrollable_list';
import Column from '../ui/components/column';
+
import AccountAuthorizeContainer from './containers/account_authorize_container';
const messages = defineMessages({
diff --git a/app/soapbox/features/followers/index.js b/app/soapbox/features/followers/index.js
index db8562a35..be3336fd0 100644
--- a/app/soapbox/features/followers/index.js
+++ b/app/soapbox/features/followers/index.js
@@ -5,9 +5,11 @@ 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 MissingIndicator from 'soapbox/components/missing_indicator';
import { findAccountByUsername } from 'soapbox/selectors';
import { getFollowDifference } from 'soapbox/utils/accounts';
+
import {
fetchAccount,
fetchFollowers,
diff --git a/app/soapbox/features/following/index.js b/app/soapbox/features/following/index.js
index baf4b76be..da1a0beb9 100644
--- a/app/soapbox/features/following/index.js
+++ b/app/soapbox/features/following/index.js
@@ -5,9 +5,11 @@ 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 MissingIndicator from 'soapbox/components/missing_indicator';
import { findAccountByUsername } from 'soapbox/selectors';
import { getFollowDifference } from 'soapbox/utils/accounts';
+
import {
fetchAccount,
fetchFollowing,
diff --git a/app/soapbox/features/forms/__tests__/forms-test.js b/app/soapbox/features/forms/__tests__/forms-test.js
index 881f6f053..566e87c0f 100644
--- a/app/soapbox/features/forms/__tests__/forms-test.js
+++ b/app/soapbox/features/forms/__tests__/forms-test.js
@@ -1,5 +1,6 @@
import React from 'react';
import renderer from 'react-test-renderer';
+
import {
InputContainer,
SimpleInput,
diff --git a/app/soapbox/features/generic_not_found/index.js b/app/soapbox/features/generic_not_found/index.js
index 6e2b710f3..4c45a1359 100644
--- a/app/soapbox/features/generic_not_found/index.js
+++ b/app/soapbox/features/generic_not_found/index.js
@@ -1,4 +1,5 @@
import React from 'react';
+
import MissingIndicator from '../../components/missing_indicator';
import Column from '../ui/components/column';
diff --git a/app/soapbox/features/groups/create/index.js b/app/soapbox/features/groups/create/index.js
index 2e9597921..271ac8402 100644
--- a/app/soapbox/features/groups/create/index.js
+++ b/app/soapbox/features/groups/create/index.js
@@ -3,6 +3,7 @@ import PropTypes from 'prop-types';
import React from 'react';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import { changeValue, submit, reset } from '../../../actions/group_editor';
const messages = defineMessages({
diff --git a/app/soapbox/features/groups/edit/index.js b/app/soapbox/features/groups/edit/index.js
index 0cdb4742d..16a691bd6 100644
--- a/app/soapbox/features/groups/edit/index.js
+++ b/app/soapbox/features/groups/edit/index.js
@@ -4,7 +4,9 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import MissingIndicator from 'soapbox/components/missing_indicator';
+
import { changeValue, submit, setUp } from '../../../actions/group_editor';
import Column from '../../../components/column';
import LoadingIndicator from '../../../components/loading_indicator';
diff --git a/app/soapbox/features/groups/index/card.js b/app/soapbox/features/groups/index/card.js
index 5245863cc..0632a053e 100644
--- a/app/soapbox/features/groups/index/card.js
+++ b/app/soapbox/features/groups/index/card.js
@@ -4,6 +4,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
+
import { shortNumberFormat } from '../../../utils/numbers';
const messages = defineMessages({
diff --git a/app/soapbox/features/groups/index/index.js b/app/soapbox/features/groups/index/index.js
index aca919183..13be53b13 100644
--- a/app/soapbox/features/groups/index/index.js
+++ b/app/soapbox/features/groups/index/index.js
@@ -6,8 +6,10 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
+
import { fetchGroups } from '../../../actions/groups';
import GroupCreate from '../create';
+
import GroupCard from './card';
const messages = defineMessages({
diff --git a/app/soapbox/features/groups/members/index.js b/app/soapbox/features/groups/members/index.js
index c380b7793..2ab6383aa 100644
--- a/app/soapbox/features/groups/members/index.js
+++ b/app/soapbox/features/groups/members/index.js
@@ -5,6 +5,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
+
import {
fetchMembers,
expandMembers,
diff --git a/app/soapbox/features/groups/removed_accounts/index.js b/app/soapbox/features/groups/removed_accounts/index.js
index 4b0be3c33..8e0d129e6 100644
--- a/app/soapbox/features/groups/removed_accounts/index.js
+++ b/app/soapbox/features/groups/removed_accounts/index.js
@@ -6,6 +6,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { FormattedMessage } from 'react-intl';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import {
fetchRemovedAccounts,
expandRemovedAccounts,
diff --git a/app/soapbox/features/groups/sidebar_panel/index.js b/app/soapbox/features/groups/sidebar_panel/index.js
index 5d692f7ae..088fbee73 100644
--- a/app/soapbox/features/groups/sidebar_panel/index.js
+++ b/app/soapbox/features/groups/sidebar_panel/index.js
@@ -4,7 +4,9 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
+
import Icon from 'soapbox/components/icon';
+
import Item from './item';
const messages = defineMessages({
diff --git a/app/soapbox/features/groups/sidebar_panel/item.js b/app/soapbox/features/groups/sidebar_panel/item.js
index d3b666b55..40ed8d421 100644
--- a/app/soapbox/features/groups/sidebar_panel/item.js
+++ b/app/soapbox/features/groups/sidebar_panel/item.js
@@ -4,6 +4,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
+
import { shortNumberFormat } from '../../../utils/numbers';
const messages = defineMessages({
diff --git a/app/soapbox/features/groups/timeline/components/header.js b/app/soapbox/features/groups/timeline/components/header.js
index c08fe6028..1b1faa08f 100644
--- a/app/soapbox/features/groups/timeline/components/header.js
+++ b/app/soapbox/features/groups/timeline/components/header.js
@@ -4,7 +4,9 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl } from 'react-intl';
import { NavLink } from 'react-router-dom';
+
import Button from 'soapbox/components/button';
+
import DropdownMenuContainer from '../../../../containers/dropdown_menu_container';
const messages = defineMessages({
diff --git a/app/soapbox/features/groups/timeline/components/panel.js b/app/soapbox/features/groups/timeline/components/panel.js
index 6505c2534..9009bf33e 100644
--- a/app/soapbox/features/groups/timeline/components/panel.js
+++ b/app/soapbox/features/groups/timeline/components/panel.js
@@ -2,6 +2,7 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { injectIntl, defineMessages } from 'react-intl';
+
import Icon from 'soapbox/components/icon';
const messages = defineMessages({
diff --git a/app/soapbox/features/groups/timeline/containers/header_container.js b/app/soapbox/features/groups/timeline/containers/header_container.js
index e8511aa23..bce37c3a9 100644
--- a/app/soapbox/features/groups/timeline/containers/header_container.js
+++ b/app/soapbox/features/groups/timeline/containers/header_container.js
@@ -1,4 +1,5 @@
import { connect } from 'react-redux';
+
import { joinGroup, leaveGroup } from '../../../../actions/groups';
import Header from '../components/header';
diff --git a/app/soapbox/features/groups/timeline/index.js b/app/soapbox/features/groups/timeline/index.js
index ad1ff16fe..be58f51cd 100644
--- a/app/soapbox/features/groups/timeline/index.js
+++ b/app/soapbox/features/groups/timeline/index.js
@@ -4,6 +4,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import { FormattedMessage, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
+
import ComposeFormContainer from '../../../../soapbox/features/compose/containers/compose_form_container';
import { connectGroupStream } from '../../../actions/streaming';
import { expandGroupTimeline } from '../../../actions/timelines';
diff --git a/app/soapbox/features/hashtag_timeline/index.js b/app/soapbox/features/hashtag_timeline/index.js
index 6f5b13086..ac4dfa2d8 100644
--- a/app/soapbox/features/hashtag_timeline/index.js
+++ b/app/soapbox/features/hashtag_timeline/index.js
@@ -3,6 +3,7 @@ import PropTypes from 'prop-types';
import React from 'react';
import { FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
+
import { connectHashtagStream } from '../../actions/streaming';
import { expandHashtagTimeline, clearTimeline } from '../../actions/timelines';
import Column from '../../components/column';
diff --git a/app/soapbox/features/home_timeline/components/column_settings.js b/app/soapbox/features/home_timeline/components/column_settings.js
index ea90bb4ae..78ca71919 100644
--- a/app/soapbox/features/home_timeline/components/column_settings.js
+++ b/app/soapbox/features/home_timeline/components/column_settings.js
@@ -2,7 +2,9 @@ import PropTypes from 'prop-types';
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { injectIntl, defineMessages, FormattedMessage } from 'react-intl';
+
import IconButton from 'soapbox/components/icon_button';
+
import SettingToggle from '../../notifications/components/setting_toggle';
const messages = defineMessages({
diff --git a/app/soapbox/features/home_timeline/containers/column_settings_container.js b/app/soapbox/features/home_timeline/containers/column_settings_container.js
index 551f90604..0bcbafae8 100644
--- a/app/soapbox/features/home_timeline/containers/column_settings_container.js
+++ b/app/soapbox/features/home_timeline/containers/column_settings_container.js
@@ -1,4 +1,5 @@
import { connect } from 'react-redux';
+
import {
getSettings,
changeSetting,
diff --git a/app/soapbox/features/home_timeline/index.js b/app/soapbox/features/home_timeline/index.js
index 15e4b1b6e..2eb1a49f3 100644
--- a/app/soapbox/features/home_timeline/index.js
+++ b/app/soapbox/features/home_timeline/index.js
@@ -4,8 +4,10 @@ import React from 'react';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
+
import BundleContainer from 'soapbox/features/ui/containers/bundle_container';
import { getFeatures } from 'soapbox/utils/features';
+
import { expandHomeTimeline } from '../../actions/timelines';
import Column from '../../components/column';
import StatusListContainer from '../ui/containers/status_list_container';
diff --git a/app/soapbox/features/import_data/components/csv_importer.js b/app/soapbox/features/import_data/components/csv_importer.js
index 4e931074d..c0cc0114f 100644
--- a/app/soapbox/features/import_data/components/csv_importer.js
+++ b/app/soapbox/features/import_data/components/csv_importer.js
@@ -3,6 +3,7 @@ import React from 'react';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import {
SimpleInput,
SimpleForm,
diff --git a/app/soapbox/features/import_data/index.js b/app/soapbox/features/import_data/index.js
index c025f4b97..5ca07e832 100644
--- a/app/soapbox/features/import_data/index.js
+++ b/app/soapbox/features/import_data/index.js
@@ -3,13 +3,16 @@ import React from 'react';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import {
importFollows,
importBlocks,
importMutes,
} from 'soapbox/actions/import_data';
import { getFeatures } from 'soapbox/utils/features';
+
import Column from '../ui/components/column';
+
import CSVImporter from './components/csv_importer';
const messages = defineMessages({
diff --git a/app/soapbox/features/introduction/index.js b/app/soapbox/features/introduction/index.js
index 87efeda23..45af64e0c 100644
--- a/app/soapbox/features/introduction/index.js
+++ b/app/soapbox/features/introduction/index.js
@@ -4,6 +4,7 @@ import React from 'react';
import { FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
import ReactSwipeableViews from 'react-swipeable-views';
+
import { closeOnboarding } from '../../actions/onboarding';
const FrameWelcome = ({ domain, onNext }) => (
diff --git a/app/soapbox/features/landing_page/index.js b/app/soapbox/features/landing_page/index.js
index 474b03380..463412557 100644
--- a/app/soapbox/features/landing_page/index.js
+++ b/app/soapbox/features/landing_page/index.js
@@ -3,6 +3,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
+
import RegistrationForm from '../auth_login/components/registration_form';
import SiteBanner from '../public_layout/components/site_banner';
diff --git a/app/soapbox/features/list_adder/components/account.js b/app/soapbox/features/list_adder/components/account.js
index 3c00369f1..bbf792d17 100644
--- a/app/soapbox/features/list_adder/components/account.js
+++ b/app/soapbox/features/list_adder/components/account.js
@@ -3,6 +3,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import Avatar from '../../../components/avatar';
import DisplayName from '../../../components/display_name';
import { makeGetAccount } from '../../../selectors';
diff --git a/app/soapbox/features/list_adder/components/list.js b/app/soapbox/features/list_adder/components/list.js
index aa6968bcc..d9b23ec3e 100644
--- a/app/soapbox/features/list_adder/components/list.js
+++ b/app/soapbox/features/list_adder/components/list.js
@@ -4,7 +4,9 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import Icon from 'soapbox/components/icon';
+
import { removeFromListAdder, addToListAdder } from '../../../actions/lists';
import IconButton from '../../../components/icon_button';
diff --git a/app/soapbox/features/list_adder/index.js b/app/soapbox/features/list_adder/index.js
index 67a32b306..3283ac04f 100644
--- a/app/soapbox/features/list_adder/index.js
+++ b/app/soapbox/features/list_adder/index.js
@@ -5,10 +5,13 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
import { createSelector } from 'reselect';
+
import IconButton from 'soapbox/components/icon_button';
+
import { setupListAdder, resetListAdder } from '../../actions/lists';
import NewListForm from '../lists/components/new_list_form';
import ColumnSubheading from '../ui/components/column_subheading';
+
import Account from './components/account';
import List from './components/list';
// hack
diff --git a/app/soapbox/features/list_editor/components/account.js b/app/soapbox/features/list_editor/components/account.js
index 134e82b16..eee56b97a 100644
--- a/app/soapbox/features/list_editor/components/account.js
+++ b/app/soapbox/features/list_editor/components/account.js
@@ -4,6 +4,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import { removeFromListEditor, addToListEditor } from '../../../actions/lists';
import Avatar from '../../../components/avatar';
import DisplayName from '../../../components/display_name';
diff --git a/app/soapbox/features/list_editor/components/edit_list_form.js b/app/soapbox/features/list_editor/components/edit_list_form.js
index 6d0886c2b..c0f893ff8 100644
--- a/app/soapbox/features/list_editor/components/edit_list_form.js
+++ b/app/soapbox/features/list_editor/components/edit_list_form.js
@@ -2,6 +2,7 @@ import PropTypes from 'prop-types';
import React from 'react';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import { changeListEditorTitle, submitListEditor } from '../../../actions/lists';
import Button from '../../../components/button';
diff --git a/app/soapbox/features/list_editor/components/search.js b/app/soapbox/features/list_editor/components/search.js
index dee15ea80..e644acd37 100644
--- a/app/soapbox/features/list_editor/components/search.js
+++ b/app/soapbox/features/list_editor/components/search.js
@@ -3,8 +3,10 @@ import PropTypes from 'prop-types';
import React from 'react';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import Button from 'soapbox/components/button';
import Icon from 'soapbox/components/icon';
+
import { fetchListSuggestions, clearListSuggestions, changeListSuggestions } from '../../../actions/lists';
const messages = defineMessages({
diff --git a/app/soapbox/features/list_editor/index.js b/app/soapbox/features/list_editor/index.js
index 8fc973ef1..0dad99ee8 100644
--- a/app/soapbox/features/list_editor/index.js
+++ b/app/soapbox/features/list_editor/index.js
@@ -4,9 +4,12 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { injectIntl, defineMessages } from 'react-intl';
import { connect } from 'react-redux';
+
import IconButton from 'soapbox/components/icon_button';
+
import { setupListEditor, clearListSuggestions, resetListEditor } from '../../actions/lists';
import ColumnSubheading from '../ui/components/column_subheading';
+
import Account from './components/account';
import EditListForm from './components/edit_list_form';
import Search from './components/search';
diff --git a/app/soapbox/features/list_timeline/index.js b/app/soapbox/features/list_timeline/index.js
index 898006e0b..01d3de38f 100644
--- a/app/soapbox/features/list_timeline/index.js
+++ b/app/soapbox/features/list_timeline/index.js
@@ -3,8 +3,10 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { FormattedMessage, defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import Button from 'soapbox/components/button';
import Column from 'soapbox/features/ui/components/column';
+
import { fetchList, deleteList } from '../../actions/lists';
import { openModal } from '../../actions/modal';
import { connectListStream } from '../../actions/streaming';
diff --git a/app/soapbox/features/lists/components/new_list_form.js b/app/soapbox/features/lists/components/new_list_form.js
index 790feee92..717bc757e 100644
--- a/app/soapbox/features/lists/components/new_list_form.js
+++ b/app/soapbox/features/lists/components/new_list_form.js
@@ -2,6 +2,7 @@ import PropTypes from 'prop-types';
import React from 'react';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import { changeListEditorTitle, submitListEditor } from '../../../actions/lists';
import Button from '../../../components/button';
diff --git a/app/soapbox/features/lists/index.js b/app/soapbox/features/lists/index.js
index f665fc97f..8e619869c 100644
--- a/app/soapbox/features/lists/index.js
+++ b/app/soapbox/features/lists/index.js
@@ -5,12 +5,14 @@ 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 '../../actions/lists';
import LoadingIndicator from '../../components/loading_indicator';
import ScrollableList from '../../components/scrollable_list';
import Column from '../ui/components/column';
import ColumnLink from '../ui/components/column_link';
import ColumnSubheading from '../ui/components/column_subheading';
+
import NewListForm from './components/new_list_form';
const messages = defineMessages({
diff --git a/app/soapbox/features/mutes/index.js b/app/soapbox/features/mutes/index.js
index 941d9d2eb..39b0b63f6 100644
--- a/app/soapbox/features/mutes/index.js
+++ b/app/soapbox/features/mutes/index.js
@@ -5,6 +5,7 @@ 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 { fetchMutes, expandMutes } from '../../actions/mutes';
import LoadingIndicator from '../../components/loading_indicator';
import ScrollableList from '../../components/scrollable_list';
diff --git a/app/soapbox/features/new_status/index.js b/app/soapbox/features/new_status/index.js
index b0023ca76..941cd296b 100644
--- a/app/soapbox/features/new_status/index.js
+++ b/app/soapbox/features/new_status/index.js
@@ -2,6 +2,7 @@ import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
import { Redirect } from 'react-router-dom';
+
import { openModal } from '../../actions/modal';
const mapDispatchToProps = dispatch => ({
diff --git a/app/soapbox/features/notifications/components/clear_column_button.js b/app/soapbox/features/notifications/components/clear_column_button.js
index 4113e6dab..ebb27cfbe 100644
--- a/app/soapbox/features/notifications/components/clear_column_button.js
+++ b/app/soapbox/features/notifications/components/clear_column_button.js
@@ -1,6 +1,7 @@
import PropTypes from 'prop-types';
import React from 'react';
import { FormattedMessage } from 'react-intl';
+
import Icon from 'soapbox/components/icon';
export default class ClearColumnButton extends React.PureComponent {
diff --git a/app/soapbox/features/notifications/components/column_settings.js b/app/soapbox/features/notifications/components/column_settings.js
index 8c584710c..e033eb6be 100644
--- a/app/soapbox/features/notifications/components/column_settings.js
+++ b/app/soapbox/features/notifications/components/column_settings.js
@@ -2,7 +2,9 @@ import PropTypes from 'prop-types';
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { injectIntl, defineMessages, FormattedMessage } from 'react-intl';
+
import IconButton from 'soapbox/components/icon_button';
+
import ClearColumnButton from './clear_column_button';
import MultiSettingToggle from './multi_setting_toggle';
import SettingToggle from './setting_toggle';
diff --git a/app/soapbox/features/notifications/components/filter_bar.js b/app/soapbox/features/notifications/components/filter_bar.js
index 65a1354e3..a95574036 100644
--- a/app/soapbox/features/notifications/components/filter_bar.js
+++ b/app/soapbox/features/notifications/components/filter_bar.js
@@ -1,6 +1,7 @@
import PropTypes from 'prop-types';
import React from 'react';
import { defineMessages, injectIntl } from 'react-intl';
+
import FilterBar from 'soapbox/components/filter_bar';
import Icon from 'soapbox/components/icon';
diff --git a/app/soapbox/features/notifications/components/follow_request.js b/app/soapbox/features/notifications/components/follow_request.js
index bebbe9ab9..2a2e79269 100644
--- a/app/soapbox/features/notifications/components/follow_request.js
+++ b/app/soapbox/features/notifications/components/follow_request.js
@@ -3,6 +3,7 @@ import React, { Fragment } from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl } from 'react-intl';
+
import Avatar from 'soapbox/components/avatar';
import DisplayName from 'soapbox/components/display_name';
import IconButton from 'soapbox/components/icon_button';
diff --git a/app/soapbox/features/notifications/components/notification.js b/app/soapbox/features/notifications/components/notification.js
index ef72bb8ed..9f1598e24 100644
--- a/app/soapbox/features/notifications/components/notification.js
+++ b/app/soapbox/features/notifications/components/notification.js
@@ -5,8 +5,10 @@ import { HotKeys } from 'react-hotkeys';
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { injectIntl, FormattedMessage } from 'react-intl';
+
import Icon from 'soapbox/components/icon';
import emojify from 'soapbox/features/emoji/emoji';
+
import Permalink from '../../../components/permalink';
import AccountContainer from '../../../containers/account_container';
import StatusContainer from '../../../containers/status_container';
diff --git a/app/soapbox/features/notifications/containers/column_settings_container.js b/app/soapbox/features/notifications/containers/column_settings_container.js
index e1eaf9abb..da37f306f 100644
--- a/app/soapbox/features/notifications/containers/column_settings_container.js
+++ b/app/soapbox/features/notifications/containers/column_settings_container.js
@@ -1,6 +1,8 @@
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import { getFeatures } from 'soapbox/utils/features';
+
import { openModal } from '../../../actions/modal';
import { setFilter } from '../../../actions/notifications';
import { clearNotifications } from '../../../actions/notifications';
diff --git a/app/soapbox/features/notifications/containers/filter_bar_container.js b/app/soapbox/features/notifications/containers/filter_bar_container.js
index 7e19b75d0..82805136a 100644
--- a/app/soapbox/features/notifications/containers/filter_bar_container.js
+++ b/app/soapbox/features/notifications/containers/filter_bar_container.js
@@ -1,6 +1,8 @@
import { connect } from 'react-redux';
+
import { getSettings } from 'soapbox/actions/settings';
import { getFeatures } from 'soapbox/utils/features';
+
import { setFilter } from '../../../actions/notifications';
import FilterBar from '../components/filter_bar';
diff --git a/app/soapbox/features/notifications/containers/follow_request_container.js b/app/soapbox/features/notifications/containers/follow_request_container.js
index 65d074764..c793ac3de 100644
--- a/app/soapbox/features/notifications/containers/follow_request_container.js
+++ b/app/soapbox/features/notifications/containers/follow_request_container.js
@@ -1,6 +1,8 @@
import { connect } from 'react-redux';
+
import { authorizeFollowRequest, rejectFollowRequest } from 'soapbox/actions/accounts';
import { makeGetAccount } from 'soapbox/selectors';
+
import FollowRequest from '../components/follow_request';
const makeMapStateToProps = () => {
diff --git a/app/soapbox/features/notifications/containers/notification_container.js b/app/soapbox/features/notifications/containers/notification_container.js
index 20780407d..8b061fba2 100644
--- a/app/soapbox/features/notifications/containers/notification_container.js
+++ b/app/soapbox/features/notifications/containers/notification_container.js
@@ -1,5 +1,7 @@
import { connect } from 'react-redux';
+
import { getSettings } from 'soapbox/actions/settings';
+
import { mentionCompose } from '../../../actions/compose';
import {
reblog,
diff --git a/app/soapbox/features/notifications/index.js b/app/soapbox/features/notifications/index.js
index 28f1e3fd8..b174d776e 100644
--- a/app/soapbox/features/notifications/index.js
+++ b/app/soapbox/features/notifications/index.js
@@ -6,9 +6,11 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
import { createSelector } from 'reselect';
+
import { getSettings } from 'soapbox/actions/settings';
import SubNavigation from 'soapbox/components/sub_navigation';
import PlaceholderNotification from 'soapbox/features/placeholder/components/placeholder_notification';
+
import {
expandNotifications,
scrollTopNotifications,
@@ -18,6 +20,7 @@ import Column from '../../components/column';
import LoadGap from '../../components/load_gap';
import ScrollableList from '../../components/scrollable_list';
import TimelineQueueButtonHeader from '../../components/timeline_queue_button_header';
+
import ColumnSettingsContainer from './containers/column_settings_container';
import FilterBarContainer from './containers/filter_bar_container';
import NotificationContainer from './containers/notification_container';
diff --git a/app/soapbox/features/pinned_statuses/index.js b/app/soapbox/features/pinned_statuses/index.js
index 0a74a1212..9309d24e2 100644
--- a/app/soapbox/features/pinned_statuses/index.js
+++ b/app/soapbox/features/pinned_statuses/index.js
@@ -4,7 +4,9 @@ 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 MissingIndicator from 'soapbox/components/missing_indicator';
+
import { fetchPinnedStatuses } from '../../actions/pin_statuses';
import StatusList from '../../components/status_list';
import Column from '../ui/components/column';
diff --git a/app/soapbox/features/placeholder/components/placeholder_account.js b/app/soapbox/features/placeholder/components/placeholder_account.js
index 95771ec8a..4d638046b 100644
--- a/app/soapbox/features/placeholder/components/placeholder_account.js
+++ b/app/soapbox/features/placeholder/components/placeholder_account.js
@@ -1,4 +1,5 @@
import React from 'react';
+
import PlaceholderAvatar from './placeholder_avatar';
import PlaceholderDisplayName from './placeholder_display_name';
diff --git a/app/soapbox/features/placeholder/components/placeholder_card.js b/app/soapbox/features/placeholder/components/placeholder_card.js
index 81df75492..4f2a67c13 100644
--- a/app/soapbox/features/placeholder/components/placeholder_card.js
+++ b/app/soapbox/features/placeholder/components/placeholder_card.js
@@ -1,4 +1,5 @@
import React from 'react';
+
import { randomIntFromInterval, generateText } from '../utils';
export default class PlaceholderCard extends React.Component {
diff --git a/app/soapbox/features/placeholder/components/placeholder_chat.js b/app/soapbox/features/placeholder/components/placeholder_chat.js
index c96c5fa15..a3763b416 100644
--- a/app/soapbox/features/placeholder/components/placeholder_chat.js
+++ b/app/soapbox/features/placeholder/components/placeholder_chat.js
@@ -1,5 +1,7 @@
import React from 'react';
+
import { randomIntFromInterval, generateText } from '../utils';
+
import PlaceholderAvatar from './placeholder_avatar';
import PlaceholderDisplayName from './placeholder_display_name';
diff --git a/app/soapbox/features/placeholder/components/placeholder_display_name.js b/app/soapbox/features/placeholder/components/placeholder_display_name.js
index 8958c36da..8278297c9 100644
--- a/app/soapbox/features/placeholder/components/placeholder_display_name.js
+++ b/app/soapbox/features/placeholder/components/placeholder_display_name.js
@@ -1,5 +1,6 @@
import PropTypes from 'prop-types';
import React from 'react';
+
import { randomIntFromInterval, generateText } from '../utils';
export default class DisplayName extends React.Component {
diff --git a/app/soapbox/features/placeholder/components/placeholder_hashtag.js b/app/soapbox/features/placeholder/components/placeholder_hashtag.js
index 66f11a479..81c788238 100644
--- a/app/soapbox/features/placeholder/components/placeholder_hashtag.js
+++ b/app/soapbox/features/placeholder/components/placeholder_hashtag.js
@@ -1,4 +1,5 @@
import React from 'react';
+
import { generateText, randomIntFromInterval } from '../utils';
export default class PlaceholderHashtag extends React.Component {
diff --git a/app/soapbox/features/placeholder/components/placeholder_material_status.js b/app/soapbox/features/placeholder/components/placeholder_material_status.js
index f55d9d086..3199d42aa 100644
--- a/app/soapbox/features/placeholder/components/placeholder_material_status.js
+++ b/app/soapbox/features/placeholder/components/placeholder_material_status.js
@@ -1,4 +1,5 @@
import React from 'react';
+
import PlaceholderStatus from './placeholder_status';
export default class PlaceholderMaterialStatus extends React.Component {
diff --git a/app/soapbox/features/placeholder/components/placeholder_notification.js b/app/soapbox/features/placeholder/components/placeholder_notification.js
index b6a918eb9..aea226c4d 100644
--- a/app/soapbox/features/placeholder/components/placeholder_notification.js
+++ b/app/soapbox/features/placeholder/components/placeholder_notification.js
@@ -1,5 +1,7 @@
import React from 'react';
+
import { randomIntFromInterval, generateText } from '../utils';
+
import PlaceholderAccount from './placeholder_account';
export default class PlaceholderNotification extends React.Component {
diff --git a/app/soapbox/features/placeholder/components/placeholder_status.js b/app/soapbox/features/placeholder/components/placeholder_status.js
index 1fea821ca..52346f1e4 100644
--- a/app/soapbox/features/placeholder/components/placeholder_status.js
+++ b/app/soapbox/features/placeholder/components/placeholder_status.js
@@ -1,4 +1,5 @@
import React from 'react';
+
import PlaceholderAvatar from './placeholder_avatar';
import PlaceholderDisplayName from './placeholder_display_name';
import PlaceholderStatusContent from './placeholder_status_content';
diff --git a/app/soapbox/features/placeholder/components/placeholder_status_content.js b/app/soapbox/features/placeholder/components/placeholder_status_content.js
index ea7b5cb9b..02d2bb206 100644
--- a/app/soapbox/features/placeholder/components/placeholder_status_content.js
+++ b/app/soapbox/features/placeholder/components/placeholder_status_content.js
@@ -1,5 +1,6 @@
import PropTypes from 'prop-types';
import React from 'react';
+
import { randomIntFromInterval, generateText } from '../utils';
export default class PlaceholderStatusContent extends React.Component {
diff --git a/app/soapbox/features/preferences/index.js b/app/soapbox/features/preferences/index.js
index 81278fd16..4cf74d702 100644
--- a/app/soapbox/features/preferences/index.js
+++ b/app/soapbox/features/preferences/index.js
@@ -4,6 +4,7 @@ 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 { getSettings, changeSetting } from 'soapbox/actions/settings';
import SettingsCheckbox from 'soapbox/components/settings_checkbox';
import {
@@ -15,6 +16,7 @@ import {
} from 'soapbox/features/forms';
import SettingToggle from 'soapbox/features/notifications/components/setting_toggle';
import { getFeatures } from 'soapbox/utils/features';
+
import Column from '../ui/components/column';
export const languages = {
diff --git a/app/soapbox/features/public_layout/components/footer.js b/app/soapbox/features/public_layout/components/footer.js
index 9d525cee7..2290276a5 100644
--- a/app/soapbox/features/public_layout/components/footer.js
+++ b/app/soapbox/features/public_layout/components/footer.js
@@ -5,6 +5,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
+
import { getSettings } from 'soapbox/actions/settings';
import { getSoapboxConfig } from 'soapbox/actions/soapbox';
diff --git a/app/soapbox/features/public_layout/components/header.js b/app/soapbox/features/public_layout/components/header.js
index 92a5badf8..2cb003b84 100644
--- a/app/soapbox/features/public_layout/components/header.js
+++ b/app/soapbox/features/public_layout/components/header.js
@@ -5,12 +5,14 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
+
import { logIn, verifyCredentials } from 'soapbox/actions/auth';
import { fetchInstance } from 'soapbox/actions/instance';
import IconButton from 'soapbox/components/icon_button';
import LoginForm from 'soapbox/features/auth_login/components/login_form';
import OtpAuthForm from 'soapbox/features/auth_login/components/otp_auth_form';
import SoapboxPropTypes from 'soapbox/utils/soapbox_prop_types';
+
import SiteLogo from './site_logo';
const messages = defineMessages({
diff --git a/app/soapbox/features/public_layout/components/site_banner.js b/app/soapbox/features/public_layout/components/site_banner.js
index 07c71a51a..cdf685a9d 100644
--- a/app/soapbox/features/public_layout/components/site_banner.js
+++ b/app/soapbox/features/public_layout/components/site_banner.js
@@ -1,6 +1,7 @@
import React from 'react';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { connect } from 'react-redux';
+
import { getSoapboxConfig } from 'soapbox/actions/soapbox';
const mapStateToProps = (state, props) => ({
diff --git a/app/soapbox/features/public_layout/components/site_logo.js b/app/soapbox/features/public_layout/components/site_logo.js
index 2bdb9ae9c..0ee382e7b 100644
--- a/app/soapbox/features/public_layout/components/site_logo.js
+++ b/app/soapbox/features/public_layout/components/site_logo.js
@@ -1,6 +1,7 @@
import React from 'react';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { connect } from 'react-redux';
+
import { getSoapboxConfig } from 'soapbox/actions/soapbox';
const mapStateToProps = (state, props) => ({
diff --git a/app/soapbox/features/public_layout/index.js b/app/soapbox/features/public_layout/index.js
index 96896ac08..19d83e3b9 100644
--- a/app/soapbox/features/public_layout/index.js
+++ b/app/soapbox/features/public_layout/index.js
@@ -2,6 +2,7 @@ import React from 'react';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { connect } from 'react-redux';
import { Switch, Route, Redirect } from 'react-router-dom';
+
import { getSoapboxConfig } from 'soapbox/actions/soapbox';
import BundleContainer from 'soapbox/features/ui/containers/bundle_container';
import {
@@ -9,8 +10,10 @@ import {
ModalContainer,
} from 'soapbox/features/ui/util/async-components';
import { isStandalone } from 'soapbox/utils/state';
+
import AboutPage from '../about';
import LandingPage from '../landing_page';
+
import Footer from './components/footer';
import Header from './components/header';
diff --git a/app/soapbox/features/public_timeline/components/column_settings.js b/app/soapbox/features/public_timeline/components/column_settings.js
index c980bf412..a2b2ca6f8 100644
--- a/app/soapbox/features/public_timeline/components/column_settings.js
+++ b/app/soapbox/features/public_timeline/components/column_settings.js
@@ -2,7 +2,9 @@ import PropTypes from 'prop-types';
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { injectIntl, defineMessages, FormattedMessage } from 'react-intl';
+
import IconButton from 'soapbox/components/icon_button';
+
import SettingToggle from '../../notifications/components/setting_toggle';
const messages = defineMessages({
diff --git a/app/soapbox/features/public_timeline/containers/column_settings_container.js b/app/soapbox/features/public_timeline/containers/column_settings_container.js
index 3bf4cba70..63a629007 100644
--- a/app/soapbox/features/public_timeline/containers/column_settings_container.js
+++ b/app/soapbox/features/public_timeline/containers/column_settings_container.js
@@ -1,4 +1,5 @@
import { connect } from 'react-redux';
+
import { getSettings, changeSetting } from '../../../actions/settings';
import ColumnSettings from '../components/column_settings';
diff --git a/app/soapbox/features/public_timeline/index.js b/app/soapbox/features/public_timeline/index.js
index c3e488deb..224151b17 100644
--- a/app/soapbox/features/public_timeline/index.js
+++ b/app/soapbox/features/public_timeline/index.js
@@ -3,14 +3,17 @@ import React from 'react';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
+
import { changeSetting, getSettings } from 'soapbox/actions/settings';
import SubNavigation from 'soapbox/components/sub_navigation';
import Accordion from 'soapbox/features/ui/components/accordion';
+
import { connectPublicStream } from '../../actions/streaming';
import { expandPublicTimeline } from '../../actions/timelines';
import Column from '../../components/column';
import PinnedHostsPicker from '../remote_timeline/components/pinned_hosts_picker';
import StatusListContainer from '../ui/containers/status_list_container';
+
import ColumnSettings from './containers/column_settings_container';
const messages = defineMessages({
diff --git a/app/soapbox/features/register_invite/index.js b/app/soapbox/features/register_invite/index.js
index 1b3119a24..486647bd2 100644
--- a/app/soapbox/features/register_invite/index.js
+++ b/app/soapbox/features/register_invite/index.js
@@ -2,6 +2,7 @@ import PropTypes from 'prop-types';
import React from 'react';
import { FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
+
import RegistrationForm from 'soapbox/features/auth_login/components/registration_form';
const mapStateToProps = state => {
diff --git a/app/soapbox/features/remote_timeline/components/pinned_hosts_picker.js b/app/soapbox/features/remote_timeline/components/pinned_hosts_picker.js
index f75cd827e..a5858de9e 100644
--- a/app/soapbox/features/remote_timeline/components/pinned_hosts_picker.js
+++ b/app/soapbox/features/remote_timeline/components/pinned_hosts_picker.js
@@ -6,6 +6,7 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
+
import { getSettings } from 'soapbox/actions/settings';
const mapStateToProps = state => {
diff --git a/app/soapbox/features/remote_timeline/index.js b/app/soapbox/features/remote_timeline/index.js
index 2e2b8b6c5..d6b6ab2ef 100644
--- a/app/soapbox/features/remote_timeline/index.js
+++ b/app/soapbox/features/remote_timeline/index.js
@@ -2,12 +2,15 @@ import PropTypes from 'prop-types';
import React from 'react';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
+
import { getSettings } from 'soapbox/actions/settings';
import IconButton from 'soapbox/components/icon_button';
import Column from 'soapbox/features/ui/components/column';
+
import { connectRemoteStream } from '../../actions/streaming';
import { expandRemoteTimeline } from '../../actions/timelines';
import StatusListContainer from '../ui/containers/status_list_container';
+
import PinnedHostsPicker from './components/pinned_hosts_picker';
const messages = defineMessages({
diff --git a/app/soapbox/features/reply_mentions/account.js b/app/soapbox/features/reply_mentions/account.js
index a48eb13b1..1ef60ddf6 100644
--- a/app/soapbox/features/reply_mentions/account.js
+++ b/app/soapbox/features/reply_mentions/account.js
@@ -3,6 +3,7 @@ import React from 'react';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import { fetchAccount } from 'soapbox/actions/accounts';
import { addToMentions, removeFromMentions } from 'soapbox/actions/compose';
import Avatar from 'soapbox/components/avatar';
diff --git a/app/soapbox/features/report/components/status_check_box.js b/app/soapbox/features/report/components/status_check_box.js
index a27f0beee..fcb73c902 100644
--- a/app/soapbox/features/report/components/status_check_box.js
+++ b/app/soapbox/features/report/components/status_check_box.js
@@ -3,6 +3,7 @@ import PropTypes from 'prop-types';
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import Toggle from 'react-toggle';
+
import StatusContent from '../../../components/status_content';
import Bundle from '../../ui/components/bundle';
import { MediaGallery, Video, Audio } from '../../ui/util/async-components';
diff --git a/app/soapbox/features/report/containers/status_check_box_container.js b/app/soapbox/features/report/containers/status_check_box_container.js
index ab1c343dc..75daf7e2d 100644
--- a/app/soapbox/features/report/containers/status_check_box_container.js
+++ b/app/soapbox/features/report/containers/status_check_box_container.js
@@ -1,5 +1,6 @@
import { Set as ImmutableSet } from 'immutable';
import { connect } from 'react-redux';
+
import { toggleStatusReport } from '../../../actions/reports';
import StatusCheckBox from '../components/status_check_box';
diff --git a/app/soapbox/features/scheduled_statuses/builder.js b/app/soapbox/features/scheduled_statuses/builder.js
index 196a0f6f2..05cef642c 100644
--- a/app/soapbox/features/scheduled_statuses/builder.js
+++ b/app/soapbox/features/scheduled_statuses/builder.js
@@ -1,4 +1,5 @@
import { fromJS } from 'immutable';
+
import { normalizeStatus } from 'soapbox/actions/importer/normalizer';
import { makeGetAccount } from 'soapbox/selectors';
diff --git a/app/soapbox/features/scheduled_statuses/components/scheduled_status.js b/app/soapbox/features/scheduled_statuses/components/scheduled_status.js
index e210ee570..b47e2b6d0 100644
--- a/app/soapbox/features/scheduled_statuses/components/scheduled_status.js
+++ b/app/soapbox/features/scheduled_statuses/components/scheduled_status.js
@@ -3,6 +3,7 @@ import React from 'react';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { connect } from 'react-redux';
import { Link, NavLink } from 'react-router-dom';
+
import AttachmentThumbs from 'soapbox/components/attachment_thumbs';
import Avatar from 'soapbox/components/avatar';
import DisplayName from 'soapbox/components/display_name';
@@ -10,7 +11,9 @@ import RelativeTimestamp from 'soapbox/components/relative_timestamp';
import StatusContent from 'soapbox/components/status_content';
import PollPreview from 'soapbox/features/ui/components/poll_preview';
import { getDomain } from 'soapbox/utils/accounts';
+
import { buildStatus } from '../builder';
+
import ScheduledStatusActionBar from './scheduled_status_action_bar';
const mapStateToProps = (state, props) => {
diff --git a/app/soapbox/features/scheduled_statuses/components/scheduled_status_action_bar.js b/app/soapbox/features/scheduled_statuses/components/scheduled_status_action_bar.js
index 415d64fbf..ed77fdd82 100644
--- a/app/soapbox/features/scheduled_statuses/components/scheduled_status_action_bar.js
+++ b/app/soapbox/features/scheduled_statuses/components/scheduled_status_action_bar.js
@@ -4,6 +4,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import { openModal } from 'soapbox/actions/modal';
import { cancelScheduledStatus } from 'soapbox/actions/scheduled_statuses';
import { getSettings } from 'soapbox/actions/settings';
diff --git a/app/soapbox/features/scheduled_statuses/index.js b/app/soapbox/features/scheduled_statuses/index.js
index 5b4c8a149..8b2fe3a56 100644
--- a/app/soapbox/features/scheduled_statuses/index.js
+++ b/app/soapbox/features/scheduled_statuses/index.js
@@ -5,9 +5,12 @@ 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 ScrollableList from 'soapbox/components/scrollable_list';
+
import { fetchScheduledStatuses, expandScheduledStatuses } from '../../actions/scheduled_statuses';
import Column from '../ui/components/column';
+
import ScheduledStatus from './components/scheduled_status';
const messages = defineMessages({
diff --git a/app/soapbox/features/search/index.js b/app/soapbox/features/search/index.js
index 6a404f7fc..60b4655eb 100644
--- a/app/soapbox/features/search/index.js
+++ b/app/soapbox/features/search/index.js
@@ -1,6 +1,7 @@
import PropTypes from 'prop-types';
import React from 'react';
import { defineMessages, injectIntl } from 'react-intl';
+
import Column from 'soapbox/components/column';
import ColumnHeader from 'soapbox/components/column_header';
import SearchContainer from 'soapbox/features/compose/containers/search_container';
diff --git a/app/soapbox/features/security/index.js b/app/soapbox/features/security/index.js
index ffe0f5171..887c16242 100644
--- a/app/soapbox/features/security/index.js
+++ b/app/soapbox/features/security/index.js
@@ -4,6 +4,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl, FormattedDate } from 'react-intl';
import { connect } from 'react-redux';
+
import {
changeEmail,
changePassword,
@@ -19,6 +20,7 @@ import {
FieldsGroup,
TextInput,
} from 'soapbox/features/forms';
+
import { fetchMfa } from '../../actions/mfa';
import Column from '../ui/components/column';
diff --git a/app/soapbox/features/security/mfa_form.js b/app/soapbox/features/security/mfa_form.js
index 18f4aec49..edc2a2657 100644
--- a/app/soapbox/features/security/mfa_form.js
+++ b/app/soapbox/features/security/mfa_form.js
@@ -5,6 +5,7 @@ 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 snackbar from 'soapbox/actions/snackbar';
import Button from 'soapbox/components/button';
import LoadingIndicator from 'soapbox/components/loading_indicator';
@@ -14,6 +15,7 @@ import {
FieldsGroup,
TextInput,
} from 'soapbox/features/forms';
+
import {
fetchMfa,
fetchBackupCodes,
diff --git a/app/soapbox/features/server_info/index.js b/app/soapbox/features/server_info/index.js
index c8772bee5..ca532a966 100644
--- a/app/soapbox/features/server_info/index.js
+++ b/app/soapbox/features/server_info/index.js
@@ -3,6 +3,7 @@ import React from 'react';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import Column from '../ui/components/column';
import LinkFooter from '../ui/components/link_footer';
import PromoPanel from '../ui/components/promo_panel';
diff --git a/app/soapbox/features/share/index.js b/app/soapbox/features/share/index.js
index af980b7a4..ff6dd18f3 100644
--- a/app/soapbox/features/share/index.js
+++ b/app/soapbox/features/share/index.js
@@ -2,6 +2,7 @@ import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
import { Redirect } from 'react-router-dom';
+
import { openComposeWithText } from '../../actions/compose';
const mapDispatchToProps = dispatch => ({
diff --git a/app/soapbox/features/soapbox_config/components/icon_picker_dropdown.js b/app/soapbox/features/soapbox_config/components/icon_picker_dropdown.js
index aabd4484f..f5c863858 100644
--- a/app/soapbox/features/soapbox_config/components/icon_picker_dropdown.js
+++ b/app/soapbox/features/soapbox_config/components/icon_picker_dropdown.js
@@ -5,6 +5,7 @@ import PropTypes from 'prop-types';
import React from 'react';
import { defineMessages, injectIntl } from 'react-intl';
import Overlay from 'react-overlays/lib/Overlay';
+
import Icon from 'soapbox/components/icon';
const messages = defineMessages({
diff --git a/app/soapbox/features/soapbox_config/components/site_preview.js b/app/soapbox/features/soapbox_config/components/site_preview.js
index 2643f945e..a51604695 100644
--- a/app/soapbox/features/soapbox_config/components/site_preview.js
+++ b/app/soapbox/features/soapbox_config/components/site_preview.js
@@ -1,6 +1,7 @@
import classNames from 'classnames';
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
+
import { defaultSettings } from 'soapbox/actions/settings';
import { brandColorToCSS } from 'soapbox/utils/theme';
diff --git a/app/soapbox/features/soapbox_config/index.js b/app/soapbox/features/soapbox_config/index.js
index dbfcb21a5..5ec7f0b39 100644
--- a/app/soapbox/features/soapbox_config/index.js
+++ b/app/soapbox/features/soapbox_config/index.js
@@ -8,6 +8,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import Overlay from 'react-overlays/lib/Overlay';
import { connect } from 'react-redux';
+
import { updateConfig } from 'soapbox/actions/admin';
import { uploadMedia } from 'soapbox/actions/media';
import snackbar from 'soapbox/actions/snackbar';
@@ -26,8 +27,10 @@ import {
import ThemeToggle from 'soapbox/features/ui/components/theme_toggle';
import { isMobile } from 'soapbox/is_mobile';
import { getFeatures } from 'soapbox/utils/features';
+
import Accordion from '../ui/components/accordion';
import Column from '../ui/components/column';
+
import IconPickerDropdown from './components/icon_picker_dropdown';
import SitePreview from './components/site_preview';
diff --git a/app/soapbox/features/status/components/action_bar.js b/app/soapbox/features/status/components/action_bar.js
index f3cff6897..4777a241e 100644
--- a/app/soapbox/features/status/components/action_bar.js
+++ b/app/soapbox/features/status/components/action_bar.js
@@ -3,12 +3,14 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import EmojiSelector from 'soapbox/components/emoji_selector';
import { isUserTouching } from 'soapbox/is_mobile';
import { isStaff, isAdmin } from 'soapbox/utils/accounts';
import { getReactForStatus } from 'soapbox/utils/emoji_reacts';
import { getFeatures } from 'soapbox/utils/features';
import SoapboxPropTypes from 'soapbox/utils/soapbox_prop_types';
+
import { openModal } from '../../../actions/modal';
import IconButton from '../../../components/icon_button';
import DropdownMenuContainer from '../../../containers/dropdown_menu_container';
diff --git a/app/soapbox/features/status/components/card.js b/app/soapbox/features/status/components/card.js
index 9f0190e0d..1f55f3785 100644
--- a/app/soapbox/features/status/components/card.js
+++ b/app/soapbox/features/status/components/card.js
@@ -1,9 +1,11 @@
import punycode from 'punycode';
+
import classnames from 'classnames';
import { is, fromJS } from 'immutable';
import PropTypes from 'prop-types';
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
+
import Icon from 'soapbox/components/icon';
const IDNA_PREFIX = 'xn--';
diff --git a/app/soapbox/features/status/components/detailed_status.js b/app/soapbox/features/status/components/detailed_status.js
index 06f437ee9..9dfbd084d 100644
--- a/app/soapbox/features/status/components/detailed_status.js
+++ b/app/soapbox/features/status/components/detailed_status.js
@@ -6,9 +6,11 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { injectIntl } from 'react-intl';
import { FormattedDate } from 'react-intl';
import { Link, NavLink } from 'react-router-dom';
+
import HoverRefWrapper from 'soapbox/components/hover_ref_wrapper';
import Icon from 'soapbox/components/icon';
import { getDomain } from 'soapbox/utils/accounts';
+
import Avatar from '../../../components/avatar';
import DisplayName from '../../../components/display_name';
import MediaGallery from '../../../components/media_gallery';
@@ -17,6 +19,7 @@ import StatusReplyMentions from '../../../components/status_reply_mentions';
import Audio from '../../audio';
import scheduleIdleTask from '../../ui/util/schedule_idle_task';
import Video from '../../video';
+
import Card from './card';
import StatusInteractionBar from './status_interaction_bar';
diff --git a/app/soapbox/features/status/components/status_interaction_bar.js b/app/soapbox/features/status/components/status_interaction_bar.js
index 04048b7b0..aaf5ce3de 100644
--- a/app/soapbox/features/status/components/status_interaction_bar.js
+++ b/app/soapbox/features/status/components/status_interaction_bar.js
@@ -4,6 +4,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { FormattedNumber } from 'react-intl';
import { connect } from 'react-redux';
+
import { openModal } from 'soapbox/actions/modal';
import { getSoapboxConfig } from 'soapbox/actions/soapbox';
import Icon from 'soapbox/components/icon';
diff --git a/app/soapbox/features/status/components/thread_status.js b/app/soapbox/features/status/components/thread_status.js
index 659f7622f..dc204a5bf 100644
--- a/app/soapbox/features/status/components/thread_status.js
+++ b/app/soapbox/features/status/components/thread_status.js
@@ -3,6 +3,7 @@ import { OrderedSet as ImmutableOrderedSet } from 'immutable';
import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';
+
import StatusContainer from 'soapbox/containers/status_container';
import PlaceholderStatus from 'soapbox/features/placeholder/components/placeholder_status';
diff --git a/app/soapbox/features/status/containers/detailed_status_container.js b/app/soapbox/features/status/containers/detailed_status_container.js
index 4fbc10347..b20fa54f4 100644
--- a/app/soapbox/features/status/containers/detailed_status_container.js
+++ b/app/soapbox/features/status/containers/detailed_status_container.js
@@ -1,9 +1,11 @@
import React from 'react';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
+
import { launchChat } from 'soapbox/actions/chats';
import { deactivateUserModal, deleteUserModal, deleteStatusModal, toggleStatusSensitivityModal } from 'soapbox/actions/moderation';
import { getSettings } from 'soapbox/actions/settings';
+
import { blockAccount } from '../../../actions/accounts';
import { showAlertForError } from '../../../actions/alerts';
import {
diff --git a/app/soapbox/features/status/index.js b/app/soapbox/features/status/index.js
index 018c38fe6..e7839213a 100644
--- a/app/soapbox/features/status/index.js
+++ b/app/soapbox/features/status/index.js
@@ -8,6 +8,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
import { createSelector } from 'reselect';
+
import { launchChat } from 'soapbox/actions/chats';
import {
deactivateUserModal,
@@ -21,6 +22,7 @@ import Column from 'soapbox/components/column';
import PullToRefresh from 'soapbox/components/pull_to_refresh';
import SubNavigation from 'soapbox/components/sub_navigation';
import PendingStatus from 'soapbox/features/ui/components/pending_status';
+
import { blockAccount } from '../../actions/accounts';
import {
replyCompose,
@@ -53,6 +55,7 @@ import MissingIndicator from '../../components/missing_indicator';
import { textForScreenReader, defaultMediaVisibility } from '../../components/status';
import { makeGetStatus } from '../../selectors';
import { attachFullscreenListener, detachFullscreenListener, isFullscreen } from '../ui/util/fullscreen';
+
import ActionBar from './components/action_bar';
import DetailedStatus from './components/detailed_status';
import ThreadStatus from './components/thread_status';
diff --git a/app/soapbox/features/ui/components/accordion.js b/app/soapbox/features/ui/components/accordion.js
index 09227653c..6b2b7b2bb 100644
--- a/app/soapbox/features/ui/components/accordion.js
+++ b/app/soapbox/features/ui/components/accordion.js
@@ -2,6 +2,7 @@ import classNames from 'classnames';
import PropTypes from 'prop-types';
import React from 'react';
import { defineMessages, injectIntl } from 'react-intl';
+
import DropdownMenu from 'soapbox/containers/dropdown_menu_container';
const messages = defineMessages({
diff --git a/app/soapbox/features/ui/components/account_list_panel.js b/app/soapbox/features/ui/components/account_list_panel.js
index 8bc462571..210a7bf6a 100644
--- a/app/soapbox/features/ui/components/account_list_panel.js
+++ b/app/soapbox/features/ui/components/account_list_panel.js
@@ -3,7 +3,9 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { Link } from 'react-router-dom';
+
import Icon from 'soapbox/components/icon';
+
import AccountContainer from '../../../containers/account_container';
export default class AccountListPanel extends ImmutablePureComponent {
diff --git a/app/soapbox/features/ui/components/action_button.js b/app/soapbox/features/ui/components/action_button.js
index 1fcb5af36..c3e1cc76f 100644
--- a/app/soapbox/features/ui/components/action_button.js
+++ b/app/soapbox/features/ui/components/action_button.js
@@ -5,6 +5,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import {
followAccount,
unfollowAccount,
diff --git a/app/soapbox/features/ui/components/actions_modal.js b/app/soapbox/features/ui/components/actions_modal.js
index f364dab81..c3bf0a8e0 100644
--- a/app/soapbox/features/ui/components/actions_modal.js
+++ b/app/soapbox/features/ui/components/actions_modal.js
@@ -5,6 +5,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { FormattedMessage, injectIntl } from 'react-intl';
import spring from 'react-motion/lib/spring';
+
import Avatar from '../../../components/avatar';
import Button from '../../../components/button';
import DisplayName from '../../../components/display_name';
diff --git a/app/soapbox/features/ui/components/better_column.js b/app/soapbox/features/ui/components/better_column.js
index 79ae3b8a1..2127c91fb 100644
--- a/app/soapbox/features/ui/components/better_column.js
+++ b/app/soapbox/features/ui/components/better_column.js
@@ -1,7 +1,9 @@
import PropTypes from 'prop-types';
import React from 'react';
+
import Column from 'soapbox/components/column';
import DropdownMenu from 'soapbox/containers/dropdown_menu_container';
+
import ColumnHeader from './column_header';
// Yes, there are 3 types of columns at this point, but this one is better, I swear
diff --git a/app/soapbox/features/ui/components/boost_modal.js b/app/soapbox/features/ui/components/boost_modal.js
index 7103345a3..2bf508b97 100644
--- a/app/soapbox/features/ui/components/boost_modal.js
+++ b/app/soapbox/features/ui/components/boost_modal.js
@@ -3,8 +3,10 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
import AttachmentThumbs from 'soapbox/components/attachment_thumbs';
import Icon from 'soapbox/components/icon';
+
import Avatar from '../../../components/avatar';
import Button from '../../../components/button';
import DisplayName from '../../../components/display_name';
diff --git a/app/soapbox/features/ui/components/bundle_column_error.js b/app/soapbox/features/ui/components/bundle_column_error.js
index 8a57465c2..26186d26f 100644
--- a/app/soapbox/features/ui/components/bundle_column_error.js
+++ b/app/soapbox/features/ui/components/bundle_column_error.js
@@ -3,6 +3,7 @@ import React from 'react';
import { defineMessages, injectIntl } from 'react-intl';
import IconButton from '../../../components/icon_button';
+
import Column from './column';
import ColumnHeader from './column_header';
diff --git a/app/soapbox/features/ui/components/column.js b/app/soapbox/features/ui/components/column.js
index 07d8976c6..837d36f12 100644
--- a/app/soapbox/features/ui/components/column.js
+++ b/app/soapbox/features/ui/components/column.js
@@ -1,7 +1,9 @@
import PropTypes from 'prop-types';
import React from 'react';
+
import Column from 'soapbox/components/column';
import Pullable from 'soapbox/components/pullable';
+
import ColumnHeader from './column_header';
export default class UIColumn extends React.PureComponent {
diff --git a/app/soapbox/features/ui/components/column_header.js b/app/soapbox/features/ui/components/column_header.js
index 3bd8516d6..5f5153cc5 100644
--- a/app/soapbox/features/ui/components/column_header.js
+++ b/app/soapbox/features/ui/components/column_header.js
@@ -1,5 +1,6 @@
import PropTypes from 'prop-types';
import React from 'react';
+
// import classNames from 'classnames';
// import Icon from 'soapbox/components/icon';
import SubNavigation from 'soapbox/components/sub_navigation';
diff --git a/app/soapbox/features/ui/components/column_link.js b/app/soapbox/features/ui/components/column_link.js
index 0586c67b9..9dbdf4c64 100644
--- a/app/soapbox/features/ui/components/column_link.js
+++ b/app/soapbox/features/ui/components/column_link.js
@@ -1,6 +1,7 @@
import PropTypes from 'prop-types';
import React from 'react';
import { Link } from 'react-router-dom';
+
import Icon from 'soapbox/components/icon';
const ColumnLink = ({ icon, src, text, to, href, method, badge }) => {
diff --git a/app/soapbox/features/ui/components/column_loading.js b/app/soapbox/features/ui/components/column_loading.js
index c45707e5a..21f218db1 100644
--- a/app/soapbox/features/ui/components/column_loading.js
+++ b/app/soapbox/features/ui/components/column_loading.js
@@ -1,8 +1,10 @@
import PropTypes from 'prop-types';
import React from 'react';
import ImmutablePureComponent from 'react-immutable-pure-component';
+
import Column from 'soapbox/components/column';
import LoadingIndicator from 'soapbox/components/loading_indicator';
+
import ColumnHeader from '../../../components/column_header';
export default class ColumnLoading extends ImmutablePureComponent {
diff --git a/app/soapbox/features/ui/components/compose_modal.js b/app/soapbox/features/ui/components/compose_modal.js
index cc84b3dfd..5503735cb 100644
--- a/app/soapbox/features/ui/components/compose_modal.js
+++ b/app/soapbox/features/ui/components/compose_modal.js
@@ -4,7 +4,9 @@ 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 IconButton from 'soapbox/components/icon_button';
+
import { cancelReplyCompose } from '../../../actions/compose';
import { openModal } from '../../../actions/modal';
import ComposeFormContainer from '../../compose/containers/compose_form_container';
diff --git a/app/soapbox/features/ui/components/confirmation_modal.js b/app/soapbox/features/ui/components/confirmation_modal.js
index 25452027a..41b22bfe0 100644
--- a/app/soapbox/features/ui/components/confirmation_modal.js
+++ b/app/soapbox/features/ui/components/confirmation_modal.js
@@ -1,7 +1,9 @@
import PropTypes from 'prop-types';
import React from 'react';
import { injectIntl, FormattedMessage } from 'react-intl';
+
import { SimpleForm, FieldsGroup, Checkbox } from 'soapbox/features/forms';
+
import Button from '../../../components/button';
import Icon from '../../../components/icon';
diff --git a/app/soapbox/features/ui/components/crypto_donate_modal.js b/app/soapbox/features/ui/components/crypto_donate_modal.js
index 9b1583e77..73d8b25db 100644
--- a/app/soapbox/features/ui/components/crypto_donate_modal.js
+++ b/app/soapbox/features/ui/components/crypto_donate_modal.js
@@ -1,5 +1,6 @@
import PropTypes from 'prop-types';
import React from 'react';
+
import DetailedCryptoAddress from 'soapbox/features/crypto_donate/components/detailed_crypto_address';
export default class CryptoDonateModal extends React.PureComponent {
diff --git a/app/soapbox/features/ui/components/edit_federation_modal.js b/app/soapbox/features/ui/components/edit_federation_modal.js
index c4f54811d..53e21078f 100644
--- a/app/soapbox/features/ui/components/edit_federation_modal.js
+++ b/app/soapbox/features/ui/components/edit_federation_modal.js
@@ -5,6 +5,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import { updateMrf } from 'soapbox/actions/mrf';
import snackbar from 'soapbox/actions/snackbar';
import { SimpleForm, Checkbox } from 'soapbox/features/forms';
diff --git a/app/soapbox/features/ui/components/favourites_modal.js b/app/soapbox/features/ui/components/favourites_modal.js
index 333d6cb2d..29c6c9e54 100644
--- a/app/soapbox/features/ui/components/favourites_modal.js
+++ b/app/soapbox/features/ui/components/favourites_modal.js
@@ -3,6 +3,7 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { injectIntl, FormattedMessage, defineMessages } from 'react-intl';
import { connect } from 'react-redux';
+
import { fetchFavourites } from 'soapbox/actions/interactions';
import IconButton from 'soapbox/components/icon_button';
import LoadingIndicator from 'soapbox/components/loading_indicator';
diff --git a/app/soapbox/features/ui/components/features_panel.js b/app/soapbox/features/ui/components/features_panel.js
index 02bbd3e6d..ba1d46676 100644
--- a/app/soapbox/features/ui/components/features_panel.js
+++ b/app/soapbox/features/ui/components/features_panel.js
@@ -4,6 +4,7 @@ import React from 'react';
import { injectIntl, defineMessages } from 'react-intl';
import { connect } from 'react-redux';
import { NavLink } from 'react-router-dom';
+
import Icon from 'soapbox/components/icon';
import IconWithCounter from 'soapbox/components/icon_with_counter';
import { getBaseURL } from 'soapbox/utils/accounts';
diff --git a/app/soapbox/features/ui/components/focal_point_modal.js b/app/soapbox/features/ui/components/focal_point_modal.js
index b89078ff1..777b40ecb 100644
--- a/app/soapbox/features/ui/components/focal_point_modal.js
+++ b/app/soapbox/features/ui/components/focal_point_modal.js
@@ -3,8 +3,10 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { connect } from 'react-redux';
+
import { changeUploadCompose } from '../../../actions/compose';
import { getPointerPosition } from '../../video';
+
import ImageLoader from './image_loader';
const mapStateToProps = (state, { id }) => ({
diff --git a/app/soapbox/features/ui/components/funding_panel.js b/app/soapbox/features/ui/components/funding_panel.js
index f7bd7fe2a..45010360c 100644
--- a/app/soapbox/features/ui/components/funding_panel.js
+++ b/app/soapbox/features/ui/components/funding_panel.js
@@ -3,8 +3,10 @@ import React from 'react';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import { fetchPatronInstance } from 'soapbox/actions/patron';
import Icon from 'soapbox/components/icon';
+
import ProgressBar from '../../../components/progress_bar';
const moneyFormat = amount => (
diff --git a/app/soapbox/features/ui/components/hotkeys_modal.js b/app/soapbox/features/ui/components/hotkeys_modal.js
index db8b1468f..70ecf3198 100644
--- a/app/soapbox/features/ui/components/hotkeys_modal.js
+++ b/app/soapbox/features/ui/components/hotkeys_modal.js
@@ -2,6 +2,7 @@ import PropTypes from 'prop-types';
import React from 'react';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+
import IconButton from 'soapbox/components/icon_button';
const messages = defineMessages({
diff --git a/app/soapbox/features/ui/components/image_loader.js b/app/soapbox/features/ui/components/image_loader.js
index f03853ed4..a8f50772e 100644
--- a/app/soapbox/features/ui/components/image_loader.js
+++ b/app/soapbox/features/ui/components/image_loader.js
@@ -1,6 +1,7 @@
import classNames from 'classnames';
import PropTypes from 'prop-types';
import React from 'react';
+
import ZoomableImage from './zoomable_image';
export default class ImageLoader extends React.PureComponent {
diff --git a/app/soapbox/features/ui/components/instance_info_panel.js b/app/soapbox/features/ui/components/instance_info_panel.js
index 8bd8b3baf..20582ddcf 100644
--- a/app/soapbox/features/ui/components/instance_info_panel.js
+++ b/app/soapbox/features/ui/components/instance_info_panel.js
@@ -6,6 +6,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { injectIntl, defineMessages } from 'react-intl';
import { connect } from 'react-redux';
+
import { pinHost, unpinHost } from 'soapbox/actions/remote_timeline';
import { getSettings } from 'soapbox/actions/settings';
import DropdownMenu from 'soapbox/containers/dropdown_menu_container';
diff --git a/app/soapbox/features/ui/components/instance_moderation_panel.js b/app/soapbox/features/ui/components/instance_moderation_panel.js
index 03c7bfddc..8e17cd8ca 100644
--- a/app/soapbox/features/ui/components/instance_moderation_panel.js
+++ b/app/soapbox/features/ui/components/instance_moderation_panel.js
@@ -6,6 +6,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { injectIntl, defineMessages, FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
+
import { openModal } from 'soapbox/actions/modal';
import DropdownMenu from 'soapbox/containers/dropdown_menu_container';
import InstanceRestrictions from 'soapbox/features/federation_restrictions/components/instance_restrictions';
diff --git a/app/soapbox/features/ui/components/link_footer.js b/app/soapbox/features/ui/components/link_footer.js
index a0d5c7c57..fd9bf6b41 100644
--- a/app/soapbox/features/ui/components/link_footer.js
+++ b/app/soapbox/features/ui/components/link_footer.js
@@ -4,10 +4,12 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import { FormattedMessage, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
+
import { logOut } from 'soapbox/actions/auth';
import { getBaseURL, isAdmin } from 'soapbox/utils/accounts';
import sourceCode from 'soapbox/utils/code';
import { getFeatures } from 'soapbox/utils/features';
+
import { openModal } from '../../../actions/modal';
const mapStateToProps = state => {
diff --git a/app/soapbox/features/ui/components/list_panel.js b/app/soapbox/features/ui/components/list_panel.js
index 2e657563d..4ca1a78ff 100644
--- a/app/soapbox/features/ui/components/list_panel.js
+++ b/app/soapbox/features/ui/components/list_panel.js
@@ -5,6 +5,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { connect } from 'react-redux';
import { NavLink, withRouter } from 'react-router-dom';
import { createSelector } from 'reselect';
+
import { fetchLists } from 'soapbox/actions/lists';
import Icon from 'soapbox/components/icon';
diff --git a/app/soapbox/features/ui/components/media_modal.js b/app/soapbox/features/ui/components/media_modal.js
index b4be56f53..7dd539488 100644
--- a/app/soapbox/features/ui/components/media_modal.js
+++ b/app/soapbox/features/ui/components/media_modal.js
@@ -5,11 +5,13 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import ReactSwipeableViews from 'react-swipeable-views';
+
import ExtendedVideoPlayer from 'soapbox/components/extended_video_player';
import Icon from 'soapbox/components/icon';
import IconButton from 'soapbox/components/icon_button';
import Audio from 'soapbox/features/audio';
import Video from 'soapbox/features/video';
+
import ImageLoader from './image_loader';
const messages = defineMessages({
diff --git a/app/soapbox/features/ui/components/mentions_modal.js b/app/soapbox/features/ui/components/mentions_modal.js
index fcc295007..178a9ca80 100644
--- a/app/soapbox/features/ui/components/mentions_modal.js
+++ b/app/soapbox/features/ui/components/mentions_modal.js
@@ -4,6 +4,7 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { injectIntl, defineMessages, FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
+
import { fetchStatusWithContext } from 'soapbox/actions/statuses';
import IconButton from 'soapbox/components/icon_button';
import LoadingIndicator from 'soapbox/components/loading_indicator';
diff --git a/app/soapbox/features/ui/components/missing_description_modal.js b/app/soapbox/features/ui/components/missing_description_modal.js
index 9e88bb3a8..ba31c6c8f 100644
--- a/app/soapbox/features/ui/components/missing_description_modal.js
+++ b/app/soapbox/features/ui/components/missing_description_modal.js
@@ -1,6 +1,7 @@
import PropTypes from 'prop-types';
import React from 'react';
import { injectIntl, FormattedMessage } from 'react-intl';
+
import Button from '../../../components/button';
export default @injectIntl
diff --git a/app/soapbox/features/ui/components/modal_root.js b/app/soapbox/features/ui/components/modal_root.js
index 84bb947a2..5425cf5eb 100644
--- a/app/soapbox/features/ui/components/modal_root.js
+++ b/app/soapbox/features/ui/components/modal_root.js
@@ -1,5 +1,6 @@
import PropTypes from 'prop-types';
import React from 'react';
+
import Base from '../../../components/modal_root';
import {
MediaModal,
@@ -27,6 +28,7 @@ import {
MentionsModal,
} from '../../../features/ui/util/async-components';
import BundleContainer from '../containers/bundle_container';
+
import BundleModalError from './bundle_modal_error';
import ModalLoading from './modal_loading';
diff --git a/app/soapbox/features/ui/components/mute_modal.js b/app/soapbox/features/ui/components/mute_modal.js
index 7f1171c15..51de0cac9 100644
--- a/app/soapbox/features/ui/components/mute_modal.js
+++ b/app/soapbox/features/ui/components/mute_modal.js
@@ -3,6 +3,7 @@ import React from 'react';
import { injectIntl, FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
import Toggle from 'react-toggle';
+
import { muteAccount } from 'soapbox/actions/accounts';
import { closeModal } from 'soapbox/actions/modal';
import { toggleHideNotifications } from 'soapbox/actions/mutes';
diff --git a/app/soapbox/features/ui/components/pending_status.js b/app/soapbox/features/ui/components/pending_status.js
index a142ea61d..847869457 100644
--- a/app/soapbox/features/ui/components/pending_status.js
+++ b/app/soapbox/features/ui/components/pending_status.js
@@ -3,14 +3,17 @@ import React from 'react';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { connect } from 'react-redux';
import { Link, NavLink } from 'react-router-dom';
+
import Avatar from 'soapbox/components/avatar';
import DisplayName from 'soapbox/components/display_name';
import RelativeTimestamp from 'soapbox/components/relative_timestamp';
import StatusContent from 'soapbox/components/status_content';
import PlaceholderCard from 'soapbox/features/placeholder/components/placeholder_card';
import { getDomain } from 'soapbox/utils/accounts';
+
import PlaceholderMediaGallery from '../../placeholder/components/placeholder_media_gallery';
import { buildStatus } from '../util/pending_status_builder';
+
import PollPreview from './poll_preview';
const shouldHaveCard = pendingStatus => {
diff --git a/app/soapbox/features/ui/components/profile_dropdown.js b/app/soapbox/features/ui/components/profile_dropdown.js
index 8345e0002..d26915c19 100644
--- a/app/soapbox/features/ui/components/profile_dropdown.js
+++ b/app/soapbox/features/ui/components/profile_dropdown.js
@@ -5,12 +5,14 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import { logOut, switchAccount } from 'soapbox/actions/auth';
import { fetchOwnAccounts } from 'soapbox/actions/auth';
import Avatar from 'soapbox/components/avatar';
import DisplayName from 'soapbox/components/display_name';
import { makeGetOtherAccounts } from 'soapbox/selectors';
import { isStaff } from 'soapbox/utils/accounts';
+
import DropdownMenuContainer from '../../../containers/dropdown_menu_container';
const messages = defineMessages({
diff --git a/app/soapbox/features/ui/components/profile_info_panel.js b/app/soapbox/features/ui/components/profile_info_panel.js
index 4891f03f4..74dd9a187 100644
--- a/app/soapbox/features/ui/components/profile_info_panel.js
+++ b/app/soapbox/features/ui/components/profile_info_panel.js
@@ -8,6 +8,7 @@ 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 Badge from 'soapbox/components/badge';
import Icon from 'soapbox/components/icon';
import VerificationBadge from 'soapbox/components/verification_badge';
@@ -15,6 +16,7 @@ import BundleContainer from 'soapbox/features/ui/containers/bundle_container';
import { CryptoAddress } from 'soapbox/features/ui/util/async-components';
import { getAcct, isAdmin, isModerator, isLocal, isVerified } from 'soapbox/utils/accounts';
import { displayFqn } from 'soapbox/utils/state';
+
import ProfileStats from './profile_stats';
const TICKER_REGEX = /\$([a-zA-Z]*)/i;
diff --git a/app/soapbox/features/ui/components/profile_media_panel.js b/app/soapbox/features/ui/components/profile_media_panel.js
index fba395289..a63ed523b 100644
--- a/app/soapbox/features/ui/components/profile_media_panel.js
+++ b/app/soapbox/features/ui/components/profile_media_panel.js
@@ -4,10 +4,12 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { FormattedMessage, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import { openModal } from 'soapbox/actions/modal';
import Icon from 'soapbox/components/icon';
import LoadingIndicator from 'soapbox/components/loading_indicator';
import { getAccountGallery } from 'soapbox/selectors';
+
import { expandAccountMediaTimeline } from '../../../actions/timelines';
import MediaItem from '../../account_gallery/components/media_item';
diff --git a/app/soapbox/features/ui/components/profile_stats.js b/app/soapbox/features/ui/components/profile_stats.js
index 5898f70c1..a7090307b 100644
--- a/app/soapbox/features/ui/components/profile_stats.js
+++ b/app/soapbox/features/ui/components/profile_stats.js
@@ -4,6 +4,7 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { injectIntl, defineMessages } from 'react-intl';
import { NavLink } from 'react-router-dom';
+
import { shortNumberFormat } from 'soapbox/utils/numbers';
const messages = defineMessages({
diff --git a/app/soapbox/features/ui/components/promo_panel.js b/app/soapbox/features/ui/components/promo_panel.js
index 40492b97d..3d054e7c4 100644
--- a/app/soapbox/features/ui/components/promo_panel.js
+++ b/app/soapbox/features/ui/components/promo_panel.js
@@ -2,6 +2,7 @@ import PropTypes from 'prop-types';
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { connect } from 'react-redux';
+
import { getSettings } from 'soapbox/actions/settings';
import { getSoapboxConfig } from 'soapbox/actions/soapbox';
import Icon from 'soapbox/components/icon';
diff --git a/app/soapbox/features/ui/components/reactions_modal.js b/app/soapbox/features/ui/components/reactions_modal.js
index eb2651269..2eb65644b 100644
--- a/app/soapbox/features/ui/components/reactions_modal.js
+++ b/app/soapbox/features/ui/components/reactions_modal.js
@@ -4,6 +4,7 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { injectIntl, FormattedMessage, defineMessages } from 'react-intl';
import { connect } from 'react-redux';
+
import { fetchFavourites, fetchReactions } from 'soapbox/actions/interactions';
import FilterBar from 'soapbox/components/filter_bar';
import IconButton from 'soapbox/components/icon_button';
diff --git a/app/soapbox/features/ui/components/reblogs_modal.js b/app/soapbox/features/ui/components/reblogs_modal.js
index a81ddd007..b50ccb794 100644
--- a/app/soapbox/features/ui/components/reblogs_modal.js
+++ b/app/soapbox/features/ui/components/reblogs_modal.js
@@ -3,6 +3,7 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { injectIntl, FormattedMessage, defineMessages } from 'react-intl';
import { connect } from 'react-redux';
+
import { fetchReblogs } from 'soapbox/actions/interactions';
import { fetchStatus } from 'soapbox/actions/statuses';
import IconButton from 'soapbox/components/icon_button';
diff --git a/app/soapbox/features/ui/components/reply_mentions_modal.js b/app/soapbox/features/ui/components/reply_mentions_modal.js
index ef1268aa1..c42062219 100644
--- a/app/soapbox/features/ui/components/reply_mentions_modal.js
+++ b/app/soapbox/features/ui/components/reply_mentions_modal.js
@@ -4,9 +4,11 @@ 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 IconButton from 'soapbox/components/icon_button';
import { statusToMentionsAccountIdsArray } from 'soapbox/reducers/compose';
import { makeGetStatus } from 'soapbox/selectors';
+
import Account from '../../reply_mentions/account';
const messages = defineMessages({
diff --git a/app/soapbox/features/ui/components/report_modal.js b/app/soapbox/features/ui/components/report_modal.js
index b5fb52aa2..7202a5383 100644
--- a/app/soapbox/features/ui/components/report_modal.js
+++ b/app/soapbox/features/ui/components/report_modal.js
@@ -6,8 +6,10 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, FormattedMessage, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
import Toggle from 'react-toggle';
+
import { isRemote, getDomain } from 'soapbox/utils/accounts';
import { getFeatures } from 'soapbox/utils/features';
+
import { blockAccount } from '../../../actions/accounts';
import { changeReportComment, changeReportForward, changeReportBlock, submitReport } from '../../../actions/reports';
import { expandAccountTimeline } from '../../../actions/timelines';
diff --git a/app/soapbox/features/ui/components/sign_up_panel.js b/app/soapbox/features/ui/components/sign_up_panel.js
index 733dca140..cee57bb0d 100644
--- a/app/soapbox/features/ui/components/sign_up_panel.js
+++ b/app/soapbox/features/ui/components/sign_up_panel.js
@@ -2,6 +2,7 @@ import PropTypes from 'prop-types';
import React from 'react';
import { FormattedMessage, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import SoapboxPropTypes from 'soapbox/utils/soapbox_prop_types';
const mapStateToProps = state => {
diff --git a/app/soapbox/features/ui/components/subscription_button.js b/app/soapbox/features/ui/components/subscription_button.js
index 7cc28f74c..0cefca3e5 100644
--- a/app/soapbox/features/ui/components/subscription_button.js
+++ b/app/soapbox/features/ui/components/subscription_button.js
@@ -4,6 +4,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import {
subscribeAccount,
unsubscribeAccount,
diff --git a/app/soapbox/features/ui/components/tabs_bar.js b/app/soapbox/features/ui/components/tabs_bar.js
index 5d87437f3..b6ca8f420 100644
--- a/app/soapbox/features/ui/components/tabs_bar.js
+++ b/app/soapbox/features/ui/components/tabs_bar.js
@@ -5,16 +5,19 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import { FormattedMessage, injectIntl, defineMessages } from 'react-intl';
import { connect } from 'react-redux';
import { Link, NavLink, withRouter } from 'react-router-dom';
+
import { getSoapboxConfig } from 'soapbox/actions/soapbox';
import Icon from 'soapbox/components/icon';
import IconWithCounter from 'soapbox/components/icon_with_counter';
import SearchContainer from 'soapbox/features/compose/containers/search_container';
import { isStaff } from 'soapbox/utils/accounts';
import { getFeatures } from 'soapbox/utils/features';
+
import { openModal } from '../../../actions/modal';
import { openSidebar } from '../../../actions/sidebar';
import Avatar from '../../../components/avatar';
import ThemeToggle from '../../ui/components/theme_toggle_container';
+
import ProfileDropdown from './profile_dropdown';
const messages = defineMessages({
diff --git a/app/soapbox/features/ui/components/theme_toggle.js b/app/soapbox/features/ui/components/theme_toggle.js
index ef9751fe5..73a6d95ad 100644
--- a/app/soapbox/features/ui/components/theme_toggle.js
+++ b/app/soapbox/features/ui/components/theme_toggle.js
@@ -3,6 +3,7 @@ import React from 'react';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages } from 'react-intl';
import Toggle from 'react-toggle';
+
import Icon from '../../../components/icon';
const messages = defineMessages({
diff --git a/app/soapbox/features/ui/components/theme_toggle_container.js b/app/soapbox/features/ui/components/theme_toggle_container.js
index fd1c4f270..b000d1ba5 100644
--- a/app/soapbox/features/ui/components/theme_toggle_container.js
+++ b/app/soapbox/features/ui/components/theme_toggle_container.js
@@ -1,6 +1,8 @@
import { injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import { changeSetting, getSettings } from 'soapbox/actions/settings';
+
import ThemeToggle from './theme_toggle';
const mapStateToProps = state => {
diff --git a/app/soapbox/features/ui/components/trends_panel.js b/app/soapbox/features/ui/components/trends_panel.js
index 8fa63343c..1460d352b 100644
--- a/app/soapbox/features/ui/components/trends_panel.js
+++ b/app/soapbox/features/ui/components/trends_panel.js
@@ -4,7 +4,9 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { FormattedMessage, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import Icon from 'soapbox/components/icon';
+
import { fetchTrends } from '../../../actions/trends';
import Hashtag from '../../../components/hashtag';
diff --git a/app/soapbox/features/ui/components/unauthorized_modal.js b/app/soapbox/features/ui/components/unauthorized_modal.js
index 5ceaebe57..be54a6bec 100644
--- a/app/soapbox/features/ui/components/unauthorized_modal.js
+++ b/app/soapbox/features/ui/components/unauthorized_modal.js
@@ -4,6 +4,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
+
import { remoteInteraction } from 'soapbox/actions/interactions';
import snackbar from 'soapbox/actions/snackbar';
import IconButton from 'soapbox/components/icon_button';
diff --git a/app/soapbox/features/ui/components/upload_area.js b/app/soapbox/features/ui/components/upload_area.js
index 548e6ae0a..a78534106 100644
--- a/app/soapbox/features/ui/components/upload_area.js
+++ b/app/soapbox/features/ui/components/upload_area.js
@@ -2,6 +2,7 @@ import PropTypes from 'prop-types';
import React from 'react';
import { FormattedMessage } from 'react-intl';
import spring from 'react-motion/lib/spring';
+
import Motion from '../../ui/util/optional_motion';
export default class UploadArea extends React.PureComponent {
diff --git a/app/soapbox/features/ui/components/user_panel.js b/app/soapbox/features/ui/components/user_panel.js
index c40f76e8d..9bf52c4da 100644
--- a/app/soapbox/features/ui/components/user_panel.js
+++ b/app/soapbox/features/ui/components/user_panel.js
@@ -5,12 +5,14 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { injectIntl, FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
+
import Avatar from 'soapbox/components/avatar';
import StillImage from 'soapbox/components/still_image';
import VerificationBadge from 'soapbox/components/verification_badge';
import { getAcct, isVerified } from 'soapbox/utils/accounts';
import { shortNumberFormat } from 'soapbox/utils/numbers';
import { displayFqn } from 'soapbox/utils/state';
+
import { makeGetAccount } from '../../../selectors';
class UserPanel extends ImmutablePureComponent {
diff --git a/app/soapbox/features/ui/components/video_modal.js b/app/soapbox/features/ui/components/video_modal.js
index 6a4b61bbb..1291d32b1 100644
--- a/app/soapbox/features/ui/components/video_modal.js
+++ b/app/soapbox/features/ui/components/video_modal.js
@@ -3,6 +3,7 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { FormattedMessage } from 'react-intl';
+
import Video from 'soapbox/features/video';
export default class VideoModal extends ImmutablePureComponent {
diff --git a/app/soapbox/features/ui/components/who_to_follow_panel.js b/app/soapbox/features/ui/components/who_to_follow_panel.js
index 8fcbb7cda..24ecafc4a 100644
--- a/app/soapbox/features/ui/components/who_to_follow_panel.js
+++ b/app/soapbox/features/ui/components/who_to_follow_panel.js
@@ -4,7 +4,9 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { FormattedMessage, defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
+
import Icon from 'soapbox/components/icon';
+
import { fetchSuggestions, dismissSuggestion } from '../../../actions/suggestions';
import AccountContainer from '../../../containers/account_container';
diff --git a/app/soapbox/features/ui/containers/columns_area_container.js b/app/soapbox/features/ui/containers/columns_area_container.js
index 91b53e81b..184a831fa 100644
--- a/app/soapbox/features/ui/containers/columns_area_container.js
+++ b/app/soapbox/features/ui/containers/columns_area_container.js
@@ -1,5 +1,7 @@
import { connect } from 'react-redux';
+
import { getSettings } from 'soapbox/actions/settings';
+
import ColumnsArea from '../components/columns_area';
const mapStateToProps = state => ({
diff --git a/app/soapbox/features/ui/containers/modal_container.js b/app/soapbox/features/ui/containers/modal_container.js
index 89e0d9037..f37650827 100644
--- a/app/soapbox/features/ui/containers/modal_container.js
+++ b/app/soapbox/features/ui/containers/modal_container.js
@@ -1,4 +1,5 @@
import { connect } from 'react-redux';
+
import { cancelReplyCompose } from '../../../actions/compose';
import { closeModal } from '../../../actions/modal';
import ModalRoot from '../components/modal_root';
diff --git a/app/soapbox/features/ui/containers/notifications_container.js b/app/soapbox/features/ui/containers/notifications_container.js
index 616e6090f..484e2b9fe 100644
--- a/app/soapbox/features/ui/containers/notifications_container.js
+++ b/app/soapbox/features/ui/containers/notifications_container.js
@@ -1,6 +1,7 @@
import { injectIntl } from 'react-intl';
import { NotificationStack } from 'react-notification';
import { connect } from 'react-redux';
+
import { dismissAlert } from '../../../actions/alerts';
import { getAlerts } from '../../../selectors';
diff --git a/app/soapbox/features/ui/containers/status_list_container.js b/app/soapbox/features/ui/containers/status_list_container.js
index 27c6e7b12..925c5d732 100644
--- a/app/soapbox/features/ui/containers/status_list_container.js
+++ b/app/soapbox/features/ui/containers/status_list_container.js
@@ -1,8 +1,10 @@
import { OrderedSet as ImmutableOrderedSet } from 'immutable';
import { debounce } from 'lodash';
import { connect } from 'react-redux';
+
import { dequeueTimeline } from 'soapbox/actions/timelines';
import { makeGetStatusIds } from 'soapbox/selectors';
+
import { scrollTopTimeline } from '../../../actions/timelines';
import StatusList from '../../../components/status_list';
diff --git a/app/soapbox/features/ui/index.js b/app/soapbox/features/ui/index.js
index c14082fe5..bfcfdb3cd 100644
--- a/app/soapbox/features/ui/index.js
+++ b/app/soapbox/features/ui/index.js
@@ -10,6 +10,7 @@ import { defineMessages, injectIntl } from 'react-intl';
import { connect } from 'react-redux';
import { Switch, withRouter } from 'react-router-dom';
import { Redirect } from 'react-router-dom';
+
import { fetchChats } from 'soapbox/actions/chats';
import { fetchCustomEmojis } from 'soapbox/actions/custom_emojis';
import { fetchMarker } from 'soapbox/actions/markers';
@@ -31,6 +32,7 @@ import { getAccessToken } from 'soapbox/utils/auth';
import { getVapidKey } from 'soapbox/utils/auth';
import { getFeatures } from 'soapbox/utils/features';
import SoapboxPropTypes from 'soapbox/utils/soapbox_prop_types';
+
import { fetchFollowRequests } from '../../actions/accounts';
import { fetchReports, fetchUsers, fetchConfig } from '../../actions/admin';
import { uploadCompose, resetCompose } from '../../actions/compose';
@@ -41,6 +43,7 @@ import { expandNotifications } from '../../actions/notifications';
import { fetchScheduledStatuses } from '../../actions/scheduled_statuses';
import { connectUserStream } from '../../actions/streaming';
import { expandHomeTimeline } from '../../actions/timelines';
+
// import GroupSidebarPanel from '../groups/sidebar_panel';
import TabsBar from './components/tabs_bar';
import BundleContainer from './containers/bundle_container';
diff --git a/app/soapbox/features/ui/util/optional_motion.js b/app/soapbox/features/ui/util/optional_motion.js
index b475fd3c9..c9a17f39e 100644
--- a/app/soapbox/features/ui/util/optional_motion.js
+++ b/app/soapbox/features/ui/util/optional_motion.js
@@ -2,7 +2,9 @@ import PropTypes from 'prop-types';
import React from 'react';
import Motion from 'react-motion/lib/Motion';
import { connect } from 'react-redux';
+
import { getSettings } from 'soapbox/actions/settings';
+
import ReducedMotion from './reduced_motion';
const mapStateToProps = state => ({
diff --git a/app/soapbox/features/ui/util/pending_status_builder.js b/app/soapbox/features/ui/util/pending_status_builder.js
index 241abdbdb..1c6f33517 100644
--- a/app/soapbox/features/ui/util/pending_status_builder.js
+++ b/app/soapbox/features/ui/util/pending_status_builder.js
@@ -1,4 +1,5 @@
import { fromJS } from 'immutable';
+
import { normalizeStatus } from 'soapbox/actions/importer/normalizer';
import { makeGetAccount } from 'soapbox/selectors';
diff --git a/app/soapbox/features/ui/util/react_router_helpers.js b/app/soapbox/features/ui/util/react_router_helpers.js
index a2ec3144b..d5543c421 100644
--- a/app/soapbox/features/ui/util/react_router_helpers.js
+++ b/app/soapbox/features/ui/util/react_router_helpers.js
@@ -3,8 +3,10 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { connect } from 'react-redux';
import { Redirect, Route } from 'react-router-dom';
+
import { getSettings } from 'soapbox/actions/settings';
import { isStaff, isAdmin } from 'soapbox/utils/accounts';
+
import BundleColumnError from '../components/bundle_column_error';
import ColumnForbidden from '../components/column_forbidden';
import ColumnLoading from '../components/column_loading';
diff --git a/app/soapbox/features/video/index.js b/app/soapbox/features/video/index.js
index 6a9d1b708..90ce9a007 100644
--- a/app/soapbox/features/video/index.js
+++ b/app/soapbox/features/video/index.js
@@ -5,9 +5,11 @@ import PropTypes from 'prop-types';
import React from 'react';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import { connect } from 'react-redux';
+
import { getSettings } from 'soapbox/actions/settings';
import Blurhash from 'soapbox/components/blurhash';
import Icon from 'soapbox/components/icon';
+
import { isPanoramic, isPortrait, minimumAspectRatio, maximumAspectRatio } from '../../utils/media_aspect_ratio';
import { isFullscreen, requestFullscreen, exitFullscreen } from '../ui/util/fullscreen';
diff --git a/app/soapbox/main.js b/app/soapbox/main.js
index da8ae51bd..dfac430e0 100644
--- a/app/soapbox/main.js
+++ b/app/soapbox/main.js
@@ -4,7 +4,9 @@ import './precheck';
import * as OfflinePluginRuntime from '@lcdp/offline-plugin/runtime';
import React from 'react';
import ReactDOM from 'react-dom';
+
import { NODE_ENV } from 'soapbox/build_config';
+
import { default as Soapbox } from './containers/soapbox';
import * as monitoring from './monitoring';
import * as perf from './performance';
diff --git a/app/soapbox/pages/admin_page.js b/app/soapbox/pages/admin_page.js
index 0c331fc26..0b9362ca9 100644
--- a/app/soapbox/pages/admin_page.js
+++ b/app/soapbox/pages/admin_page.js
@@ -1,10 +1,12 @@
import React from 'react';
import ImmutablePureComponent from 'react-immutable-pure-component';
+
import BundleContainer from 'soapbox/features/ui/containers/bundle_container';
import {
AdminNav,
LatestAccountsPanel,
} from 'soapbox/features/ui/util/async-components';
+
import LinkFooter from '../features/ui/components/link_footer';
export default
diff --git a/app/soapbox/pages/default_page.js b/app/soapbox/pages/default_page.js
index e1948a024..cd7a7efce 100644
--- a/app/soapbox/pages/default_page.js
+++ b/app/soapbox/pages/default_page.js
@@ -2,6 +2,7 @@ import React from 'react';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { connect } from 'react-redux';
import Sticky from 'react-stickynode';
+
import PrimaryNavigation from 'soapbox/components/primary_navigation';
import LinkFooter from 'soapbox/features/ui/components/link_footer';
import BundleContainer from 'soapbox/features/ui/containers/bundle_container';
diff --git a/app/soapbox/pages/group_page.js b/app/soapbox/pages/group_page.js
index df2301b7e..bd7b7f85d 100644
--- a/app/soapbox/pages/group_page.js
+++ b/app/soapbox/pages/group_page.js
@@ -3,6 +3,7 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { connect } from 'react-redux';
+
import { fetchGroup } from '../actions/groups';
import GroupSidebarPanel from '../features/groups/sidebar_panel';
import GroupPanel from '../features/groups/timeline/components/panel';
diff --git a/app/soapbox/pages/groups_page.js b/app/soapbox/pages/groups_page.js
index a19847f0b..623e70727 100644
--- a/app/soapbox/pages/groups_page.js
+++ b/app/soapbox/pages/groups_page.js
@@ -2,6 +2,7 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { connect } from 'react-redux';
+
import GroupSidebarPanel from '../features/groups/sidebar_panel';
import LinkFooter from '../features/ui/components/link_footer';
import PromoPanel from '../features/ui/components/promo_panel';
diff --git a/app/soapbox/pages/home_page.js b/app/soapbox/pages/home_page.js
index fea58803b..384c97307 100644
--- a/app/soapbox/pages/home_page.js
+++ b/app/soapbox/pages/home_page.js
@@ -3,6 +3,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
import Sticky from 'react-stickynode';
+
import { getSoapboxConfig } from 'soapbox/actions/soapbox';
import PrimaryNavigation from 'soapbox/components/primary_navigation';
import LinkFooter from 'soapbox/features/ui/components/link_footer';
@@ -18,6 +19,7 @@ import {
} from 'soapbox/features/ui/util/async-components';
// import GroupSidebarPanel from '../features/groups/sidebar_panel';
import { getFeatures } from 'soapbox/utils/features';
+
import Avatar from '../components/avatar';
import ComposeFormContainer from '../features/compose/containers/compose_form_container';
import BundleContainer from '../features/ui/containers/bundle_container';
diff --git a/app/soapbox/pages/profile_page.js b/app/soapbox/pages/profile_page.js
index 37f24bf96..25f2ff439 100644
--- a/app/soapbox/pages/profile_page.js
+++ b/app/soapbox/pages/profile_page.js
@@ -5,6 +5,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
import { connect } from 'react-redux';
import { Redirect } from 'react-router-dom';
import Sticky from 'react-stickynode';
+
import Helmet from 'soapbox/components/helmet';
import BundleContainer from 'soapbox/features/ui/containers/bundle_container';
import {
@@ -17,6 +18,7 @@ import { findAccountByUsername } from 'soapbox/selectors';
import { getAcct } from 'soapbox/utils/accounts';
import { getFeatures } from 'soapbox/utils/features';
import { displayFqn } from 'soapbox/utils/state';
+
import HeaderContainer from '../features/account_timeline/containers/header_container';
import LinkFooter from '../features/ui/components/link_footer';
import { makeGetAccount } from '../selectors';
diff --git a/app/soapbox/pages/remote_instance_page.js b/app/soapbox/pages/remote_instance_page.js
index f6c3a9024..87180f647 100644
--- a/app/soapbox/pages/remote_instance_page.js
+++ b/app/soapbox/pages/remote_instance_page.js
@@ -2,6 +2,7 @@ import React from 'react';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { connect } from 'react-redux';
import Sticky from 'react-stickynode';
+
import PrimaryNavigation from 'soapbox/components/primary_navigation';
import LinkFooter from 'soapbox/features/ui/components/link_footer';
import BundleContainer from 'soapbox/features/ui/containers/bundle_container';
diff --git a/app/soapbox/pages/status_page.js b/app/soapbox/pages/status_page.js
index 03874aa71..eab6c2ebe 100644
--- a/app/soapbox/pages/status_page.js
+++ b/app/soapbox/pages/status_page.js
@@ -2,6 +2,7 @@ import React from 'react';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { connect } from 'react-redux';
import Sticky from 'react-stickynode';
+
import PrimaryNavigation from 'soapbox/components/primary_navigation';
import LinkFooter from 'soapbox/features/ui/components/link_footer';
import {
@@ -13,6 +14,7 @@ import {
} from 'soapbox/features/ui/util/async-components';
// import GroupSidebarPanel from '../features/groups/sidebar_panel';
import { getFeatures } from 'soapbox/utils/features';
+
import BundleContainer from '../features/ui/containers/bundle_container';
const mapStateToProps = state => {
diff --git a/app/soapbox/reducers/__tests__/accounts-test.js b/app/soapbox/reducers/__tests__/accounts-test.js
index 83a5b26ed..f70695927 100644
--- a/app/soapbox/reducers/__tests__/accounts-test.js
+++ b/app/soapbox/reducers/__tests__/accounts-test.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap } from 'immutable';
+
import reducer from '../accounts';
// import * as actions from 'soapbox/actions/importer';
// import { take } from 'lodash';
diff --git a/app/soapbox/reducers/__tests__/accounts_counters-test.js b/app/soapbox/reducers/__tests__/accounts_counters-test.js
index e635b0dff..8985179c5 100644
--- a/app/soapbox/reducers/__tests__/accounts_counters-test.js
+++ b/app/soapbox/reducers/__tests__/accounts_counters-test.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap } from 'immutable';
+
import reducer from '../accounts_counters';
// import { ACCOUNT_FOLLOW_SUCCESS, ACCOUNT_UNFOLLOW_SUCCESS } from 'soapbox/actions/accounts';
// import relationship from 'soapbox/__fixtures__/relationship.json';
diff --git a/app/soapbox/reducers/__tests__/admin-test.js b/app/soapbox/reducers/__tests__/admin-test.js
index e92e0bb4b..807bdd02e 100644
--- a/app/soapbox/reducers/__tests__/admin-test.js
+++ b/app/soapbox/reducers/__tests__/admin-test.js
@@ -3,6 +3,7 @@ import {
List as ImmutableList,
OrderedSet as ImmutableOrderedSet,
} from 'immutable';
+
import reducer from '../admin';
describe('admin reducer', () => {
diff --git a/app/soapbox/reducers/__tests__/alerts-test.js b/app/soapbox/reducers/__tests__/alerts-test.js
index e0e9a1a2c..7059c843f 100644
--- a/app/soapbox/reducers/__tests__/alerts-test.js
+++ b/app/soapbox/reducers/__tests__/alerts-test.js
@@ -1,5 +1,7 @@
import { List as ImmutableList } from 'immutable';
+
import * as actions from 'soapbox/actions/alerts';
+
import reducer from '../alerts';
describe('alerts reducer', () => {
diff --git a/app/soapbox/reducers/__tests__/auth-test.js b/app/soapbox/reducers/__tests__/auth-test.js
index 0ec4a4ab7..b90a1be65 100644
--- a/app/soapbox/reducers/__tests__/auth-test.js
+++ b/app/soapbox/reducers/__tests__/auth-test.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap, fromJS } from 'immutable';
+
import {
AUTH_APP_CREATED,
AUTH_LOGGED_IN,
@@ -9,6 +10,7 @@ import {
} from 'soapbox/actions/auth';
import { ME_FETCH_SKIP } from 'soapbox/actions/me';
import { MASTODON_PRELOAD_IMPORT } from 'soapbox/actions/preload';
+
import reducer from '../auth';
describe('auth reducer', () => {
diff --git a/app/soapbox/reducers/__tests__/compose-test.js b/app/soapbox/reducers/__tests__/compose-test.js
index c7f747bfe..348739a6b 100644
--- a/app/soapbox/reducers/__tests__/compose-test.js
+++ b/app/soapbox/reducers/__tests__/compose-test.js
@@ -1,9 +1,11 @@
import { Map as ImmutableMap } from 'immutable';
+
import * as actions from 'soapbox/actions/compose';
import { ME_FETCH_SUCCESS, ME_PATCH_SUCCESS } from 'soapbox/actions/me';
import { SETTING_CHANGE } from 'soapbox/actions/settings';
//import { REDRAFT } from 'soapbox/actions/statuses';
import { TIMELINE_DELETE } from 'soapbox/actions/timelines';
+
import reducer from '../compose';
describe('compose reducer', () => {
diff --git a/app/soapbox/reducers/__tests__/contexts-test.js b/app/soapbox/reducers/__tests__/contexts-test.js
index b2289315f..26d6ecb39 100644
--- a/app/soapbox/reducers/__tests__/contexts-test.js
+++ b/app/soapbox/reducers/__tests__/contexts-test.js
@@ -3,10 +3,12 @@ import {
OrderedSet as ImmutableOrderedSet,
fromJS,
} from 'immutable';
+
import context1 from 'soapbox/__fixtures__/context_1.json';
import context2 from 'soapbox/__fixtures__/context_2.json';
import { CONTEXT_FETCH_SUCCESS } from 'soapbox/actions/statuses';
import { TIMELINE_DELETE } from 'soapbox/actions/timelines';
+
import reducer from '../contexts';
describe('contexts reducer', () => {
diff --git a/app/soapbox/reducers/__tests__/conversations-test.js b/app/soapbox/reducers/__tests__/conversations-test.js
index cac121161..496ea620d 100644
--- a/app/soapbox/reducers/__tests__/conversations-test.js
+++ b/app/soapbox/reducers/__tests__/conversations-test.js
@@ -1,5 +1,7 @@
import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
+
import * as actions from 'soapbox/actions/conversations';
+
import reducer from '../conversations';
describe('conversations reducer', () => {
diff --git a/app/soapbox/reducers/__tests__/custom_emojis-test.js b/app/soapbox/reducers/__tests__/custom_emojis-test.js
index c747adbb7..43fec78ec 100644
--- a/app/soapbox/reducers/__tests__/custom_emojis-test.js
+++ b/app/soapbox/reducers/__tests__/custom_emojis-test.js
@@ -1,4 +1,5 @@
import { List as ImmutableList } from 'immutable';
+
import reducer from '../custom_emojis';
describe('custom_emojis reducer', () => {
diff --git a/app/soapbox/reducers/__tests__/domain_lists-test.js b/app/soapbox/reducers/__tests__/domain_lists-test.js
index 4121f0b00..e81bfbdf5 100644
--- a/app/soapbox/reducers/__tests__/domain_lists-test.js
+++ b/app/soapbox/reducers/__tests__/domain_lists-test.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap, OrderedSet as ImmutableOrderedSet } from 'immutable';
+
import reducer from '../domain_lists';
describe('domain_lists reducer', () => {
diff --git a/app/soapbox/reducers/__tests__/dropdown_menu-test.js b/app/soapbox/reducers/__tests__/dropdown_menu-test.js
index 7634360d2..5d2977005 100644
--- a/app/soapbox/reducers/__tests__/dropdown_menu-test.js
+++ b/app/soapbox/reducers/__tests__/dropdown_menu-test.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap } from 'immutable';
+
import reducer from '../dropdown_menu';
describe('dropdown_menu reducer', () => {
diff --git a/app/soapbox/reducers/__tests__/filters-test.js b/app/soapbox/reducers/__tests__/filters-test.js
index 79295301d..90bfc1323 100644
--- a/app/soapbox/reducers/__tests__/filters-test.js
+++ b/app/soapbox/reducers/__tests__/filters-test.js
@@ -1,4 +1,5 @@
import { List as ImmutableList } from 'immutable';
+
import reducer from '../filters';
describe('filters reducer', () => {
diff --git a/app/soapbox/reducers/__tests__/group_editor-test.js b/app/soapbox/reducers/__tests__/group_editor-test.js
index 1c5f1c6b7..73c9e1b6a 100644
--- a/app/soapbox/reducers/__tests__/group_editor-test.js
+++ b/app/soapbox/reducers/__tests__/group_editor-test.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap } from 'immutable';
+
import reducer from '../group_editor';
describe('group_editor reducer', () => {
diff --git a/app/soapbox/reducers/__tests__/group_lists-test.js b/app/soapbox/reducers/__tests__/group_lists-test.js
index 18a165cf3..fa5c21eea 100644
--- a/app/soapbox/reducers/__tests__/group_lists-test.js
+++ b/app/soapbox/reducers/__tests__/group_lists-test.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
+
import reducer from '../group_lists';
describe('group_lists reducer', () => {
diff --git a/app/soapbox/reducers/__tests__/group_relationships-test.js b/app/soapbox/reducers/__tests__/group_relationships-test.js
index 381303d8f..17cabf3c2 100644
--- a/app/soapbox/reducers/__tests__/group_relationships-test.js
+++ b/app/soapbox/reducers/__tests__/group_relationships-test.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap } from 'immutable';
+
import reducer from '../group_relationships';
describe('group_relationships reducer', () => {
diff --git a/app/soapbox/reducers/__tests__/groups-test.js b/app/soapbox/reducers/__tests__/groups-test.js
index 1e6216224..94a1a6ffe 100644
--- a/app/soapbox/reducers/__tests__/groups-test.js
+++ b/app/soapbox/reducers/__tests__/groups-test.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap } from 'immutable';
+
import reducer from '../groups';
describe('groups reducer', () => {
diff --git a/app/soapbox/reducers/__tests__/height_cache-test.js b/app/soapbox/reducers/__tests__/height_cache-test.js
index 15dc40896..4b3ed8c21 100644
--- a/app/soapbox/reducers/__tests__/height_cache-test.js
+++ b/app/soapbox/reducers/__tests__/height_cache-test.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap } from 'immutable';
+
import reducer from '../height_cache';
import { HEIGHT_CACHE_CLEAR } from '../height_cache';
diff --git a/app/soapbox/reducers/__tests__/identity_proofs-test.js b/app/soapbox/reducers/__tests__/identity_proofs-test.js
index bdae2cdeb..fd004bfa8 100644
--- a/app/soapbox/reducers/__tests__/identity_proofs-test.js
+++ b/app/soapbox/reducers/__tests__/identity_proofs-test.js
@@ -1,5 +1,7 @@
import { Map as ImmutableMap } from 'immutable';
+
import * as actions from 'soapbox/actions/identity_proofs';
+
import reducer from '../identity_proofs';
describe('identity_proofs reducer', () => {
diff --git a/app/soapbox/reducers/__tests__/instance-test.js b/app/soapbox/reducers/__tests__/instance-test.js
index 60eb9dcfd..490df6ba2 100644
--- a/app/soapbox/reducers/__tests__/instance-test.js
+++ b/app/soapbox/reducers/__tests__/instance-test.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap } from 'immutable';
+
import reducer from '../instance';
describe('instance reducer', () => {
diff --git a/app/soapbox/reducers/__tests__/list_adder-test.js b/app/soapbox/reducers/__tests__/list_adder-test.js
index 6b4aee509..bda177fb4 100644
--- a/app/soapbox/reducers/__tests__/list_adder-test.js
+++ b/app/soapbox/reducers/__tests__/list_adder-test.js
@@ -1,5 +1,7 @@
import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
+
import * as actions from 'soapbox/actions/lists';
+
import reducer from '../list_adder';
describe('list_adder reducer', () => {
diff --git a/app/soapbox/reducers/__tests__/list_editor-test.js b/app/soapbox/reducers/__tests__/list_editor-test.js
index 3cf94a17b..0fe2ec121 100644
--- a/app/soapbox/reducers/__tests__/list_editor-test.js
+++ b/app/soapbox/reducers/__tests__/list_editor-test.js
@@ -1,5 +1,7 @@
import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
+
import * as actions from 'soapbox/actions/lists';
+
import reducer from '../list_editor';
describe('list_editor reducer', () => {
diff --git a/app/soapbox/reducers/__tests__/lists-test.js b/app/soapbox/reducers/__tests__/lists-test.js
index a7cf46333..56afd7a5c 100644
--- a/app/soapbox/reducers/__tests__/lists-test.js
+++ b/app/soapbox/reducers/__tests__/lists-test.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap } from 'immutable';
+
import reducer from '../lists';
describe('lists reducer', () => {
diff --git a/app/soapbox/reducers/__tests__/meta-test.js b/app/soapbox/reducers/__tests__/meta-test.js
index 341411380..cfdf882cb 100644
--- a/app/soapbox/reducers/__tests__/meta-test.js
+++ b/app/soapbox/reducers/__tests__/meta-test.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap } from 'immutable';
+
import reducer from '../meta';
describe('meta reducer', () => {
diff --git a/app/soapbox/reducers/__tests__/modal-test.js b/app/soapbox/reducers/__tests__/modal-test.js
index 46f68b6f8..4aba72b00 100644
--- a/app/soapbox/reducers/__tests__/modal-test.js
+++ b/app/soapbox/reducers/__tests__/modal-test.js
@@ -1,4 +1,5 @@
import { MODAL_OPEN, MODAL_CLOSE } from 'soapbox/actions/modal';
+
import reducer from '../modal';
describe('modal reducer', () => {
diff --git a/app/soapbox/reducers/__tests__/mutes-test.js b/app/soapbox/reducers/__tests__/mutes-test.js
index af6dcafc3..175f2ff38 100644
--- a/app/soapbox/reducers/__tests__/mutes-test.js
+++ b/app/soapbox/reducers/__tests__/mutes-test.js
@@ -1,8 +1,10 @@
import { Map as ImmutableMap } from 'immutable';
+
import {
MUTES_INIT_MODAL,
MUTES_TOGGLE_HIDE_NOTIFICATIONS,
} from 'soapbox/actions/mutes';
+
import reducer from '../mutes';
describe('mutes reducer', () => {
diff --git a/app/soapbox/reducers/__tests__/notifications-test.js b/app/soapbox/reducers/__tests__/notifications-test.js
index 4c2cd5e31..5c65341cc 100644
--- a/app/soapbox/reducers/__tests__/notifications-test.js
+++ b/app/soapbox/reducers/__tests__/notifications-test.js
@@ -1,5 +1,6 @@
import { Map as ImmutableMap, OrderedMap as ImmutableOrderedMap, fromJS } from 'immutable';
import { take } from 'lodash';
+
import intlMessages from 'soapbox/__fixtures__/intlMessages.json';
import notification from 'soapbox/__fixtures__/notification.json';
import notifications from 'soapbox/__fixtures__/notifications.json';
@@ -23,6 +24,7 @@ import {
NOTIFICATIONS_MARK_READ_REQUEST,
} from 'soapbox/actions/notifications';
import { TIMELINE_DELETE } from 'soapbox/actions/timelines';
+
import reducer from '../notifications';
describe('notifications reducer', () => {
diff --git a/app/soapbox/reducers/__tests__/patron-test.js b/app/soapbox/reducers/__tests__/patron-test.js
index da3dce78b..b83d2c025 100644
--- a/app/soapbox/reducers/__tests__/patron-test.js
+++ b/app/soapbox/reducers/__tests__/patron-test.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap, fromJS } from 'immutable';
+
import { PATRON_ACCOUNT_FETCH_SUCCESS } from '../../actions/patron';
import reducer from '../patron';
diff --git a/app/soapbox/reducers/__tests__/polls-test.js b/app/soapbox/reducers/__tests__/polls-test.js
index ef5ff1f1e..55b53a8b5 100644
--- a/app/soapbox/reducers/__tests__/polls-test.js
+++ b/app/soapbox/reducers/__tests__/polls-test.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap } from 'immutable';
+
import reducer from '../polls';
describe('polls reducer', () => {
diff --git a/app/soapbox/reducers/__tests__/push_notifications-test.js b/app/soapbox/reducers/__tests__/push_notifications-test.js
index ab5a7dc29..a5db7131d 100644
--- a/app/soapbox/reducers/__tests__/push_notifications-test.js
+++ b/app/soapbox/reducers/__tests__/push_notifications-test.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap } from 'immutable';
+
import reducer from '../push_notifications';
describe('push_notifications reducer', () => {
diff --git a/app/soapbox/reducers/__tests__/relationships-test.js b/app/soapbox/reducers/__tests__/relationships-test.js
index e680116ca..e2cdaea33 100644
--- a/app/soapbox/reducers/__tests__/relationships-test.js
+++ b/app/soapbox/reducers/__tests__/relationships-test.js
@@ -1,5 +1,7 @@
import { Map as ImmutableMap, fromJS } from 'immutable';
+
import lain from 'soapbox/__fixtures__/lain.json';
+
import {
ACCOUNT_IMPORT,
} from '../../actions/importer';
diff --git a/app/soapbox/reducers/__tests__/reports-test.js b/app/soapbox/reducers/__tests__/reports-test.js
index 66a158221..2719652cd 100644
--- a/app/soapbox/reducers/__tests__/reports-test.js
+++ b/app/soapbox/reducers/__tests__/reports-test.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap, Set as ImmutableSet } from 'immutable';
+
import reducer from '../reports';
describe('reports reducer', () => {
diff --git a/app/soapbox/reducers/__tests__/search-test.js b/app/soapbox/reducers/__tests__/search-test.js
index 8aefe8885..aa66b6849 100644
--- a/app/soapbox/reducers/__tests__/search-test.js
+++ b/app/soapbox/reducers/__tests__/search-test.js
@@ -1,8 +1,10 @@
import { Map as ImmutableMap } from 'immutable';
+
import {
SEARCH_CHANGE,
SEARCH_CLEAR,
} from 'soapbox/actions/search';
+
import reducer from '../search';
describe('search reducer', () => {
diff --git a/app/soapbox/reducers/__tests__/settings-test.js b/app/soapbox/reducers/__tests__/settings-test.js
index 2e2a4defa..b4574d55c 100644
--- a/app/soapbox/reducers/__tests__/settings-test.js
+++ b/app/soapbox/reducers/__tests__/settings-test.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap } from 'immutable';
+
import reducer from '../settings';
describe('settings reducer', () => {
diff --git a/app/soapbox/reducers/__tests__/soapbox-test.js b/app/soapbox/reducers/__tests__/soapbox-test.js
index 52b5d4ec3..20b67fb09 100644
--- a/app/soapbox/reducers/__tests__/soapbox-test.js
+++ b/app/soapbox/reducers/__tests__/soapbox-test.js
@@ -1,8 +1,10 @@
import { Map as ImmutableMap } from 'immutable';
+
import soapboxConfig from 'soapbox/__fixtures__/admin_api_frontend_config.json';
import soapbox from 'soapbox/__fixtures__/soapbox.json';
import { ADMIN_CONFIG_UPDATE_SUCCESS } from 'soapbox/actions/admin';
import * as actions from 'soapbox/actions/soapbox';
+
import reducer from '../soapbox';
describe('soapbox reducer', () => {
diff --git a/app/soapbox/reducers/__tests__/status_lists-test.js b/app/soapbox/reducers/__tests__/status_lists-test.js
index 7914faf24..e04a24377 100644
--- a/app/soapbox/reducers/__tests__/status_lists-test.js
+++ b/app/soapbox/reducers/__tests__/status_lists-test.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap, OrderedSet as ImmutableOrderedSet } from 'immutable';
+
import reducer from '../status_lists';
describe('status_lists reducer', () => {
diff --git a/app/soapbox/reducers/__tests__/statuses-test.js b/app/soapbox/reducers/__tests__/statuses-test.js
index e16463714..37a47256d 100644
--- a/app/soapbox/reducers/__tests__/statuses-test.js
+++ b/app/soapbox/reducers/__tests__/statuses-test.js
@@ -1,9 +1,11 @@
import { Map as ImmutableMap, fromJS } from 'immutable';
+
import { STATUS_IMPORT } from 'soapbox/actions/importer';
import {
STATUS_CREATE_REQUEST,
STATUS_CREATE_FAIL,
} from 'soapbox/actions/statuses';
+
import reducer from '../statuses';
describe('statuses reducer', () => {
diff --git a/app/soapbox/reducers/__tests__/suggestions-test.js b/app/soapbox/reducers/__tests__/suggestions-test.js
index 003587749..7da0b7f75 100644
--- a/app/soapbox/reducers/__tests__/suggestions-test.js
+++ b/app/soapbox/reducers/__tests__/suggestions-test.js
@@ -1,5 +1,7 @@
import { Map as ImmutableMap, List as ImmutableList, fromJS } from 'immutable';
+
import { SUGGESTIONS_DISMISS } from 'soapbox/actions/suggestions';
+
import reducer from '../suggestions';
describe('suggestions reducer', () => {
diff --git a/app/soapbox/reducers/__tests__/timelines-test.js b/app/soapbox/reducers/__tests__/timelines-test.js
index 5d18eb399..b00a79ebd 100644
--- a/app/soapbox/reducers/__tests__/timelines-test.js
+++ b/app/soapbox/reducers/__tests__/timelines-test.js
@@ -1,9 +1,11 @@
import { Map as ImmutableMap, OrderedSet as ImmutableOrderedSet, fromJS } from 'immutable';
+
import {
TIMELINE_EXPAND_REQUEST,
TIMELINE_EXPAND_FAIL,
TIMELINE_EXPAND_SUCCESS,
} from 'soapbox/actions/timelines';
+
import reducer from '../timelines';
describe('timelines reducer', () => {
diff --git a/app/soapbox/reducers/__tests__/trends-test.js b/app/soapbox/reducers/__tests__/trends-test.js
index 876a9dacf..5ebeabb31 100644
--- a/app/soapbox/reducers/__tests__/trends-test.js
+++ b/app/soapbox/reducers/__tests__/trends-test.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
+
import reducer from '../trends';
describe('trends reducer', () => {
diff --git a/app/soapbox/reducers/__tests__/user_lists-test.js b/app/soapbox/reducers/__tests__/user_lists-test.js
index 4fdbb8ca3..9ef1928ac 100644
--- a/app/soapbox/reducers/__tests__/user_lists-test.js
+++ b/app/soapbox/reducers/__tests__/user_lists-test.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap } from 'immutable';
+
import reducer from '../user_lists';
describe('user_lists reducer', () => {
diff --git a/app/soapbox/reducers/accounts.js b/app/soapbox/reducers/accounts.js
index 35387f500..c8b52dd37 100644
--- a/app/soapbox/reducers/accounts.js
+++ b/app/soapbox/reducers/accounts.js
@@ -3,6 +3,7 @@ import {
List as ImmutableList,
fromJS,
} from 'immutable';
+
import {
ADMIN_USERS_FETCH_SUCCESS,
ADMIN_USERS_TAG_REQUEST,
@@ -30,6 +31,7 @@ import { CHATS_FETCH_SUCCESS, CHATS_EXPAND_SUCCESS, CHAT_FETCH_SUCCESS } from 's
import { normalizeAccount as normalizeAccount2 } from 'soapbox/actions/importer/normalizer';
import { STREAMING_CHAT_UPDATE } from 'soapbox/actions/streaming';
import { normalizePleromaUserFields } from 'soapbox/utils/pleroma';
+
import {
ACCOUNT_IMPORT,
ACCOUNTS_IMPORT,
diff --git a/app/soapbox/reducers/accounts_counters.js b/app/soapbox/reducers/accounts_counters.js
index 3af46ecf5..60b9e8cab 100644
--- a/app/soapbox/reducers/accounts_counters.js
+++ b/app/soapbox/reducers/accounts_counters.js
@@ -1,5 +1,7 @@
import { Map as ImmutableMap, fromJS } from 'immutable';
+
import { STREAMING_FOLLOW_RELATIONSHIPS_UPDATE } from 'soapbox/actions/streaming';
+
import {
ACCOUNT_FOLLOW_SUCCESS,
ACCOUNT_UNFOLLOW_SUCCESS,
diff --git a/app/soapbox/reducers/accounts_meta.js b/app/soapbox/reducers/accounts_meta.js
index 00b143005..d3668d524 100644
--- a/app/soapbox/reducers/accounts_meta.js
+++ b/app/soapbox/reducers/accounts_meta.js
@@ -4,6 +4,7 @@
*/
import { Map as ImmutableMap, fromJS } from 'immutable';
+
import { VERIFY_CREDENTIALS_SUCCESS, AUTH_ACCOUNT_REMEMBER_SUCCESS } from 'soapbox/actions/auth';
import { ME_FETCH_SUCCESS, ME_PATCH_SUCCESS } from 'soapbox/actions/me';
diff --git a/app/soapbox/reducers/admin.js b/app/soapbox/reducers/admin.js
index 1270af09a..1da0ef7aa 100644
--- a/app/soapbox/reducers/admin.js
+++ b/app/soapbox/reducers/admin.js
@@ -6,6 +6,7 @@ import {
fromJS,
is,
} from 'immutable';
+
import {
ADMIN_CONFIG_FETCH_SUCCESS,
ADMIN_CONFIG_UPDATE_SUCCESS,
diff --git a/app/soapbox/reducers/admin_log.js b/app/soapbox/reducers/admin_log.js
index af23c7a71..9008de52b 100644
--- a/app/soapbox/reducers/admin_log.js
+++ b/app/soapbox/reducers/admin_log.js
@@ -3,6 +3,7 @@ import {
OrderedSet as ImmutableOrderedSet,
fromJS,
} from 'immutable';
+
import { ADMIN_LOG_FETCH_SUCCESS } from 'soapbox/actions/admin';
const initialState = ImmutableMap({
diff --git a/app/soapbox/reducers/alerts.js b/app/soapbox/reducers/alerts.js
index 866c51753..794133b14 100644
--- a/app/soapbox/reducers/alerts.js
+++ b/app/soapbox/reducers/alerts.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
+
import {
ALERT_SHOW,
ALERT_DISMISS,
diff --git a/app/soapbox/reducers/aliases.js b/app/soapbox/reducers/aliases.js
index 4f3b86a69..7c6394ee9 100644
--- a/app/soapbox/reducers/aliases.js
+++ b/app/soapbox/reducers/aliases.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
+
import {
ALIASES_SUGGESTIONS_READY,
ALIASES_SUGGESTIONS_CLEAR,
diff --git a/app/soapbox/reducers/auth.js b/app/soapbox/reducers/auth.js
index df1be86d8..bf54f5973 100644
--- a/app/soapbox/reducers/auth.js
+++ b/app/soapbox/reducers/auth.js
@@ -1,9 +1,11 @@
import { Map as ImmutableMap, List as ImmutableList, fromJS } from 'immutable';
import { trim } from 'lodash';
+
import { MASTODON_PRELOAD_IMPORT } from 'soapbox/actions/preload';
import { FE_SUBDIRECTORY } from 'soapbox/build_config';
import KVStore from 'soapbox/storage/kv_store';
import { validId, isURL } from 'soapbox/utils/auth';
+
import {
AUTH_APP_CREATED,
AUTH_LOGGED_IN,
diff --git a/app/soapbox/reducers/backups.js b/app/soapbox/reducers/backups.js
index a60d8e9bf..349b9012a 100644
--- a/app/soapbox/reducers/backups.js
+++ b/app/soapbox/reducers/backups.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap, fromJS } from 'immutable';
+
import {
BACKUPS_FETCH_SUCCESS,
BACKUPS_CREATE_SUCCESS,
diff --git a/app/soapbox/reducers/chat_message_lists.js b/app/soapbox/reducers/chat_message_lists.js
index 6284b3824..9939885e6 100644
--- a/app/soapbox/reducers/chat_message_lists.js
+++ b/app/soapbox/reducers/chat_message_lists.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap, OrderedSet as ImmutableOrderedSet } from 'immutable';
+
import {
CHATS_FETCH_SUCCESS,
CHATS_EXPAND_SUCCESS,
diff --git a/app/soapbox/reducers/chat_messages.js b/app/soapbox/reducers/chat_messages.js
index 26d55b850..a0787d077 100644
--- a/app/soapbox/reducers/chat_messages.js
+++ b/app/soapbox/reducers/chat_messages.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap, fromJS } from 'immutable';
+
import {
CHATS_FETCH_SUCCESS,
CHATS_EXPAND_SUCCESS,
diff --git a/app/soapbox/reducers/chats.js b/app/soapbox/reducers/chats.js
index 922099c9a..85447adc0 100644
--- a/app/soapbox/reducers/chats.js
+++ b/app/soapbox/reducers/chats.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap, fromJS } from 'immutable';
+
import {
CHATS_FETCH_SUCCESS,
CHATS_FETCH_REQUEST,
diff --git a/app/soapbox/reducers/compose.js b/app/soapbox/reducers/compose.js
index def17599c..b11a62020 100644
--- a/app/soapbox/reducers/compose.js
+++ b/app/soapbox/reducers/compose.js
@@ -1,5 +1,7 @@
import { Map as ImmutableMap, List as ImmutableList, OrderedSet as ImmutableOrderedSet, fromJS } from 'immutable';
+
import { tagHistory } from 'soapbox/settings';
+
import {
COMPOSE_MOUNT,
COMPOSE_UNMOUNT,
diff --git a/app/soapbox/reducers/contexts.js b/app/soapbox/reducers/contexts.js
index dd97c41f3..f8412c624 100644
--- a/app/soapbox/reducers/contexts.js
+++ b/app/soapbox/reducers/contexts.js
@@ -1,5 +1,7 @@
import { Map as ImmutableMap, OrderedSet as ImmutableOrderedSet } from 'immutable';
+
import { STATUS_IMPORT, STATUSES_IMPORT } from 'soapbox/actions/importer';
+
import {
ACCOUNT_BLOCK_SUCCESS,
ACCOUNT_MUTE_SUCCESS,
diff --git a/app/soapbox/reducers/conversations.js b/app/soapbox/reducers/conversations.js
index f7c9884b4..29ea929f3 100644
--- a/app/soapbox/reducers/conversations.js
+++ b/app/soapbox/reducers/conversations.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
+
import {
CONVERSATIONS_MOUNT,
CONVERSATIONS_UNMOUNT,
diff --git a/app/soapbox/reducers/custom_emojis.js b/app/soapbox/reducers/custom_emojis.js
index 55d279c08..7008d5234 100644
--- a/app/soapbox/reducers/custom_emojis.js
+++ b/app/soapbox/reducers/custom_emojis.js
@@ -1,6 +1,8 @@
import { List as ImmutableList, fromJS } from 'immutable';
+
import { emojis as emojiData } from 'soapbox/features/emoji/emoji_mart_data_light';
import { addCustomToPool } from 'soapbox/features/emoji/emoji_mart_search_light';
+
import { CUSTOM_EMOJIS_FETCH_SUCCESS } from '../actions/custom_emojis';
import { buildCustomEmojis } from '../features/emoji/emoji';
diff --git a/app/soapbox/reducers/domain_lists.js b/app/soapbox/reducers/domain_lists.js
index 3ac3b5696..8cdd3ba37 100644
--- a/app/soapbox/reducers/domain_lists.js
+++ b/app/soapbox/reducers/domain_lists.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap, OrderedSet as ImmutableOrderedSet } from 'immutable';
+
import {
DOMAIN_BLOCKS_FETCH_SUCCESS,
DOMAIN_BLOCKS_EXPAND_SUCCESS,
diff --git a/app/soapbox/reducers/dropdown_menu.js b/app/soapbox/reducers/dropdown_menu.js
index 4cceee9f5..6b0ae8872 100644
--- a/app/soapbox/reducers/dropdown_menu.js
+++ b/app/soapbox/reducers/dropdown_menu.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap } from 'immutable';
+
import {
DROPDOWN_MENU_OPEN,
DROPDOWN_MENU_CLOSE,
diff --git a/app/soapbox/reducers/filters.js b/app/soapbox/reducers/filters.js
index c9af1df55..488706573 100644
--- a/app/soapbox/reducers/filters.js
+++ b/app/soapbox/reducers/filters.js
@@ -1,4 +1,5 @@
import { List as ImmutableList, fromJS } from 'immutable';
+
import { FILTERS_FETCH_SUCCESS } from '../actions/filters';
export default function filters(state = ImmutableList(), action) {
diff --git a/app/soapbox/reducers/group_editor.js b/app/soapbox/reducers/group_editor.js
index b77b8e508..4086f0388 100644
--- a/app/soapbox/reducers/group_editor.js
+++ b/app/soapbox/reducers/group_editor.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap } from 'immutable';
+
import {
GROUP_CREATE_REQUEST,
GROUP_CREATE_FAIL,
diff --git a/app/soapbox/reducers/group_lists.js b/app/soapbox/reducers/group_lists.js
index 12944b106..c35a65bdd 100644
--- a/app/soapbox/reducers/group_lists.js
+++ b/app/soapbox/reducers/group_lists.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
+
import { GROUPS_FETCH_SUCCESS } from '../actions/groups';
const initialState = ImmutableMap({
diff --git a/app/soapbox/reducers/group_relationships.js b/app/soapbox/reducers/group_relationships.js
index 1735f0150..469b17a6b 100644
--- a/app/soapbox/reducers/group_relationships.js
+++ b/app/soapbox/reducers/group_relationships.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap, fromJS } from 'immutable';
+
import { GROUP_RELATIONSHIPS_FETCH_SUCCESS, GROUP_JOIN_SUCCESS, GROUP_LEAVE_SUCCESS } from '../actions/groups';
const normalizeRelationship = (state, relationship) => state.set(relationship.id, fromJS(relationship));
diff --git a/app/soapbox/reducers/groups.js b/app/soapbox/reducers/groups.js
index 70070a1b7..56309aace 100644
--- a/app/soapbox/reducers/groups.js
+++ b/app/soapbox/reducers/groups.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap, fromJS } from 'immutable';
+
import { GROUP_UPDATE_SUCCESS } from '../actions/group_editor';
import {
GROUP_FETCH_SUCCESS,
diff --git a/app/soapbox/reducers/height_cache.js b/app/soapbox/reducers/height_cache.js
index 77a59c8c5..2664d4f82 100644
--- a/app/soapbox/reducers/height_cache.js
+++ b/app/soapbox/reducers/height_cache.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap } from 'immutable';
+
import { HEIGHT_CACHE_SET, HEIGHT_CACHE_CLEAR } from '../actions/height_cache';
const initialState = ImmutableMap();
diff --git a/app/soapbox/reducers/identity_proofs.js b/app/soapbox/reducers/identity_proofs.js
index d3034659f..64f258abe 100644
--- a/app/soapbox/reducers/identity_proofs.js
+++ b/app/soapbox/reducers/identity_proofs.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap, fromJS } from 'immutable';
+
import {
IDENTITY_PROOFS_ACCOUNT_FETCH_REQUEST,
IDENTITY_PROOFS_ACCOUNT_FETCH_SUCCESS,
diff --git a/app/soapbox/reducers/index.js b/app/soapbox/reducers/index.js
index 2cd55236d..604d2d524 100644
--- a/app/soapbox/reducers/index.js
+++ b/app/soapbox/reducers/index.js
@@ -1,6 +1,8 @@
import { Map as ImmutableMap } from 'immutable';
import { combineReducers } from 'redux-immutable';
+
import { AUTH_LOGGED_OUT } from 'soapbox/actions/auth';
+
import accounts from './accounts';
import accounts_counters from './accounts_counters';
import accounts_meta from './accounts_meta';
diff --git a/app/soapbox/reducers/instance.js b/app/soapbox/reducers/instance.js
index c0f3f417e..8c91b2148 100644
--- a/app/soapbox/reducers/instance.js
+++ b/app/soapbox/reducers/instance.js
@@ -1,8 +1,10 @@
import { Map as ImmutableMap, List as ImmutableList, fromJS } from 'immutable';
+
import { ADMIN_CONFIG_UPDATE_REQUEST, ADMIN_CONFIG_UPDATE_SUCCESS } from 'soapbox/actions/admin';
import { PLEROMA_PRELOAD_IMPORT } from 'soapbox/actions/preload';
import KVStore from 'soapbox/storage/kv_store';
import { ConfigDB } from 'soapbox/utils/config_db';
+
import {
INSTANCE_REMEMBER_SUCCESS,
INSTANCE_FETCH_SUCCESS,
diff --git a/app/soapbox/reducers/list_adder.js b/app/soapbox/reducers/list_adder.js
index b144610a5..0f61273aa 100644
--- a/app/soapbox/reducers/list_adder.js
+++ b/app/soapbox/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/soapbox/reducers/list_editor.js b/app/soapbox/reducers/list_editor.js
index 6e020dbe6..ceceb27c7 100644
--- a/app/soapbox/reducers/list_editor.js
+++ b/app/soapbox/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/soapbox/reducers/lists.js b/app/soapbox/reducers/lists.js
index 6c78cac9e..2a797772b 100644
--- a/app/soapbox/reducers/lists.js
+++ b/app/soapbox/reducers/lists.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap, fromJS } from 'immutable';
+
import {
LIST_FETCH_SUCCESS,
LIST_FETCH_FAIL,
diff --git a/app/soapbox/reducers/meta.js b/app/soapbox/reducers/meta.js
index c2d2dafb3..46f662ece 100644
--- a/app/soapbox/reducers/meta.js
+++ b/app/soapbox/reducers/meta.js
@@ -1,6 +1,7 @@
'use strict';
import { Map as ImmutableMap } from 'immutable';
+
import { INSTANCE_FETCH_FAIL } from 'soapbox/actions/instance';
const initialState = ImmutableMap();
diff --git a/app/soapbox/reducers/notifications.js b/app/soapbox/reducers/notifications.js
index 44691b9ed..401fe92a9 100644
--- a/app/soapbox/reducers/notifications.js
+++ b/app/soapbox/reducers/notifications.js
@@ -1,9 +1,11 @@
import { Map as ImmutableMap, OrderedMap as ImmutableOrderedMap, fromJS } from 'immutable';
+
import {
MARKER_FETCH_SUCCESS,
MARKER_SAVE_REQUEST,
MARKER_SAVE_SUCCESS,
} from 'soapbox/actions/markers';
+
import {
ACCOUNT_BLOCK_SUCCESS,
ACCOUNT_MUTE_SUCCESS,
diff --git a/app/soapbox/reducers/patron.js b/app/soapbox/reducers/patron.js
index 9c4796cd7..66a8940d8 100644
--- a/app/soapbox/reducers/patron.js
+++ b/app/soapbox/reducers/patron.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap, fromJS } from 'immutable';
+
import {
PATRON_INSTANCE_FETCH_SUCCESS,
PATRON_ACCOUNT_FETCH_SUCCESS,
diff --git a/app/soapbox/reducers/pending_statuses.js b/app/soapbox/reducers/pending_statuses.js
index 243631745..1c18d7599 100644
--- a/app/soapbox/reducers/pending_statuses.js
+++ b/app/soapbox/reducers/pending_statuses.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap, fromJS } from 'immutable';
+
import {
STATUS_CREATE_REQUEST,
STATUS_CREATE_SUCCESS,
diff --git a/app/soapbox/reducers/polls.js b/app/soapbox/reducers/polls.js
index b8d043fe0..24c805457 100644
--- a/app/soapbox/reducers/polls.js
+++ b/app/soapbox/reducers/polls.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap, fromJS } from 'immutable';
+
import { POLLS_IMPORT } from 'soapbox/actions/importer';
const importPolls = (state, polls) => state.withMutations(map => polls.forEach(poll => map.set(poll.id, fromJS(poll))));
diff --git a/app/soapbox/reducers/profile_hover_card.js b/app/soapbox/reducers/profile_hover_card.js
index 5cf36a29d..fcb2cbbe9 100644
--- a/app/soapbox/reducers/profile_hover_card.js
+++ b/app/soapbox/reducers/profile_hover_card.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap } from 'immutable';
+
import {
PROFILE_HOVER_CARD_OPEN,
PROFILE_HOVER_CARD_CLOSE,
diff --git a/app/soapbox/reducers/push_notifications.js b/app/soapbox/reducers/push_notifications.js
index 393032d76..c622d215b 100644
--- a/app/soapbox/reducers/push_notifications.js
+++ b/app/soapbox/reducers/push_notifications.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap } from 'immutable';
+
import { SET_BROWSER_SUPPORT, SET_SUBSCRIPTION, CLEAR_SUBSCRIPTION, SET_ALERTS } from '../actions/push_notifications';
const initialState = ImmutableMap({
diff --git a/app/soapbox/reducers/relationships.js b/app/soapbox/reducers/relationships.js
index f0c507b01..29276c5c3 100644
--- a/app/soapbox/reducers/relationships.js
+++ b/app/soapbox/reducers/relationships.js
@@ -1,6 +1,8 @@
import { Map as ImmutableMap, fromJS } from 'immutable';
import { get } from 'lodash';
+
import { STREAMING_FOLLOW_RELATIONSHIPS_UPDATE } from 'soapbox/actions/streaming';
+
import {
ACCOUNT_FOLLOW_SUCCESS,
ACCOUNT_FOLLOW_REQUEST,
diff --git a/app/soapbox/reducers/reports.js b/app/soapbox/reducers/reports.js
index 03e29a000..5f9224ba9 100644
--- a/app/soapbox/reducers/reports.js
+++ b/app/soapbox/reducers/reports.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap, Set as ImmutableSet } from 'immutable';
+
import {
REPORT_INIT,
REPORT_SUBMIT_REQUEST,
diff --git a/app/soapbox/reducers/scheduled_statuses.js b/app/soapbox/reducers/scheduled_statuses.js
index 3da90a120..48adabbae 100644
--- a/app/soapbox/reducers/scheduled_statuses.js
+++ b/app/soapbox/reducers/scheduled_statuses.js
@@ -1,10 +1,12 @@
import { Map as ImmutableMap, fromJS } from 'immutable';
+
import {
SCHEDULED_STATUSES_FETCH_SUCCESS,
SCHEDULED_STATUS_CANCEL_REQUEST,
SCHEDULED_STATUS_CANCEL_SUCCESS,
} from 'soapbox/actions/scheduled_statuses';
import { STATUS_CREATE_SUCCESS } from 'soapbox/actions/statuses';
+
import { STATUS_IMPORT, STATUSES_IMPORT } from '../actions/importer';
const importStatus = (state, status) => {
diff --git a/app/soapbox/reducers/search.js b/app/soapbox/reducers/search.js
index af0e3960d..1d3b52432 100644
--- a/app/soapbox/reducers/search.js
+++ b/app/soapbox/reducers/search.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap, OrderedSet as ImmutableOrderedSet, fromJS } from 'immutable';
+
import {
COMPOSE_MENTION,
COMPOSE_REPLY,
diff --git a/app/soapbox/reducers/security.js b/app/soapbox/reducers/security.js
index b1c3d1bf5..01e5686c7 100644
--- a/app/soapbox/reducers/security.js
+++ b/app/soapbox/reducers/security.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap, List as ImmutableList, fromJS } from 'immutable';
+
import {
MFA_FETCH_SUCCESS,
MFA_CONFIRM_SUCCESS,
diff --git a/app/soapbox/reducers/settings.js b/app/soapbox/reducers/settings.js
index ae161dba2..dfe5c7223 100644
--- a/app/soapbox/reducers/settings.js
+++ b/app/soapbox/reducers/settings.js
@@ -1,5 +1,7 @@
import { Map as ImmutableMap, fromJS } from 'immutable';
+
import { ME_FETCH_SUCCESS } from 'soapbox/actions/me';
+
import { EMOJI_USE } from '../actions/emojis';
import { NOTIFICATIONS_FILTER_SET } from '../actions/notifications';
import { SEARCH_FILTER_SET } from '../actions/search';
diff --git a/app/soapbox/reducers/soapbox.js b/app/soapbox/reducers/soapbox.js
index db31d4f49..a208b4301 100644
--- a/app/soapbox/reducers/soapbox.js
+++ b/app/soapbox/reducers/soapbox.js
@@ -1,7 +1,9 @@
import { Map as ImmutableMap, fromJS } from 'immutable';
+
import { PLEROMA_PRELOAD_IMPORT } from 'soapbox/actions/preload';
import KVStore from 'soapbox/storage/kv_store';
import { ConfigDB } from 'soapbox/utils/config_db';
+
import { ADMIN_CONFIG_UPDATE_SUCCESS } from '../actions/admin';
import {
SOAPBOX_CONFIG_REQUEST_SUCCESS,
diff --git a/app/soapbox/reducers/status_lists.js b/app/soapbox/reducers/status_lists.js
index ba7885002..e49bb02ef 100644
--- a/app/soapbox/reducers/status_lists.js
+++ b/app/soapbox/reducers/status_lists.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap, OrderedSet as ImmutableOrderedSet } from 'immutable';
+
import {
BOOKMARKED_STATUSES_FETCH_REQUEST,
BOOKMARKED_STATUSES_FETCH_SUCCESS,
diff --git a/app/soapbox/reducers/statuses.js b/app/soapbox/reducers/statuses.js
index b3d1e3932..144eb8eef 100644
--- a/app/soapbox/reducers/statuses.js
+++ b/app/soapbox/reducers/statuses.js
@@ -1,5 +1,7 @@
import { Map as ImmutableMap, fromJS } from 'immutable';
+
import { simulateEmojiReact, simulateUnEmojiReact } from 'soapbox/utils/emoji_reacts';
+
import {
EMOJI_REACT_REQUEST,
UNEMOJI_REACT_REQUEST,
diff --git a/app/soapbox/reducers/suggestions.js b/app/soapbox/reducers/suggestions.js
index 8ef2ff8c4..5362773e7 100644
--- a/app/soapbox/reducers/suggestions.js
+++ b/app/soapbox/reducers/suggestions.js
@@ -1,6 +1,8 @@
import { Map as ImmutableMap, List as ImmutableList, fromJS } from 'immutable';
+
import { ACCOUNT_BLOCK_SUCCESS, ACCOUNT_MUTE_SUCCESS } from 'soapbox/actions/accounts';
import { DOMAIN_BLOCK_SUCCESS } from 'soapbox/actions/domain_blocks';
+
import {
SUGGESTIONS_FETCH_REQUEST,
SUGGESTIONS_FETCH_SUCCESS,
diff --git a/app/soapbox/reducers/timelines.js b/app/soapbox/reducers/timelines.js
index fbe825364..2f840683d 100644
--- a/app/soapbox/reducers/timelines.js
+++ b/app/soapbox/reducers/timelines.js
@@ -4,6 +4,7 @@ import {
OrderedSet as ImmutableOrderedSet,
fromJS,
} from 'immutable';
+
import {
ACCOUNT_BLOCK_SUCCESS,
ACCOUNT_MUTE_SUCCESS,
diff --git a/app/soapbox/reducers/trends.js b/app/soapbox/reducers/trends.js
index 02c0e6beb..c5822a660 100644
--- a/app/soapbox/reducers/trends.js
+++ b/app/soapbox/reducers/trends.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap, List as ImmutableList, fromJS } from 'immutable';
+
import {
TRENDS_FETCH_REQUEST,
TRENDS_FETCH_SUCCESS,
diff --git a/app/soapbox/reducers/user_lists.js b/app/soapbox/reducers/user_lists.js
index 252ece7e5..6936bd4f4 100644
--- a/app/soapbox/reducers/user_lists.js
+++ b/app/soapbox/reducers/user_lists.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap, OrderedSet as ImmutableOrderedSet } from 'immutable';
+
import {
FOLLOWERS_FETCH_SUCCESS,
FOLLOWERS_EXPAND_SUCCESS,
diff --git a/app/soapbox/selectors/index.js b/app/soapbox/selectors/index.js
index 825a7e7cd..bf14c99bf 100644
--- a/app/soapbox/selectors/index.js
+++ b/app/soapbox/selectors/index.js
@@ -4,6 +4,7 @@ import {
OrderedSet as ImmutableOrderedSet,
} from 'immutable';
import { createSelector } from 'reselect';
+
import { getSettings } from 'soapbox/actions/settings';
import { getDomain } from 'soapbox/utils/accounts';
import { validId } from 'soapbox/utils/auth';
diff --git a/app/soapbox/service_worker/web_push_notifications.js b/app/soapbox/service_worker/web_push_notifications.js
index c7e41e807..a43fec6d8 100644
--- a/app/soapbox/service_worker/web_push_notifications.js
+++ b/app/soapbox/service_worker/web_push_notifications.js
@@ -1,6 +1,7 @@
import IntlMessageFormat from 'intl-messageformat';
import 'intl-pluralrules';
import { unescape } from 'lodash';
+
import locales from './web_push_locales';
const MAX_NOTIFICATIONS = 5;
diff --git a/app/soapbox/store/configureStore.js b/app/soapbox/store/configureStore.js
index 0ce23eb89..2c094c4a4 100644
--- a/app/soapbox/store/configureStore.js
+++ b/app/soapbox/store/configureStore.js
@@ -1,5 +1,6 @@
import { createStore, applyMiddleware, compose } from 'redux';
import thunk from 'redux-thunk';
+
import errorsMiddleware from '../middleware/errors';
import soundsMiddleware from '../middleware/sounds';
import appReducer from '../reducers';
diff --git a/app/soapbox/stream.js b/app/soapbox/stream.js
index c6d648d7d..fb0474367 100644
--- a/app/soapbox/stream.js
+++ b/app/soapbox/stream.js
@@ -1,6 +1,7 @@
'use strict';
import WebSocketClient from '@gamestdio/websocket';
+
import { getAccessToken } from 'soapbox/utils/auth';
const randomIntUpTo = max => Math.floor(Math.random() * Math.floor(max));
diff --git a/app/soapbox/test_helpers.js b/app/soapbox/test_helpers.js
index d562f1f95..719c29129 100644
--- a/app/soapbox/test_helpers.js
+++ b/app/soapbox/test_helpers.js
@@ -8,6 +8,7 @@ import { BrowserRouter } from 'react-router-dom';
import renderer from 'react-test-renderer';
import configureMockStore from 'redux-mock-store';
import thunk from 'redux-thunk';
+
import rootReducer from 'soapbox/reducers';
// Mock Redux
diff --git a/app/soapbox/test_setup.js b/app/soapbox/test_setup.js
index 05f248813..a3432a744 100644
--- a/app/soapbox/test_setup.js
+++ b/app/soapbox/test_setup.js
@@ -2,6 +2,7 @@
import { configure } from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
+
import { __clear as clearApiMocks } from 'soapbox/api';
// Enzyme
diff --git a/app/soapbox/utils/__tests__/accounts-test.js b/app/soapbox/utils/__tests__/accounts-test.js
index 323725075..15a42ec57 100644
--- a/app/soapbox/utils/__tests__/accounts-test.js
+++ b/app/soapbox/utils/__tests__/accounts-test.js
@@ -1,4 +1,5 @@
import { fromJS } from 'immutable';
+
import {
getDomain,
acctFull,
diff --git a/app/soapbox/utils/__tests__/config_db-test.js b/app/soapbox/utils/__tests__/config_db-test.js
index a98dd3066..b8ad15e0f 100644
--- a/app/soapbox/utils/__tests__/config_db-test.js
+++ b/app/soapbox/utils/__tests__/config_db-test.js
@@ -1,5 +1,7 @@
import { fromJS } from 'immutable';
+
import config_db from 'soapbox/__fixtures__/config_db.json';
+
import { ConfigDB } from '../config_db';
test('find', () => {
diff --git a/app/soapbox/utils/__tests__/emoji_reacts-test.js b/app/soapbox/utils/__tests__/emoji_reacts-test.js
index 7995f762b..c4b05960c 100644
--- a/app/soapbox/utils/__tests__/emoji_reacts-test.js
+++ b/app/soapbox/utils/__tests__/emoji_reacts-test.js
@@ -1,4 +1,5 @@
import { fromJS } from 'immutable';
+
import {
sortEmoji,
mergeEmojiFavourites,
diff --git a/app/soapbox/utils/__tests__/features-test.js b/app/soapbox/utils/__tests__/features-test.js
index 6c9cbfddb..aec1eb1db 100644
--- a/app/soapbox/utils/__tests__/features-test.js
+++ b/app/soapbox/utils/__tests__/features-test.js
@@ -1,4 +1,5 @@
import { Map as ImmutableMap } from 'immutable';
+
import {
parseVersion,
getFeatures,
diff --git a/app/soapbox/utils/__tests__/timelines-test.js b/app/soapbox/utils/__tests__/timelines-test.js
index c19bd8126..d631c19ea 100644
--- a/app/soapbox/utils/__tests__/timelines-test.js
+++ b/app/soapbox/utils/__tests__/timelines-test.js
@@ -1,4 +1,5 @@
import { fromJS } from 'immutable';
+
import { shouldFilter } from '../timelines';
describe('shouldFilter', () => {
diff --git a/app/soapbox/utils/code.js b/app/soapbox/utils/code.js
index 9b6d46bbc..49d6b8352 100644
--- a/app/soapbox/utils/code.js
+++ b/app/soapbox/utils/code.js
@@ -1,5 +1,6 @@
// @preval
const { execSync } = require('child_process');
+
const pkg = require('../../../package.json');
const shortRepoName = url => new URL(url).pathname.substring(1);
diff --git a/app/soapbox/utils/static.js b/app/soapbox/utils/static.js
index e9fcd7001..fd5dee9d8 100644
--- a/app/soapbox/utils/static.js
+++ b/app/soapbox/utils/static.js
@@ -4,6 +4,7 @@
*/
import { join } from 'path';
+
import { FE_SUBDIRECTORY } from 'soapbox/build_config';
export const joinPublicPath = (...paths) => {
diff --git a/webpack/development.js b/webpack/development.js
index 9beb0cf5a..526ff5c0b 100644
--- a/webpack/development.js
+++ b/webpack/development.js
@@ -2,7 +2,9 @@
console.log('Running in development mode'); // eslint-disable-line no-console
const { join } = require('path');
+
const { merge } = require('webpack-merge');
+
const sharedConfig = require('./shared');
const watchOptions = {};
diff --git a/webpack/production.js b/webpack/production.js
index 65869c476..53265caf3 100644
--- a/webpack/production.js
+++ b/webpack/production.js
@@ -2,9 +2,11 @@
console.log('Running in production mode'); // eslint-disable-line no-console
const { join } = require('path');
+
const OfflinePlugin = require('@lcdp/offline-plugin');
const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer');
const { merge } = require('webpack-merge');
+
const sharedConfig = require('./shared');
const { FE_SUBDIRECTORY } = require(join(__dirname, '..', 'app', 'soapbox', 'build_config'));
diff --git a/webpack/rules/babel-build-config.js b/webpack/rules/babel-build-config.js
index 78e2b47aa..8b1088fa6 100644
--- a/webpack/rules/babel-build-config.js
+++ b/webpack/rules/babel-build-config.js
@@ -1,4 +1,5 @@
const { resolve } = require('path');
+
const { env } = require('../configuration');
// This is a hack, used to force build_config @preval to recompile
diff --git a/webpack/rules/babel-git.js b/webpack/rules/babel-git.js
index b68139ed6..eac6c9877 100644
--- a/webpack/rules/babel-git.js
+++ b/webpack/rules/babel-git.js
@@ -1,4 +1,5 @@
const { resolve } = require('path');
+
const { env } = require('../configuration');
// This is a hack, used in conjunction with rules/git-refresh.js
diff --git a/webpack/rules/babel.js b/webpack/rules/babel.js
index 2fc245c43..ccfd405d0 100644
--- a/webpack/rules/babel.js
+++ b/webpack/rules/babel.js
@@ -1,4 +1,5 @@
const { join, resolve } = require('path');
+
const { env, settings } = require('../configuration');
module.exports = {
diff --git a/webpack/rules/node_modules.js b/webpack/rules/node_modules.js
index 403851eed..aa46fe596 100644
--- a/webpack/rules/node_modules.js
+++ b/webpack/rules/node_modules.js
@@ -1,4 +1,5 @@
const { join } = require('path');
+
const { settings, env } = require('../configuration');
module.exports = {
diff --git a/webpack/shared.js b/webpack/shared.js
index 38cefd08d..428b10548 100644
--- a/webpack/shared.js
+++ b/webpack/shared.js
@@ -1,12 +1,14 @@
// Note: You must restart bin/webpack-dev-server for changes to take effect
const { join, resolve } = require('path');
+
const CopyPlugin = require('copy-webpack-plugin');
const HtmlWebpackHarddiskPlugin = require('html-webpack-harddisk-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const webpack = require('webpack');
const AssetsManifestPlugin = require('webpack-assets-manifest');
+
const { env, settings, output } = require('./configuration');
const rules = require('./rules');
diff --git a/webpack/test.js b/webpack/test.js
index 36f44aed6..814801ae5 100644
--- a/webpack/test.js
+++ b/webpack/test.js
@@ -2,6 +2,7 @@
console.log('Running in test mode'); // eslint-disable-line no-console
const { merge } = require('webpack-merge');
+
const sharedConfig = require('./shared');
module.exports = merge(sharedConfig, {
diff --git a/webpack/translationRunner.js b/webpack/translationRunner.js
index 739d7a307..072e53e32 100644
--- a/webpack/translationRunner.js
+++ b/webpack/translationRunner.js
@@ -1,7 +1,8 @@
const fs = require('fs');
const path = require('path');
+
const parser = require('intl-messageformat-parser');
-const { default: manageTranslations, readMessageFiles } = require('react-intl-translations-manager');
+const { default: manageTranslations, readMessageFiles } = require('react-intl-translations-manager'); // eslint-disable-line import/order
const RFC5646_REGEXP = /^[a-z]{2,3}(?:-(?:x|[A-Za-z]{2,4}))*$/;