diff --git a/app/javascript/flavours/glitch/components/attachment_list.jsx b/app/javascript/flavours/glitch/components/attachment_list.jsx
index 6922c414ed..44b8bf78ee 100644
--- a/app/javascript/flavours/glitch/components/attachment_list.jsx
+++ b/app/javascript/flavours/glitch/components/attachment_list.jsx
@@ -7,8 +7,8 @@ import classNames from 'classnames';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
+import LinkIcon from '@/material-icons/400-24px/link.svg?react';
 import { Icon }  from 'flavours/glitch/components/icon';
-import LinkIcon from 'mastodon/../material-icons/400-24px/link.svg?react';
 
 
 const filename = url => url.split('/').pop().split('#')[0].split('?')[0];
diff --git a/app/javascript/flavours/glitch/components/badge.jsx b/app/javascript/flavours/glitch/components/badge.jsx
index bac8096566..646655c249 100644
--- a/app/javascript/flavours/glitch/components/badge.jsx
+++ b/app/javascript/flavours/glitch/components/badge.jsx
@@ -2,9 +2,9 @@ import PropTypes from 'prop-types';
 
 import { FormattedMessage } from 'react-intl';
 
-import GroupsIcon from 'mastodon/../material-icons/400-24px/group.svg?react';
-import PersonIcon from 'mastodon/../material-icons/400-24px/person.svg?react';
-import SmartToyIcon from 'mastodon/../material-icons/400-24px/smart_toy.svg?react';
+import GroupsIcon from '@/material-icons/400-24px/group.svg?react';
+import PersonIcon from '@/material-icons/400-24px/person.svg?react';
+import SmartToyIcon from '@/material-icons/400-24px/smart_toy.svg?react';
 
 
 export const Badge = ({ icon, label, domain }) => (
diff --git a/app/javascript/flavours/glitch/components/column_back_button.tsx b/app/javascript/flavours/glitch/components/column_back_button.tsx
index 5be34e4bba..75c594c20a 100644
--- a/app/javascript/flavours/glitch/components/column_back_button.tsx
+++ b/app/javascript/flavours/glitch/components/column_back_button.tsx
@@ -2,9 +2,9 @@ import { useCallback } from 'react';
 
 import { FormattedMessage } from 'react-intl';
 
+import ArrowBackIcon from '@/material-icons/400-24px/arrow_back.svg?react';
 import { Icon } from 'flavours/glitch/components/icon';
 import { ButtonInTabsBar } from 'flavours/glitch/features/ui/util/columns_context';
-import ArrowBackIcon from 'mastodon/../material-icons/400-24px/arrow_back.svg?react';
 
 import { useAppHistory } from './router';
 
diff --git a/app/javascript/flavours/glitch/components/column_header.jsx b/app/javascript/flavours/glitch/components/column_header.jsx
index 34335a12d9..ec99698d0c 100644
--- a/app/javascript/flavours/glitch/components/column_header.jsx
+++ b/app/javascript/flavours/glitch/components/column_header.jsx
@@ -6,15 +6,15 @@ import { FormattedMessage, injectIntl, defineMessages } from 'react-intl';
 import classNames from 'classnames';
 import { withRouter } from 'react-router-dom';
 
+import AddIcon from '@/material-icons/400-24px/add.svg?react';
+import ArrowBackIcon from '@/material-icons/400-24px/arrow_back.svg?react';
+import ChevronLeftIcon from '@/material-icons/400-24px/chevron_left.svg?react';
+import ChevronRightIcon from '@/material-icons/400-24px/chevron_right.svg?react';
+import CloseIcon from '@/material-icons/400-24px/close.svg?react';
+import TuneIcon from '@/material-icons/400-24px/tune.svg?react';
 import { Icon }  from 'flavours/glitch/components/icon';
 import { ButtonInTabsBar, useColumnsContext } from 'flavours/glitch/features/ui/util/columns_context';
 import { WithRouterPropTypes } from 'flavours/glitch/utils/react_router';
-import AddIcon from 'mastodon/../material-icons/400-24px/add.svg?react';
-import ArrowBackIcon from 'mastodon/../material-icons/400-24px/arrow_back.svg?react';
-import ChevronLeftIcon from 'mastodon/../material-icons/400-24px/chevron_left.svg?react';
-import ChevronRightIcon from 'mastodon/../material-icons/400-24px/chevron_right.svg?react';
-import CloseIcon from 'mastodon/../material-icons/400-24px/close.svg?react';
-import TuneIcon from 'mastodon/../material-icons/400-24px/tune.svg?react';
 
 
 import { useAppHistory } from './router';
diff --git a/app/javascript/flavours/glitch/components/dismissable_banner.tsx b/app/javascript/flavours/glitch/components/dismissable_banner.tsx
index f2a84f9d7e..650befb349 100644
--- a/app/javascript/flavours/glitch/components/dismissable_banner.tsx
+++ b/app/javascript/flavours/glitch/components/dismissable_banner.tsx
@@ -8,10 +8,10 @@ import { useCallback, useState, useEffect } from 'react';
 
 import { defineMessages, useIntl } from 'react-intl';
 
+import CloseIcon from '@/material-icons/400-24px/close.svg?react';
 import { changeSetting } from 'flavours/glitch/actions/settings';
 import { bannerSettings } from 'flavours/glitch/settings';
 import { useAppSelector, useAppDispatch } from 'flavours/glitch/store';
-import CloseIcon from 'mastodon/../material-icons/400-24px/close.svg?react';
 
 import { IconButton } from './icon_button';
 
diff --git a/app/javascript/flavours/glitch/components/domain.tsx b/app/javascript/flavours/glitch/components/domain.tsx
index 637c286ce4..ed5e8e7e4c 100644
--- a/app/javascript/flavours/glitch/components/domain.tsx
+++ b/app/javascript/flavours/glitch/components/domain.tsx
@@ -2,7 +2,7 @@ import { useCallback } from 'react';
 
 import { defineMessages, useIntl } from 'react-intl';
 
-import LockOpenIcon from 'mastodon/../material-icons/400-24px/lock_open.svg?react';
+import LockOpenIcon from '@/material-icons/400-24px/lock_open.svg?react';
 
 import { IconButton } from './icon_button';
 
diff --git a/app/javascript/flavours/glitch/components/dropdown_menu.jsx b/app/javascript/flavours/glitch/components/dropdown_menu.jsx
index 7febdc5ab0..bfaa53f6e5 100644
--- a/app/javascript/flavours/glitch/components/dropdown_menu.jsx
+++ b/app/javascript/flavours/glitch/components/dropdown_menu.jsx
@@ -9,9 +9,9 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
 import { supportsPassiveEvents } from 'detect-passive-events';
 import Overlay from 'react-overlays/Overlay';
 
+import CloseIcon from '@/material-icons/400-24px/close.svg?react';
 import { CircularProgress } from 'flavours/glitch/components/circular_progress';
 import { WithRouterPropTypes } from 'flavours/glitch/utils/react_router';
-import CloseIcon from 'mastodon/../material-icons/400-24px/close.svg?react';
 
 import { IconButton } from './icon_button';
 
diff --git a/app/javascript/flavours/glitch/components/edited_timestamp/index.jsx b/app/javascript/flavours/glitch/components/edited_timestamp/index.jsx
index 279f0edd48..29a418dfb1 100644
--- a/app/javascript/flavours/glitch/components/edited_timestamp/index.jsx
+++ b/app/javascript/flavours/glitch/components/edited_timestamp/index.jsx
@@ -6,11 +6,11 @@ import { FormattedMessage, injectIntl } from 'react-intl';
 import { connect } from 'react-redux';
 
 
+import ArrowDropDownIcon from '@/material-icons/400-24px/arrow_drop_down.svg?react';
 import { openModal } from 'flavours/glitch/actions/modal';
 import { Icon }  from 'flavours/glitch/components/icon';
 import InlineAccount from 'flavours/glitch/components/inline_account';
 import { RelativeTimestamp } from 'flavours/glitch/components/relative_timestamp';
-import ArrowDropDownIcon from 'mastodon/../material-icons/400-24px/arrow_drop_down.svg?react';
 
 import DropdownMenu from './containers/dropdown_menu_container';
 
diff --git a/app/javascript/flavours/glitch/components/icon.tsx b/app/javascript/flavours/glitch/components/icon.tsx
index c81e8d14e5..052833fedd 100644
--- a/app/javascript/flavours/glitch/components/icon.tsx
+++ b/app/javascript/flavours/glitch/components/icon.tsx
@@ -1,7 +1,7 @@
 import classNames from 'classnames';
 
+import CheckBoxOutlineBlankIcon from '@/material-icons/400-24px/check_box_outline_blank.svg?react';
 import { isProduction } from 'flavours/glitch/utils/environment';
-import CheckBoxOutlineBlankIcon from 'mastodon/../material-icons/400-24px/check_box_outline_blank.svg?react';
 
 interface SVGPropsWithTitle extends React.SVGProps<SVGSVGElement> {
   title?: string;
diff --git a/app/javascript/flavours/glitch/components/load_gap.tsx b/app/javascript/flavours/glitch/components/load_gap.tsx
index 64e930d692..f0d15d3776 100644
--- a/app/javascript/flavours/glitch/components/load_gap.tsx
+++ b/app/javascript/flavours/glitch/components/load_gap.tsx
@@ -2,8 +2,8 @@ import { useCallback } from 'react';
 
 import { useIntl, defineMessages } from 'react-intl';
 
+import MoreHorizIcon from '@/material-icons/400-24px/more_horiz.svg?react';
 import { Icon } from 'flavours/glitch/components/icon';
-import MoreHorizIcon from 'mastodon/../material-icons/400-24px/more_horiz.svg?react';
 
 const messages = defineMessages({
   load_more: { id: 'status.load_more', defaultMessage: 'Load more' },
diff --git a/app/javascript/flavours/glitch/components/logo.jsx b/app/javascript/flavours/glitch/components/logo.jsx
index 16ca9f80fd..73a94af9ed 100644
--- a/app/javascript/flavours/glitch/components/logo.jsx
+++ b/app/javascript/flavours/glitch/components/logo.jsx
@@ -1,4 +1,4 @@
-import logo from 'mastodon/../images/logo.svg';
+import logo from '@/images/logo.svg';
 
 export const WordmarkLogo = () => (
   <svg viewBox='0 0 261 66' className='logo logo--wordmark' role='img'>
diff --git a/app/javascript/flavours/glitch/components/media_gallery.jsx b/app/javascript/flavours/glitch/components/media_gallery.jsx
index ea6b709b0a..74434818cc 100644
--- a/app/javascript/flavours/glitch/components/media_gallery.jsx
+++ b/app/javascript/flavours/glitch/components/media_gallery.jsx
@@ -10,8 +10,8 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
 
 import { debounce } from 'lodash';
 
+import VisibilityOffIcon from '@/material-icons/400-24px/visibility_off.svg?react';
 import { Blurhash } from 'flavours/glitch/components/blurhash';
-import VisibilityOffIcon from 'mastodon/../material-icons/400-24px/visibility_off.svg?react';
 
 import { autoPlayGif, displayMedia, useBlurhash } from '../initial_state';
 
diff --git a/app/javascript/flavours/glitch/components/notification_purge_buttons.jsx b/app/javascript/flavours/glitch/components/notification_purge_buttons.jsx
index 7cd9886560..b171738322 100644
--- a/app/javascript/flavours/glitch/components/notification_purge_buttons.jsx
+++ b/app/javascript/flavours/glitch/components/notification_purge_buttons.jsx
@@ -12,8 +12,8 @@ import classNames from 'classnames';
 
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
+import DeleteIcon from '@/material-icons/400-24px/delete.svg?react';
 import { Icon } from 'flavours/glitch/components/icon';
-import DeleteIcon from 'mastodon/../material-icons/400-24px/delete.svg?react';
 
 
 const messages = defineMessages({
diff --git a/app/javascript/flavours/glitch/components/picture_in_picture_placeholder.jsx b/app/javascript/flavours/glitch/components/picture_in_picture_placeholder.jsx
index 2c52397e56..10a0a7f5bb 100644
--- a/app/javascript/flavours/glitch/components/picture_in_picture_placeholder.jsx
+++ b/app/javascript/flavours/glitch/components/picture_in_picture_placeholder.jsx
@@ -6,9 +6,9 @@ import { FormattedMessage } from 'react-intl';
 import { connect } from 'react-redux';
 
 
+import CancelPresentationIcon from '@/material-icons/400-24px/cancel_presentation.svg?react';
 import { removePictureInPicture } from 'flavours/glitch/actions/picture_in_picture';
 import { Icon }  from 'flavours/glitch/components/icon';
-import CancelPresentationIcon from 'mastodon/../material-icons/400-24px/cancel_presentation.svg?react';
 
 class PictureInPicturePlaceholder extends PureComponent {
 
diff --git a/app/javascript/flavours/glitch/components/poll.jsx b/app/javascript/flavours/glitch/components/poll.jsx
index 4c15e9e4da..f9e008bd72 100644
--- a/app/javascript/flavours/glitch/components/poll.jsx
+++ b/app/javascript/flavours/glitch/components/poll.jsx
@@ -10,10 +10,10 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
 import escapeTextContentForBrowser from 'escape-html';
 import spring from 'react-motion/lib/spring';
 
+import CheckIcon from '@/material-icons/400-24px/check.svg?react';
 import { Icon }  from 'flavours/glitch/components/icon';
 import emojify from 'flavours/glitch/features/emoji/emoji';
 import Motion from 'flavours/glitch/features/ui/util/optional_motion';
-import CheckIcon from 'mastodon/../material-icons/400-24px/check.svg?react';
 
 import { RelativeTimestamp } from './relative_timestamp';
 
diff --git a/app/javascript/flavours/glitch/components/status_action_bar.jsx b/app/javascript/flavours/glitch/components/status_action_bar.jsx
index 076978b6ab..5727f36c86 100644
--- a/app/javascript/flavours/glitch/components/status_action_bar.jsx
+++ b/app/javascript/flavours/glitch/components/status_action_bar.jsx
@@ -8,20 +8,20 @@ import { withRouter } from 'react-router-dom';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
+import BookmarkIcon from '@/material-icons/400-24px/bookmark-fill.svg?react';
+import BookmarkBorderIcon from '@/material-icons/400-24px/bookmark.svg?react';
+import MoreHorizIcon from '@/material-icons/400-24px/more_horiz.svg?react';
+import RepeatIcon from '@/material-icons/400-24px/repeat.svg?react';
+import ReplyIcon from '@/material-icons/400-24px/reply.svg?react';
+import ReplyAllIcon from '@/material-icons/400-24px/reply_all.svg?react';
+import StarIcon from '@/material-icons/400-24px/star-fill.svg?react';
+import StarBorderIcon from '@/material-icons/400-24px/star.svg?react';
+import VisibilityIcon from '@/material-icons/400-24px/visibility.svg?react';
+import RepeatDisabledIcon from '@/svg-icons/repeat_disabled.svg';
+import RepeatPrivateIcon from '@/svg-icons/repeat_private.svg';
 import { PERMISSION_MANAGE_USERS, PERMISSION_MANAGE_FEDERATION } from 'flavours/glitch/permissions';
 import { accountAdminLink, statusAdminLink } from 'flavours/glitch/utils/backend_links';
 import { WithRouterPropTypes } from 'flavours/glitch/utils/react_router';
-import BookmarkIcon from 'mastodon/../material-icons/400-24px/bookmark-fill.svg?react';
-import BookmarkBorderIcon from 'mastodon/../material-icons/400-24px/bookmark.svg?react';
-import MoreHorizIcon from 'mastodon/../material-icons/400-24px/more_horiz.svg?react';
-import RepeatIcon from 'mastodon/../material-icons/400-24px/repeat.svg?react';
-import ReplyIcon from 'mastodon/../material-icons/400-24px/reply.svg?react';
-import ReplyAllIcon from 'mastodon/../material-icons/400-24px/reply_all.svg?react';
-import StarIcon from 'mastodon/../material-icons/400-24px/star-fill.svg?react';
-import StarBorderIcon from 'mastodon/../material-icons/400-24px/star.svg?react';
-import VisibilityIcon from 'mastodon/../material-icons/400-24px/visibility.svg?react';
-import RepeatDisabledIcon from 'mastodon/../svg-icons/repeat_disabled.svg';
-import RepeatPrivateIcon from 'mastodon/../svg-icons/repeat_private.svg';
 
 import DropdownMenuContainer from '../containers/dropdown_menu_container';
 import { me } from '../initial_state';
diff --git a/app/javascript/flavours/glitch/components/status_content.jsx b/app/javascript/flavours/glitch/components/status_content.jsx
index 3beb27d3c1..f5d5ccc70a 100644
--- a/app/javascript/flavours/glitch/components/status_content.jsx
+++ b/app/javascript/flavours/glitch/components/status_content.jsx
@@ -9,14 +9,14 @@ import { withRouter } from 'react-router-dom';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import { connect } from 'react-redux';
 
+import ImageIcon from '@/material-icons/400-24px/image.svg?react';
+import InsertChartIcon from '@/material-icons/400-24px/insert_chart.svg?react';
+import LinkIcon from '@/material-icons/400-24px/link.svg?react';
+import MovieIcon from '@/material-icons/400-24px/movie.svg?react';
+import MusicNoteIcon from '@/material-icons/400-24px/music_note.svg?react';
 import { Icon } from 'flavours/glitch/components/icon';
 import { autoPlayGif, languages as preloadedLanguages } from 'flavours/glitch/initial_state';
 import { decode as decodeIDNA } from 'flavours/glitch/utils/idna';
-import ImageIcon from 'mastodon/../material-icons/400-24px/image.svg?react';
-import InsertChartIcon from 'mastodon/../material-icons/400-24px/insert_chart.svg?react';
-import LinkIcon from 'mastodon/../material-icons/400-24px/link.svg?react';
-import MovieIcon from 'mastodon/../material-icons/400-24px/movie.svg?react';
-import MusicNoteIcon from 'mastodon/../material-icons/400-24px/music_note.svg?react';
 
 
 import { Permalink } from './permalink';
diff --git a/app/javascript/flavours/glitch/components/status_icons.jsx b/app/javascript/flavours/glitch/components/status_icons.jsx
index c53d80a33d..2727d3410a 100644
--- a/app/javascript/flavours/glitch/components/status_icons.jsx
+++ b/app/javascript/flavours/glitch/components/status_icons.jsx
@@ -6,16 +6,16 @@ import { defineMessages, injectIntl } from 'react-intl';
 
 import ImmutablePropTypes from 'react-immutable-proptypes';
 
+import ExpandLessIcon from '@/material-icons/400-24px/expand_less.svg?react';
+import ForumIcon from '@/material-icons/400-24px/forum.svg?react';
+import HomeIcon from '@/material-icons/400-24px/home.svg?react';
+import ImageIcon from '@/material-icons/400-24px/image.svg?react';
+import InsertChartIcon from '@/material-icons/400-24px/insert_chart.svg?react';
+import LinkIcon from '@/material-icons/400-24px/link.svg?react';
+import MovieIcon from '@/material-icons/400-24px/movie.svg?react';
+import MusicNoteIcon from '@/material-icons/400-24px/music_note.svg?react';
 import { Icon } from 'flavours/glitch/components/icon';
 import { languages } from 'flavours/glitch/initial_state';
-import ExpandLessIcon from 'mastodon/../material-icons/400-24px/expand_less.svg?react';
-import ForumIcon from 'mastodon/../material-icons/400-24px/forum.svg?react';
-import HomeIcon from 'mastodon/../material-icons/400-24px/home.svg?react';
-import ImageIcon from 'mastodon/../material-icons/400-24px/image.svg?react';
-import InsertChartIcon from 'mastodon/../material-icons/400-24px/insert_chart.svg?react';
-import LinkIcon from 'mastodon/../material-icons/400-24px/link.svg?react';
-import MovieIcon from 'mastodon/../material-icons/400-24px/movie.svg?react';
-import MusicNoteIcon from 'mastodon/../material-icons/400-24px/music_note.svg?react';
 
 
 import { IconButton } from './icon_button';
diff --git a/app/javascript/flavours/glitch/components/status_prepend.jsx b/app/javascript/flavours/glitch/components/status_prepend.jsx
index 44775cb3a5..355f65a3e2 100644
--- a/app/javascript/flavours/glitch/components/status_prepend.jsx
+++ b/app/javascript/flavours/glitch/components/status_prepend.jsx
@@ -6,14 +6,14 @@ import { FormattedMessage } from 'react-intl';
 
 import ImmutablePropTypes from 'react-immutable-proptypes';
 
+import EditIcon from '@/material-icons/400-24px/edit.svg?react';
+import HomeIcon from '@/material-icons/400-24px/home-fill.svg?react';
+import InsertChartIcon from '@/material-icons/400-24px/insert_chart.svg?react';
+import PushPinIcon from '@/material-icons/400-24px/push_pin.svg?react';
+import RepeatIcon from '@/material-icons/400-24px/repeat.svg?react';
+import StarIcon from '@/material-icons/400-24px/star-fill.svg?react';
 import { Icon } from 'flavours/glitch/components/icon';
 import { me } from 'flavours/glitch/initial_state';
-import EditIcon from 'mastodon/../material-icons/400-24px/edit.svg?react';
-import HomeIcon from 'mastodon/../material-icons/400-24px/home-fill.svg?react';
-import InsertChartIcon from 'mastodon/../material-icons/400-24px/insert_chart.svg?react';
-import PushPinIcon from 'mastodon/../material-icons/400-24px/push_pin.svg?react';
-import RepeatIcon from 'mastodon/../material-icons/400-24px/repeat.svg?react';
-import StarIcon from 'mastodon/../material-icons/400-24px/star-fill.svg?react';
 
 
 export default class StatusPrepend extends PureComponent {
diff --git a/app/javascript/flavours/glitch/components/verified_badge.tsx b/app/javascript/flavours/glitch/components/verified_badge.tsx
index 4209f68319..626cc500d6 100644
--- a/app/javascript/flavours/glitch/components/verified_badge.tsx
+++ b/app/javascript/flavours/glitch/components/verified_badge.tsx
@@ -1,4 +1,4 @@
-import CheckIcon from 'mastodon/../material-icons/400-24px/check.svg?react';
+import CheckIcon from '@/material-icons/400-24px/check.svg?react';
 
 import { Icon } from './icon';
 
diff --git a/app/javascript/flavours/glitch/components/visibility_icon.tsx b/app/javascript/flavours/glitch/components/visibility_icon.tsx
index 295853dce4..baf134c0ae 100644
--- a/app/javascript/flavours/glitch/components/visibility_icon.tsx
+++ b/app/javascript/flavours/glitch/components/visibility_icon.tsx
@@ -1,9 +1,9 @@
 import { defineMessages, useIntl } from 'react-intl';
 
-import LockIcon from 'mastodon/../material-icons/400-24px/lock.svg?react';
-import LockOpenIcon from 'mastodon/../material-icons/400-24px/lock_open.svg?react';
-import MailIcon from 'mastodon/../material-icons/400-24px/mail.svg?react';
-import PublicIcon from 'mastodon/../material-icons/400-24px/public.svg?react';
+import LockIcon from '@/material-icons/400-24px/lock.svg?react';
+import LockOpenIcon from '@/material-icons/400-24px/lock_open.svg?react';
+import MailIcon from '@/material-icons/400-24px/mail.svg?react';
+import PublicIcon from '@/material-icons/400-24px/public.svg?react';
 
 import { Icon } from './icon';
 
diff --git a/app/javascript/flavours/glitch/features/about/index.jsx b/app/javascript/flavours/glitch/features/about/index.jsx
index 41dcc6433d..e5544c8a74 100644
--- a/app/javascript/flavours/glitch/features/about/index.jsx
+++ b/app/javascript/flavours/glitch/features/about/index.jsx
@@ -11,6 +11,8 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
 import { connect } from 'react-redux';
 
 
+import ChevronRightIcon from '@/material-icons/400-24px/chevron_right.svg?react';
+import ExpandMoreIcon from '@/material-icons/400-24px/expand_more.svg?react';
 import { fetchServer, fetchExtendedDescription, fetchDomainBlocks  } from 'flavours/glitch/actions/server';
 import Column from 'flavours/glitch/components/column';
 import { Icon  }  from 'flavours/glitch/components/icon';
@@ -18,8 +20,6 @@ import { ServerHeroImage } from 'flavours/glitch/components/server_hero_image';
 import { Skeleton } from 'flavours/glitch/components/skeleton';
 import Account from 'flavours/glitch/containers/account_container';
 import LinkFooter from 'flavours/glitch/features/ui/components/link_footer';
-import ChevronRightIcon from 'mastodon/../material-icons/400-24px/chevron_right.svg?react';
-import ExpandMoreIcon from 'mastodon/../material-icons/400-24px/expand_more.svg?react';
 
 const messages = defineMessages({
   title: { id: 'column.about', defaultMessage: 'About' },
diff --git a/app/javascript/flavours/glitch/features/account/components/action_bar.jsx b/app/javascript/flavours/glitch/features/account/components/action_bar.jsx
index 362b671179..3fcf0440c0 100644
--- a/app/javascript/flavours/glitch/features/account/components/action_bar.jsx
+++ b/app/javascript/flavours/glitch/features/account/components/action_bar.jsx
@@ -6,8 +6,8 @@ import { NavLink } from 'react-router-dom';
 
 import ImmutablePropTypes from 'react-immutable-proptypes';
 
+import InfoIcon from '@/material-icons/400-24px/info.svg?react';
 import { Icon } from 'flavours/glitch/components/icon';
-import InfoIcon from 'mastodon/../material-icons/400-24px/info.svg?react';
 
 
 class ActionBar extends PureComponent {
diff --git a/app/javascript/flavours/glitch/features/account/components/follow_request_note.jsx b/app/javascript/flavours/glitch/features/account/components/follow_request_note.jsx
index c765fda5b3..37d1508528 100644
--- a/app/javascript/flavours/glitch/features/account/components/follow_request_note.jsx
+++ b/app/javascript/flavours/glitch/features/account/components/follow_request_note.jsx
@@ -3,9 +3,9 @@ import { FormattedMessage } from 'react-intl';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
+import CheckIcon from '@/material-icons/400-24px/check.svg?react';
+import CloseIcon from '@/material-icons/400-24px/close.svg?react';
 import { Icon }  from 'flavours/glitch/components/icon';
-import CheckIcon from 'mastodon/../material-icons/400-24px/check.svg?react';
-import CloseIcon from 'mastodon/../material-icons/400-24px/close.svg?react';
 
 
 export default class FollowRequestNote extends ImmutablePureComponent {
diff --git a/app/javascript/flavours/glitch/features/account/components/header.jsx b/app/javascript/flavours/glitch/features/account/components/header.jsx
index f92da02340..81ce989e99 100644
--- a/app/javascript/flavours/glitch/features/account/components/header.jsx
+++ b/app/javascript/flavours/glitch/features/account/components/header.jsx
@@ -10,6 +10,11 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
 
+import CheckIcon from '@/material-icons/400-24px/check.svg?react';
+import LockIcon from '@/material-icons/400-24px/lock.svg?react';
+import MoreHorizIcon from '@/material-icons/400-24px/more_horiz.svg?react';
+import NotificationsIcon from '@/material-icons/400-24px/notifications.svg?react';
+import NotificationsActiveIcon from '@/material-icons/400-24px/notifications_active-fill.svg?react';
 import { Avatar } from 'flavours/glitch/components/avatar';
 import { Badge, AutomatedBadge, GroupBadge } from 'flavours/glitch/components/badge';
 import { Button } from 'flavours/glitch/components/button';
@@ -20,11 +25,6 @@ import { autoPlayGif, me, domain } from 'flavours/glitch/initial_state';
 import { PERMISSION_MANAGE_USERS, PERMISSION_MANAGE_FEDERATION } from 'flavours/glitch/permissions';
 import { preferencesLink, profileLink, accountAdminLink } from 'flavours/glitch/utils/backend_links';
 import { WithRouterPropTypes } from 'flavours/glitch/utils/react_router';
-import CheckIcon from 'mastodon/../material-icons/400-24px/check.svg?react';
-import LockIcon from 'mastodon/../material-icons/400-24px/lock.svg?react';
-import MoreHorizIcon from 'mastodon/../material-icons/400-24px/more_horiz.svg?react';
-import NotificationsIcon from 'mastodon/../material-icons/400-24px/notifications.svg?react';
-import NotificationsActiveIcon from 'mastodon/../material-icons/400-24px/notifications_active-fill.svg?react';
 
 import AccountNoteContainer from '../containers/account_note_container';
 import FollowRequestNoteContainer from '../containers/follow_request_note_container';
diff --git a/app/javascript/flavours/glitch/features/account/components/profile_column_header.jsx b/app/javascript/flavours/glitch/features/account/components/profile_column_header.jsx
index 90929f5802..0628773497 100644
--- a/app/javascript/flavours/glitch/features/account/components/profile_column_header.jsx
+++ b/app/javascript/flavours/glitch/features/account/components/profile_column_header.jsx
@@ -3,7 +3,7 @@ import { PureComponent } from 'react';
 
 import { injectIntl, defineMessages } from 'react-intl';
 
-import PersonIcon from 'mastodon/../material-icons/400-24px/person.svg?react';
+import PersonIcon from '@/material-icons/400-24px/person.svg?react';
 
 import ColumnHeader from '../../../components/column_header';
 
diff --git a/app/javascript/flavours/glitch/features/account_gallery/components/media_item.jsx b/app/javascript/flavours/glitch/features/account_gallery/components/media_item.jsx
index 2c34f7a7a4..ebd156a4f9 100644
--- a/app/javascript/flavours/glitch/features/account_gallery/components/media_item.jsx
+++ b/app/javascript/flavours/glitch/features/account_gallery/components/media_item.jsx
@@ -5,12 +5,12 @@ import classNames from 'classnames';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
+import AudiotrackIcon from '@/material-icons/400-24px/music_note.svg?react';
+import PlayArrowIcon from '@/material-icons/400-24px/play_arrow.svg?react';
+import VisibilityOffIcon from '@/material-icons/400-24px/visibility_off.svg?react';
 import { Blurhash } from 'flavours/glitch/components/blurhash';
 import { Icon }  from 'flavours/glitch/components/icon';
 import { autoPlayGif, displayMedia, useBlurhash } from 'flavours/glitch/initial_state';
-import AudiotrackIcon from 'mastodon/../material-icons/400-24px/music_note.svg?react';
-import PlayArrowIcon from 'mastodon/../material-icons/400-24px/play_arrow.svg?react';
-import VisibilityOffIcon from 'mastodon/../material-icons/400-24px/visibility_off.svg?react';
 
 
 export default class MediaItem extends ImmutablePureComponent {
diff --git a/app/javascript/flavours/glitch/features/account_timeline/components/moved_note.jsx b/app/javascript/flavours/glitch/features/account_timeline/components/moved_note.jsx
index 144c227f1b..9ccf5bd17a 100644
--- a/app/javascript/flavours/glitch/features/account_timeline/components/moved_note.jsx
+++ b/app/javascript/flavours/glitch/features/account_timeline/components/moved_note.jsx
@@ -6,9 +6,9 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
 
+import TripIcon from '@/material-icons/400-24px/trip.svg?react';
 import { Icon } from 'flavours/glitch/components/icon';
 import { WithRouterPropTypes } from 'flavours/glitch/utils/react_router';
-import TripIcon from 'mastodon/../material-icons/400-24px/trip.svg?react';
 
 import { AvatarOverlay } from '../../../components/avatar_overlay';
 import { DisplayName } from '../../../components/display_name';
diff --git a/app/javascript/flavours/glitch/features/audio/index.jsx b/app/javascript/flavours/glitch/features/audio/index.jsx
index 19fad43a23..dc9d76222d 100644
--- a/app/javascript/flavours/glitch/features/audio/index.jsx
+++ b/app/javascript/flavours/glitch/features/audio/index.jsx
@@ -9,14 +9,14 @@ import { is } from 'immutable';
 
 import { throttle, debounce } from 'lodash';
 
+import DownloadIcon from '@/material-icons/400-24px/download.svg?react';
+import PauseIcon from '@/material-icons/400-24px/pause.svg?react';
+import PlayArrowIcon from '@/material-icons/400-24px/play_arrow-fill.svg?react';
+import VisibilityOffIcon from '@/material-icons/400-24px/visibility_off.svg?react';
+import VolumeOffIcon from '@/material-icons/400-24px/volume_off-fill.svg?react';
+import VolumeUpIcon from '@/material-icons/400-24px/volume_up-fill.svg?react';
 import { Icon }  from 'flavours/glitch/components/icon';
 import { formatTime, getPointerPosition, fileNameFromURL } from 'flavours/glitch/features/video';
-import DownloadIcon from 'mastodon/../material-icons/400-24px/download.svg?react';
-import PauseIcon from 'mastodon/../material-icons/400-24px/pause.svg?react';
-import PlayArrowIcon from 'mastodon/../material-icons/400-24px/play_arrow-fill.svg?react';
-import VisibilityOffIcon from 'mastodon/../material-icons/400-24px/visibility_off.svg?react';
-import VolumeOffIcon from 'mastodon/../material-icons/400-24px/volume_off-fill.svg?react';
-import VolumeUpIcon from 'mastodon/../material-icons/400-24px/volume_up-fill.svg?react';
 
 
 import { Blurhash } from '../../components/blurhash';
diff --git a/app/javascript/flavours/glitch/features/blocks/index.jsx b/app/javascript/flavours/glitch/features/blocks/index.jsx
index 656784664f..1a631d3d07 100644
--- a/app/javascript/flavours/glitch/features/blocks/index.jsx
+++ b/app/javascript/flavours/glitch/features/blocks/index.jsx
@@ -8,7 +8,7 @@ import { connect } from 'react-redux';
 
 import { debounce } from 'lodash';
 
-import BlockIcon from 'mastodon/../material-icons/400-24px/block-fill.svg?react';
+import BlockIcon from '@/material-icons/400-24px/block-fill.svg?react';
 
 import { fetchBlocks, expandBlocks } from '../../actions/blocks';
 import { LoadingIndicator } from '../../components/loading_indicator';
diff --git a/app/javascript/flavours/glitch/features/bookmarked_statuses/index.jsx b/app/javascript/flavours/glitch/features/bookmarked_statuses/index.jsx
index 0f1566d965..81d2e79a12 100644
--- a/app/javascript/flavours/glitch/features/bookmarked_statuses/index.jsx
+++ b/app/javascript/flavours/glitch/features/bookmarked_statuses/index.jsx
@@ -10,13 +10,13 @@ import { connect } from 'react-redux';
 
 import { debounce } from 'lodash';
 
+import BookmarksIcon from '@/material-icons/400-24px/bookmarks-fill.svg?react';
 import { fetchBookmarkedStatuses, expandBookmarkedStatuses } from 'flavours/glitch/actions/bookmarks';
 import { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';
 import ColumnHeader from 'flavours/glitch/components/column_header';
 import StatusList from 'flavours/glitch/components/status_list';
 import Column from 'flavours/glitch/features/ui/components/column';
 import { getStatusList } from 'flavours/glitch/selectors';
-import BookmarksIcon from 'mastodon/../material-icons/400-24px/bookmarks-fill.svg?react';
 
 const messages = defineMessages({
   heading: { id: 'column.bookmarks', defaultMessage: 'Bookmarks' },
diff --git a/app/javascript/flavours/glitch/features/community_timeline/index.jsx b/app/javascript/flavours/glitch/features/community_timeline/index.jsx
index f2158d11b3..e2b982aaf8 100644
--- a/app/javascript/flavours/glitch/features/community_timeline/index.jsx
+++ b/app/javascript/flavours/glitch/features/community_timeline/index.jsx
@@ -8,9 +8,9 @@ import { Helmet } from 'react-helmet';
 import { connect } from 'react-redux';
 
 
+import PeopleIcon from '@/material-icons/400-24px/group.svg?react';
 import { DismissableBanner } from 'flavours/glitch/components/dismissable_banner';
 import { domain } from 'flavours/glitch/initial_state';
-import PeopleIcon from 'mastodon/../material-icons/400-24px/group.svg?react';
 
 import { addColumn, removeColumn, moveColumn } from '../../actions/columns';
 import { connectCommunityStream } from '../../actions/streaming';
diff --git a/app/javascript/flavours/glitch/features/compose/components/action_bar.jsx b/app/javascript/flavours/glitch/features/compose/components/action_bar.jsx
index fc498ca5a6..de5d2369c3 100644
--- a/app/javascript/flavours/glitch/features/compose/components/action_bar.jsx
+++ b/app/javascript/flavours/glitch/features/compose/components/action_bar.jsx
@@ -5,8 +5,8 @@ import { defineMessages, injectIntl } from 'react-intl';
 
 import ImmutablePropTypes from 'react-immutable-proptypes';
 
+import MenuIcon from '@/material-icons/400-24px/menu.svg?react';
 import { preferencesLink, profileLink } from 'flavours/glitch/utils/backend_links';
-import MenuIcon from 'mastodon/../material-icons/400-24px/menu.svg?react';
 
 
 import DropdownMenuContainer from '../../../containers/dropdown_menu_container';
diff --git a/app/javascript/flavours/glitch/features/compose/components/header.jsx b/app/javascript/flavours/glitch/features/compose/components/header.jsx
index f83cb694d4..bdcb51cd92 100644
--- a/app/javascript/flavours/glitch/features/compose/components/header.jsx
+++ b/app/javascript/flavours/glitch/features/compose/components/header.jsx
@@ -7,16 +7,16 @@ import { Link } from 'react-router-dom';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
+import PeopleIcon from '@/material-icons/400-24px/group.svg?react';
+import HomeIcon from '@/material-icons/400-24px/home-fill.svg?react';
+import LogoutIcon from '@/material-icons/400-24px/logout.svg?react';
+import ManufacturingIcon from '@/material-icons/400-24px/manufacturing.svg?react';
+import MenuIcon from '@/material-icons/400-24px/menu.svg?react';
+import NotificationsIcon from '@/material-icons/400-24px/notifications-fill.svg?react';
+import PublicIcon from '@/material-icons/400-24px/public.svg?react';
 import { Icon } from 'flavours/glitch/components/icon';
 import { signOutLink } from 'flavours/glitch/utils/backend_links';
 import { conditionalRender } from 'flavours/glitch/utils/react_helpers';
-import PeopleIcon from 'mastodon/../material-icons/400-24px/group.svg?react';
-import HomeIcon from 'mastodon/../material-icons/400-24px/home-fill.svg?react';
-import LogoutIcon from 'mastodon/../material-icons/400-24px/logout.svg?react';
-import ManufacturingIcon from 'mastodon/../material-icons/400-24px/manufacturing.svg?react';
-import MenuIcon from 'mastodon/../material-icons/400-24px/menu.svg?react';
-import NotificationsIcon from 'mastodon/../material-icons/400-24px/notifications-fill.svg?react';
-import PublicIcon from 'mastodon/../material-icons/400-24px/public.svg?react';
 
 
 const messages = defineMessages({
diff --git a/app/javascript/flavours/glitch/features/compose/components/options.jsx b/app/javascript/flavours/glitch/features/compose/components/options.jsx
index 0430e50c14..314b6e638f 100644
--- a/app/javascript/flavours/glitch/features/compose/components/options.jsx
+++ b/app/javascript/flavours/glitch/features/compose/components/options.jsx
@@ -8,16 +8,16 @@ import { connect } from 'react-redux';
 
 import Toggle from 'react-toggle';
 
+import AttachFileIcon from '@/material-icons/400-24px/attach_file.svg?react';
+import BrushIcon from '@/material-icons/400-24px/brush.svg?react';
+import CodeIcon from '@/material-icons/400-24px/code.svg?react';
+import DescriptionIcon from '@/material-icons/400-24px/description.svg?react';
+import InsertChartIcon from '@/material-icons/400-24px/insert_chart.svg?react';
+import MarkdownIcon from '@/material-icons/400-24px/markdown.svg?react';
+import MoreHorizIcon from '@/material-icons/400-24px/more_horiz.svg?react';
+import UploadFileIcon from '@/material-icons/400-24px/upload_file.svg?react';
 import { IconButton } from 'flavours/glitch/components/icon_button';
 import { pollLimits } from 'flavours/glitch/initial_state';
-import AttachFileIcon from 'mastodon/../material-icons/400-24px/attach_file.svg?react';
-import BrushIcon from 'mastodon/../material-icons/400-24px/brush.svg?react';
-import CodeIcon from 'mastodon/../material-icons/400-24px/code.svg?react';
-import DescriptionIcon from 'mastodon/../material-icons/400-24px/description.svg?react';
-import InsertChartIcon from 'mastodon/../material-icons/400-24px/insert_chart.svg?react';
-import MarkdownIcon from 'mastodon/../material-icons/400-24px/markdown.svg?react';
-import MoreHorizIcon from 'mastodon/../material-icons/400-24px/more_horiz.svg?react';
-import UploadFileIcon from 'mastodon/../material-icons/400-24px/upload_file.svg?react';
 
 
 import DropdownContainer from '../containers/dropdown_container';
diff --git a/app/javascript/flavours/glitch/features/compose/components/poll_form.jsx b/app/javascript/flavours/glitch/features/compose/components/poll_form.jsx
index bebe7191ac..053b02673d 100644
--- a/app/javascript/flavours/glitch/features/compose/components/poll_form.jsx
+++ b/app/javascript/flavours/glitch/features/compose/components/poll_form.jsx
@@ -9,12 +9,12 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
 
+import AddIcon from '@/material-icons/400-24px/add.svg?react';
+import CloseIcon from '@/material-icons/400-24px/close.svg?react';
 import AutosuggestInput from 'flavours/glitch/components/autosuggest_input';
 import { Icon }  from 'flavours/glitch/components/icon';
 import { IconButton } from 'flavours/glitch/components/icon_button';
 import { pollLimits } from 'flavours/glitch/initial_state';
-import AddIcon from 'mastodon/../material-icons/400-24px/add.svg?react';
-import CloseIcon from 'mastodon/../material-icons/400-24px/close.svg?react';
 
 const messages = defineMessages({
   option_placeholder: { id: 'compose_form.poll.option_placeholder', defaultMessage: 'Choice {number}' },
diff --git a/app/javascript/flavours/glitch/features/compose/components/privacy_dropdown.jsx b/app/javascript/flavours/glitch/features/compose/components/privacy_dropdown.jsx
index b5d7c74abd..7980c1007e 100644
--- a/app/javascript/flavours/glitch/features/compose/components/privacy_dropdown.jsx
+++ b/app/javascript/flavours/glitch/features/compose/components/privacy_dropdown.jsx
@@ -3,10 +3,10 @@ import { PureComponent } from 'react';
 
 import { injectIntl, defineMessages } from 'react-intl';
 
-import LockIcon from 'mastodon/../material-icons/400-24px/lock.svg?react';
-import LockOpenIcon from 'mastodon/../material-icons/400-24px/lock_open.svg?react';
-import MailIcon from 'mastodon/../material-icons/400-24px/mail.svg?react';
-import PublicIcon from 'mastodon/../material-icons/400-24px/public.svg?react';
+import LockIcon from '@/material-icons/400-24px/lock.svg?react';
+import LockOpenIcon from '@/material-icons/400-24px/lock_open.svg?react';
+import MailIcon from '@/material-icons/400-24px/mail.svg?react';
+import PublicIcon from '@/material-icons/400-24px/public.svg?react';
 
 import Dropdown from './dropdown';
 
diff --git a/app/javascript/flavours/glitch/features/compose/components/publisher.jsx b/app/javascript/flavours/glitch/features/compose/components/publisher.jsx
index 239f8cea3f..ff825ca0c9 100644
--- a/app/javascript/flavours/glitch/features/compose/components/publisher.jsx
+++ b/app/javascript/flavours/glitch/features/compose/components/publisher.jsx
@@ -4,12 +4,12 @@ import { defineMessages, injectIntl } from 'react-intl';
 
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
+import LockIcon from '@/material-icons/400-24px/lock.svg?react';
+import LockOpenIcon from '@/material-icons/400-24px/lock_open.svg?react';
+import MailIcon from '@/material-icons/400-24px/mail.svg?react';
+import PublicIcon from '@/material-icons/400-24px/public.svg?react';
 import { Button } from 'flavours/glitch/components/button';
 import { Icon } from 'flavours/glitch/components/icon';
-import LockIcon from 'mastodon/../material-icons/400-24px/lock.svg?react';
-import LockOpenIcon from 'mastodon/../material-icons/400-24px/lock_open.svg?react';
-import MailIcon from 'mastodon/../material-icons/400-24px/mail.svg?react';
-import PublicIcon from 'mastodon/../material-icons/400-24px/public.svg?react';
 
 
 const messages = defineMessages({
diff --git a/app/javascript/flavours/glitch/features/compose/components/reply_indicator.jsx b/app/javascript/flavours/glitch/features/compose/components/reply_indicator.jsx
index 9cb446b357..8af8cd441a 100644
--- a/app/javascript/flavours/glitch/features/compose/components/reply_indicator.jsx
+++ b/app/javascript/flavours/glitch/features/compose/components/reply_indicator.jsx
@@ -6,9 +6,9 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
 
+import CloseIcon from '@/material-icons/400-24px/close.svg?react';
 import AttachmentList from 'flavours/glitch/components/attachment_list';
 import { WithOptionalRouterPropTypes, withOptionalRouter } from 'flavours/glitch/utils/react_router';
-import CloseIcon from 'mastodon/../material-icons/400-24px/close.svg?react';
 
 import { Avatar } from '../../../components/avatar';
 import { DisplayName } from '../../../components/display_name';
diff --git a/app/javascript/flavours/glitch/features/compose/components/search.jsx b/app/javascript/flavours/glitch/features/compose/components/search.jsx
index d94d764c9c..70c24d0a42 100644
--- a/app/javascript/flavours/glitch/features/compose/components/search.jsx
+++ b/app/javascript/flavours/glitch/features/compose/components/search.jsx
@@ -9,13 +9,13 @@ import { withRouter } from 'react-router-dom';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 
 
+import CancelIcon from '@/material-icons/400-24px/cancel-fill.svg?react';
+import CloseIcon from '@/material-icons/400-24px/close.svg?react';
+import SearchIcon from '@/material-icons/400-24px/search.svg?react';
 import { Icon }  from 'flavours/glitch/components/icon';
 import { domain, searchEnabled } from 'flavours/glitch/initial_state';
 import { HASHTAG_REGEX } from 'flavours/glitch/utils/hashtags';
 import { WithRouterPropTypes } from 'flavours/glitch/utils/react_router';
-import CancelIcon from 'mastodon/../material-icons/400-24px/cancel-fill.svg?react';
-import CloseIcon from 'mastodon/../material-icons/400-24px/close.svg?react';
-import SearchIcon from 'mastodon/../material-icons/400-24px/search.svg?react';
 
 const messages = defineMessages({
   placeholder: { id: 'search.placeholder', defaultMessage: 'Search' },
diff --git a/app/javascript/flavours/glitch/features/compose/components/search_results.jsx b/app/javascript/flavours/glitch/features/compose/components/search_results.jsx
index 8c19946bf1..3c0aec1956 100644
--- a/app/javascript/flavours/glitch/features/compose/components/search_results.jsx
+++ b/app/javascript/flavours/glitch/features/compose/components/search_results.jsx
@@ -5,13 +5,13 @@ import { FormattedMessage } from 'react-intl';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
+import FindInPageIcon from '@/material-icons/400-24px/find_in_page.svg?react';
+import PeopleIcon from '@/material-icons/400-24px/group.svg?react';
+import SearchIcon from '@/material-icons/400-24px/search.svg?react';
+import TagIcon from '@/material-icons/400-24px/tag.svg?react';
 import { Icon }  from 'flavours/glitch/components/icon';
 import { LoadMore } from 'flavours/glitch/components/load_more';
 import { SearchSection } from 'flavours/glitch/features/explore/components/search_section';
-import FindInPageIcon from 'mastodon/../material-icons/400-24px/find_in_page.svg?react';
-import PeopleIcon from 'mastodon/../material-icons/400-24px/group.svg?react';
-import SearchIcon from 'mastodon/../material-icons/400-24px/search.svg?react';
-import TagIcon from 'mastodon/../material-icons/400-24px/tag.svg?react';
 
 
 import { ImmutableHashtag as Hashtag } from '../../../components/hashtag';
diff --git a/app/javascript/flavours/glitch/features/compose/components/textarea_icons.jsx b/app/javascript/flavours/glitch/features/compose/components/textarea_icons.jsx
index ee0d5b23b6..74706833d9 100644
--- a/app/javascript/flavours/glitch/features/compose/components/textarea_icons.jsx
+++ b/app/javascript/flavours/glitch/features/compose/components/textarea_icons.jsx
@@ -5,9 +5,9 @@ import { defineMessages, injectIntl } from 'react-intl';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
+import ForumIcon from '@/material-icons/400-24px/forum.svg?react';
+import HomeIcon from '@/material-icons/400-24px/home-fill.svg?react';
 import { Icon } from 'flavours/glitch/components/icon';
-import ForumIcon from 'mastodon/../material-icons/400-24px/forum.svg?react';
-import HomeIcon from 'mastodon/../material-icons/400-24px/home-fill.svg?react';
 
 
 const messages = defineMessages({
diff --git a/app/javascript/flavours/glitch/features/compose/components/upload.jsx b/app/javascript/flavours/glitch/features/compose/components/upload.jsx
index dc60cc7723..c317fc4fc1 100644
--- a/app/javascript/flavours/glitch/features/compose/components/upload.jsx
+++ b/app/javascript/flavours/glitch/features/compose/components/upload.jsx
@@ -7,10 +7,10 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
 
 import spring from 'react-motion/lib/spring';
 
+import CloseIcon from '@/material-icons/400-24px/close.svg?react';
+import EditIcon from '@/material-icons/400-24px/edit.svg?react';
+import InfoIcon from '@/material-icons/400-24px/info.svg?react';
 import { Icon }  from 'flavours/glitch/components/icon';
-import CloseIcon from 'mastodon/../material-icons/400-24px/close.svg?react';
-import EditIcon from 'mastodon/../material-icons/400-24px/edit.svg?react';
-import InfoIcon from 'mastodon/../material-icons/400-24px/info.svg?react';
 
 
 import Motion from '../../ui/util/optional_motion';
diff --git a/app/javascript/flavours/glitch/features/compose/components/upload_progress.jsx b/app/javascript/flavours/glitch/features/compose/components/upload_progress.jsx
index 214015c3f0..f4408b5460 100644
--- a/app/javascript/flavours/glitch/features/compose/components/upload_progress.jsx
+++ b/app/javascript/flavours/glitch/features/compose/components/upload_progress.jsx
@@ -5,8 +5,8 @@ import { FormattedMessage } from 'react-intl';
 
 import spring from 'react-motion/lib/spring';
 
+import UploadFileIcon from '@/material-icons/400-24px/upload_file.svg?react';
 import { Icon }  from 'flavours/glitch/components/icon';
-import UploadFileIcon from 'mastodon/../material-icons/400-24px/upload_file.svg?react';
 
 import Motion from '../../ui/util/optional_motion';
 
diff --git a/app/javascript/flavours/glitch/features/direct_timeline/components/conversation.jsx b/app/javascript/flavours/glitch/features/direct_timeline/components/conversation.jsx
index 0720aaac1d..00fbc8d464 100644
--- a/app/javascript/flavours/glitch/features/direct_timeline/components/conversation.jsx
+++ b/app/javascript/flavours/glitch/features/direct_timeline/components/conversation.jsx
@@ -10,6 +10,8 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
 
 import { HotKeys } from 'react-hotkeys';
 
+import MoreHorizIcon from '@/material-icons/400-24px/more_horiz.svg?react';
+import ReplyIcon from '@/material-icons/400-24px/reply.svg?react';
 import AttachmentList from 'flavours/glitch/components/attachment_list';
 import AvatarComposite from 'flavours/glitch/components/avatar_composite';
 import { IconButton } from 'flavours/glitch/components/icon_button';
@@ -19,8 +21,6 @@ import StatusContent from 'flavours/glitch/components/status_content';
 import DropdownMenuContainer from 'flavours/glitch/containers/dropdown_menu_container';
 import { autoPlayGif } from 'flavours/glitch/initial_state';
 import { WithRouterPropTypes } from 'flavours/glitch/utils/react_router';
-import MoreHorizIcon from 'mastodon/../material-icons/400-24px/more_horiz.svg?react';
-import ReplyIcon from 'mastodon/../material-icons/400-24px/reply.svg?react';
 
 const messages = defineMessages({
   more: { id: 'status.more', defaultMessage: 'More' },
diff --git a/app/javascript/flavours/glitch/features/direct_timeline/index.jsx b/app/javascript/flavours/glitch/features/direct_timeline/index.jsx
index fbb40a4b6e..9de5751ffb 100644
--- a/app/javascript/flavours/glitch/features/direct_timeline/index.jsx
+++ b/app/javascript/flavours/glitch/features/direct_timeline/index.jsx
@@ -8,6 +8,7 @@ import { Helmet } from 'react-helmet';
 import { connect } from 'react-redux';
 
 
+import MailIcon from '@/material-icons/400-24px/mail.svg?react';
 import { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';
 import { mountConversations, unmountConversations, expandConversations } from 'flavours/glitch/actions/conversations';
 import { connectDirectStream } from 'flavours/glitch/actions/streaming';
@@ -15,7 +16,6 @@ import { expandDirectTimeline } from 'flavours/glitch/actions/timelines';
 import Column from 'flavours/glitch/components/column';
 import ColumnHeader from 'flavours/glitch/components/column_header';
 import StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container';
-import MailIcon from 'mastodon/../material-icons/400-24px/mail.svg?react';
 
 import ColumnSettingsContainer from './containers/column_settings_container';
 import ConversationsListContainer from './containers/conversations_list_container';
diff --git a/app/javascript/flavours/glitch/features/directory/index.jsx b/app/javascript/flavours/glitch/features/directory/index.jsx
index 55ff5b5c9f..0d8742b255 100644
--- a/app/javascript/flavours/glitch/features/directory/index.jsx
+++ b/app/javascript/flavours/glitch/features/directory/index.jsx
@@ -10,6 +10,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
 import { connect } from 'react-redux';
 
 
+import PeopleIcon from '@/material-icons/400-24px/group.svg?react';
 import { addColumn, removeColumn, moveColumn, changeColumnParams } from 'flavours/glitch/actions/columns';
 import { fetchDirectory, expandDirectory } from 'flavours/glitch/actions/directory';
 import Column from 'flavours/glitch/components/column';
@@ -18,7 +19,6 @@ import { LoadMore } from 'flavours/glitch/components/load_more';
 import { LoadingIndicator } from 'flavours/glitch/components/loading_indicator';
 import { RadioButton } from 'flavours/glitch/components/radio_button';
 import ScrollContainer from 'flavours/glitch/containers/scroll_container';
-import PeopleIcon from 'mastodon/../material-icons/400-24px/group.svg?react';
 
 import AccountCard from './components/account_card';
 
diff --git a/app/javascript/flavours/glitch/features/domain_blocks/index.jsx b/app/javascript/flavours/glitch/features/domain_blocks/index.jsx
index 5c9b70f02b..964eada9c1 100644
--- a/app/javascript/flavours/glitch/features/domain_blocks/index.jsx
+++ b/app/javascript/flavours/glitch/features/domain_blocks/index.jsx
@@ -10,7 +10,7 @@ import { connect } from 'react-redux';
 
 import { debounce } from 'lodash';
 
-import BlockIcon from 'mastodon/../material-icons/400-24px/block-fill.svg?react';
+import BlockIcon from '@/material-icons/400-24px/block-fill.svg?react';
 
 import { fetchDomainBlocks, expandDomainBlocks } from '../../actions/domain_blocks';
 import { LoadingIndicator } from '../../components/loading_indicator';
diff --git a/app/javascript/flavours/glitch/features/explore/index.jsx b/app/javascript/flavours/glitch/features/explore/index.jsx
index 0bf5ec7d87..9a18ccb72c 100644
--- a/app/javascript/flavours/glitch/features/explore/index.jsx
+++ b/app/javascript/flavours/glitch/features/explore/index.jsx
@@ -9,12 +9,12 @@ import { NavLink, Switch, Route } from 'react-router-dom';
 import { connect } from 'react-redux';
 
 
+import SearchIcon from '@/material-icons/400-24px/search.svg?react';
+import TagIcon from '@/material-icons/400-24px/tag.svg?react';
 import Column from 'flavours/glitch/components/column';
 import ColumnHeader from 'flavours/glitch/components/column_header';
 import Search from 'flavours/glitch/features/compose/containers/search_container';
 import { trendsEnabled } from 'flavours/glitch/initial_state';
-import SearchIcon from 'mastodon/../material-icons/400-24px/search.svg?react';
-import TagIcon from 'mastodon/../material-icons/400-24px/tag.svg?react';
 
 import Links from './links';
 import SearchResults from './results';
diff --git a/app/javascript/flavours/glitch/features/explore/results.jsx b/app/javascript/flavours/glitch/features/explore/results.jsx
index 4e9b7e6b2b..53285988c3 100644
--- a/app/javascript/flavours/glitch/features/explore/results.jsx
+++ b/app/javascript/flavours/glitch/features/explore/results.jsx
@@ -10,15 +10,15 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
 import { connect } from 'react-redux';
 
 
+import FindInPageIcon from '@/material-icons/400-24px/find_in_page.svg?react';
+import PeopleIcon from '@/material-icons/400-24px/group.svg?react';
+import TagIcon from '@/material-icons/400-24px/tag.svg?react';
 import { submitSearch, expandSearch } from 'flavours/glitch/actions/search';
 import { ImmutableHashtag as Hashtag } from 'flavours/glitch/components/hashtag';
 import { Icon } from 'flavours/glitch/components/icon';
 import ScrollableList from 'flavours/glitch/components/scrollable_list';
 import Account from 'flavours/glitch/containers/account_container';
 import Status from 'flavours/glitch/containers/status_container';
-import FindInPageIcon from 'mastodon/../material-icons/400-24px/find_in_page.svg?react';
-import PeopleIcon from 'mastodon/../material-icons/400-24px/group.svg?react';
-import TagIcon from 'mastodon/../material-icons/400-24px/tag.svg?react';
 
 import { SearchSection } from './components/search_section';
 
diff --git a/app/javascript/flavours/glitch/features/favourited_statuses/index.jsx b/app/javascript/flavours/glitch/features/favourited_statuses/index.jsx
index 24d3f52549..119fd247b6 100644
--- a/app/javascript/flavours/glitch/features/favourited_statuses/index.jsx
+++ b/app/javascript/flavours/glitch/features/favourited_statuses/index.jsx
@@ -10,13 +10,13 @@ import { connect } from 'react-redux';
 
 import { debounce } from 'lodash';
 
+import StarIcon from '@/material-icons/400-24px/star-fill.svg?react';
 import { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';
 import { fetchFavouritedStatuses, expandFavouritedStatuses } from 'flavours/glitch/actions/favourites';
 import ColumnHeader from 'flavours/glitch/components/column_header';
 import StatusList from 'flavours/glitch/components/status_list';
 import Column from 'flavours/glitch/features/ui/components/column';
 import { getStatusList } from 'flavours/glitch/selectors';
-import StarIcon from 'mastodon/../material-icons/400-24px/star-fill.svg?react';
 
 const messages = defineMessages({
   heading: { id: 'column.favourites', defaultMessage: 'Favorites' },
diff --git a/app/javascript/flavours/glitch/features/favourites/index.jsx b/app/javascript/flavours/glitch/features/favourites/index.jsx
index 624712450e..c21166a16e 100644
--- a/app/javascript/flavours/glitch/features/favourites/index.jsx
+++ b/app/javascript/flavours/glitch/features/favourites/index.jsx
@@ -10,6 +10,8 @@ import { connect } from 'react-redux';
 
 import { debounce } from 'lodash';
 
+import RefreshIcon from '@/material-icons/400-24px/refresh.svg?react';
+import StarIcon from '@/material-icons/400-24px/star-fill.svg?react';
 import { fetchFavourites, expandFavourites } from 'flavours/glitch/actions/interactions';
 import ColumnHeader from 'flavours/glitch/components/column_header';
 import { Icon }  from 'flavours/glitch/components/icon';
@@ -17,8 +19,6 @@ import { LoadingIndicator } from 'flavours/glitch/components/loading_indicator';
 import ScrollableList from 'flavours/glitch/components/scrollable_list';
 import AccountContainer from 'flavours/glitch/containers/account_container';
 import Column from 'flavours/glitch/features/ui/components/column';
-import RefreshIcon from 'mastodon/../material-icons/400-24px/refresh.svg?react';
-import StarIcon from 'mastodon/../material-icons/400-24px/star-fill.svg?react';
 
 const messages = defineMessages({
   heading: { id: 'column.favourited_by', defaultMessage: 'Favourited by' },
diff --git a/app/javascript/flavours/glitch/features/filters/select_filter.jsx b/app/javascript/flavours/glitch/features/filters/select_filter.jsx
index 3459df52a5..f409cc2d70 100644
--- a/app/javascript/flavours/glitch/features/filters/select_filter.jsx
+++ b/app/javascript/flavours/glitch/features/filters/select_filter.jsx
@@ -7,10 +7,10 @@ import { connect } from 'react-redux';
 
 import fuzzysort from 'fuzzysort';
 
+import AddIcon from '@/material-icons/400-24px/add.svg?react';
 import { Icon }  from 'flavours/glitch/components/icon';
 import { toServerSideType } from 'flavours/glitch/utils/filters';
 import { loupeIcon, deleteIcon } from 'flavours/glitch/utils/icons';
-import AddIcon from 'mastodon/../material-icons/400-24px/add.svg?react';
 
 const messages = defineMessages({
   search: { id: 'filter_modal.select_filter.search', defaultMessage: 'Search or create' },
diff --git a/app/javascript/flavours/glitch/features/firehose/index.jsx b/app/javascript/flavours/glitch/features/firehose/index.jsx
index 647c9a8796..29219974a9 100644
--- a/app/javascript/flavours/glitch/features/firehose/index.jsx
+++ b/app/javascript/flavours/glitch/features/firehose/index.jsx
@@ -7,6 +7,7 @@ import { Helmet } from 'react-helmet';
 import { NavLink } from 'react-router-dom';
 
 
+import PublicIcon from '@/material-icons/400-24px/public.svg?react';
 import { addColumn } from 'flavours/glitch/actions/columns';
 import { changeSetting } from 'flavours/glitch/actions/settings';
 import { connectPublicStream, connectCommunityStream } from 'flavours/glitch/actions/streaming';
@@ -15,7 +16,6 @@ import { DismissableBanner } from 'flavours/glitch/components/dismissable_banner
 import SettingText from 'flavours/glitch/components/setting_text';
 import initialState, { domain } from 'flavours/glitch/initial_state';
 import { useAppDispatch, useAppSelector } from 'flavours/glitch/store';
-import PublicIcon from 'mastodon/../material-icons/400-24px/public.svg?react';
 
 import Column from '../../components/column';
 import ColumnHeader from '../../components/column_header';
diff --git a/app/javascript/flavours/glitch/features/follow_requests/components/account_authorize.jsx b/app/javascript/flavours/glitch/features/follow_requests/components/account_authorize.jsx
index fc57fc744f..877d84c632 100644
--- a/app/javascript/flavours/glitch/features/follow_requests/components/account_authorize.jsx
+++ b/app/javascript/flavours/glitch/features/follow_requests/components/account_authorize.jsx
@@ -5,8 +5,8 @@ import { defineMessages, injectIntl } from 'react-intl';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
-import CheckIcon from 'mastodon/../material-icons/400-24px/check.svg?react';
-import CloseIcon from 'mastodon/../material-icons/400-24px/close.svg?react';
+import CheckIcon from '@/material-icons/400-24px/check.svg?react';
+import CloseIcon from '@/material-icons/400-24px/close.svg?react';
 
 import { Avatar } from '../../../components/avatar';
 import { DisplayName } from '../../../components/display_name';
diff --git a/app/javascript/flavours/glitch/features/follow_requests/index.jsx b/app/javascript/flavours/glitch/features/follow_requests/index.jsx
index 683c7b4070..7d651f2ca6 100644
--- a/app/javascript/flavours/glitch/features/follow_requests/index.jsx
+++ b/app/javascript/flavours/glitch/features/follow_requests/index.jsx
@@ -10,7 +10,7 @@ import { connect } from 'react-redux';
 
 import { debounce } from 'lodash';
 
-import PersonAddIcon from 'mastodon/../material-icons/400-24px/person_add.svg?react';
+import PersonAddIcon from '@/material-icons/400-24px/person_add.svg?react';
 
 import { fetchFollowRequests, expandFollowRequests } from '../../actions/accounts';
 import ScrollableList from '../../components/scrollable_list';
diff --git a/app/javascript/flavours/glitch/features/followed_tags/index.jsx b/app/javascript/flavours/glitch/features/followed_tags/index.jsx
index 5680932c70..5809d848bc 100644
--- a/app/javascript/flavours/glitch/features/followed_tags/index.jsx
+++ b/app/javascript/flavours/glitch/features/followed_tags/index.jsx
@@ -10,12 +10,12 @@ import { connect } from 'react-redux';
 
 import { debounce } from 'lodash';
 
+import TagIcon from '@/material-icons/400-24px/tag.svg?react';
 import { expandFollowedHashtags, fetchFollowedHashtags } from 'flavours/glitch/actions/tags';
 import ColumnHeader from 'flavours/glitch/components/column_header';
 import { Hashtag } from 'flavours/glitch/components/hashtag';
 import ScrollableList from 'flavours/glitch/components/scrollable_list';
 import Column from 'flavours/glitch/features/ui/components/column';
-import TagIcon from 'mastodon/../material-icons/400-24px/tag.svg?react';
 
 const messages = defineMessages({
   heading: { id: 'followed_tags', defaultMessage: 'Followed hashtags' },
diff --git a/app/javascript/flavours/glitch/features/getting_started/components/announcements.jsx b/app/javascript/flavours/glitch/features/getting_started/components/announcements.jsx
index 636f3cddc2..27470d9938 100644
--- a/app/javascript/flavours/glitch/features/getting_started/components/announcements.jsx
+++ b/app/javascript/flavours/glitch/features/getting_started/components/announcements.jsx
@@ -13,6 +13,10 @@ import TransitionMotion from 'react-motion/lib/TransitionMotion';
 import spring from 'react-motion/lib/spring';
 import ReactSwipeableViews from 'react-swipeable-views';
 
+import elephantUIPlane from '@/images/elephant_ui_plane.svg';
+import AddIcon from '@/material-icons/400-24px/add.svg?react';
+import ChevronLeftIcon from '@/material-icons/400-24px/chevron_left.svg?react';
+import ChevronRightIcon from '@/material-icons/400-24px/chevron_right.svg?react';
 import { AnimatedNumber } from 'flavours/glitch/components/animated_number';
 import { Icon }  from 'flavours/glitch/components/icon';
 import { IconButton } from 'flavours/glitch/components/icon_button';
@@ -21,10 +25,6 @@ import { unicodeMapping } from 'flavours/glitch/features/emoji/emoji_unicode_map
 import { autoPlayGif, reduceMotion, disableSwiping, mascot } from 'flavours/glitch/initial_state';
 import { assetHost } from 'flavours/glitch/utils/config';
 import { WithRouterPropTypes } from 'flavours/glitch/utils/react_router';
-import elephantUIPlane from 'mastodon/../images/elephant_ui_plane.svg';
-import AddIcon from 'mastodon/../material-icons/400-24px/add.svg?react';
-import ChevronLeftIcon from 'mastodon/../material-icons/400-24px/chevron_left.svg?react';
-import ChevronRightIcon from 'mastodon/../material-icons/400-24px/chevron_right.svg?react';
 
 const messages = defineMessages({
   close: { id: 'lightbox.close', defaultMessage: 'Close' },
diff --git a/app/javascript/flavours/glitch/features/getting_started/index.jsx b/app/javascript/flavours/glitch/features/getting_started/index.jsx
index 341747132b..866904eafb 100644
--- a/app/javascript/flavours/glitch/features/getting_started/index.jsx
+++ b/app/javascript/flavours/glitch/features/getting_started/index.jsx
@@ -10,25 +10,25 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 import { connect } from 'react-redux';
 
+import BookmarksIcon from '@/material-icons/400-24px/bookmarks-fill.svg?react';
+import PeopleIcon from '@/material-icons/400-24px/group.svg?react';
+import HomeIcon from '@/material-icons/400-24px/home-fill.svg?react';
+import ListAltIcon from '@/material-icons/400-24px/list_alt.svg?react';
+import MailIcon from '@/material-icons/400-24px/mail.svg?react';
+import ManufacturingIcon from '@/material-icons/400-24px/manufacturing.svg?react';
+import MenuIcon from '@/material-icons/400-24px/menu.svg?react';
+import MoreHorizIcon from '@/material-icons/400-24px/more_horiz.svg?react';
+import NotificationsIcon from '@/material-icons/400-24px/notifications.svg?react';
+import PersonAddIcon from '@/material-icons/400-24px/person_add.svg?react';
+import PublicIcon from '@/material-icons/400-24px/public.svg?react';
+import SettingsIcon from '@/material-icons/400-24px/settings-fill.svg?react';
+import TagIcon from '@/material-icons/400-24px/tag.svg?react';
 import { fetchFollowRequests } from 'flavours/glitch/actions/accounts';
 import { fetchLists } from 'flavours/glitch/actions/lists';
 import { openModal } from 'flavours/glitch/actions/modal';
 import Column from 'flavours/glitch/features/ui/components/column';
 import LinkFooter from 'flavours/glitch/features/ui/components/link_footer';
 import { preferencesLink } from 'flavours/glitch/utils/backend_links';
-import BookmarksIcon from 'mastodon/../material-icons/400-24px/bookmarks-fill.svg?react';
-import PeopleIcon from 'mastodon/../material-icons/400-24px/group.svg?react';
-import HomeIcon from 'mastodon/../material-icons/400-24px/home-fill.svg?react';
-import ListAltIcon from 'mastodon/../material-icons/400-24px/list_alt.svg?react';
-import MailIcon from 'mastodon/../material-icons/400-24px/mail.svg?react';
-import ManufacturingIcon from 'mastodon/../material-icons/400-24px/manufacturing.svg?react';
-import MenuIcon from 'mastodon/../material-icons/400-24px/menu.svg?react';
-import MoreHorizIcon from 'mastodon/../material-icons/400-24px/more_horiz.svg?react';
-import NotificationsIcon from 'mastodon/../material-icons/400-24px/notifications.svg?react';
-import PersonAddIcon from 'mastodon/../material-icons/400-24px/person_add.svg?react';
-import PublicIcon from 'mastodon/../material-icons/400-24px/public.svg?react';
-import SettingsIcon from 'mastodon/../material-icons/400-24px/settings-fill.svg?react';
-import TagIcon from 'mastodon/../material-icons/400-24px/tag.svg?react';
 
 
 import { me, showTrends } from '../../initial_state';
diff --git a/app/javascript/flavours/glitch/features/getting_started_misc/index.jsx b/app/javascript/flavours/glitch/features/getting_started_misc/index.jsx
index f02f8b226a..15535bf65c 100644
--- a/app/javascript/flavours/glitch/features/getting_started_misc/index.jsx
+++ b/app/javascript/flavours/glitch/features/getting_started_misc/index.jsx
@@ -5,16 +5,16 @@ import { defineMessages, injectIntl } from 'react-intl';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 import { connect } from 'react-redux';
 
+import BlockIcon from '@/material-icons/400-24px/block.svg?react';
+import InfoIcon from '@/material-icons/400-24px/info.svg?react';
+import PersonCheckIcon from '@/material-icons/400-24px/person_check.svg?react';
+import PushPinIcon from '@/material-icons/400-24px/push_pin.svg?react';
+import StarIcon from '@/material-icons/400-24px/star-fill.svg?react';
+import VolumeOffIcon from '@/material-icons/400-24px/volume_off.svg?react';
 import { openModal } from 'flavours/glitch/actions/modal';
 import Column from 'flavours/glitch/features/ui/components/column';
 import ColumnLink from 'flavours/glitch/features/ui/components/column_link';
 import ColumnSubheading from 'flavours/glitch/features/ui/components/column_subheading';
-import BlockIcon from 'mastodon/../material-icons/400-24px/block.svg?react';
-import InfoIcon from 'mastodon/../material-icons/400-24px/info.svg?react';
-import PersonCheckIcon from 'mastodon/../material-icons/400-24px/person_check.svg?react';
-import PushPinIcon from 'mastodon/../material-icons/400-24px/push_pin.svg?react';
-import StarIcon from 'mastodon/../material-icons/400-24px/star-fill.svg?react';
-import VolumeOffIcon from 'mastodon/../material-icons/400-24px/volume_off.svg?react';
 
 
 const messages = defineMessages({
diff --git a/app/javascript/flavours/glitch/features/hashtag_timeline/index.jsx b/app/javascript/flavours/glitch/features/hashtag_timeline/index.jsx
index 55ae5cfdab..c2a7574307 100644
--- a/app/javascript/flavours/glitch/features/hashtag_timeline/index.jsx
+++ b/app/javascript/flavours/glitch/features/hashtag_timeline/index.jsx
@@ -10,13 +10,13 @@ import { connect } from 'react-redux';
 
 import { isEqual } from 'lodash';
 
+import TagIcon from '@/material-icons/400-24px/tag.svg?react';
 import { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';
 import { connectHashtagStream } from 'flavours/glitch/actions/streaming';
 import { fetchHashtag, followHashtag, unfollowHashtag } from 'flavours/glitch/actions/tags';
 import { expandHashtagTimeline, clearTimeline } from 'flavours/glitch/actions/timelines';
 import Column from 'flavours/glitch/components/column';
 import ColumnHeader from 'flavours/glitch/components/column_header';
-import TagIcon from 'mastodon/../material-icons/400-24px/tag.svg?react';
 
 import StatusListContainer from '../ui/containers/status_list_container';
 
diff --git a/app/javascript/flavours/glitch/features/home_timeline/components/explore_prompt.tsx b/app/javascript/flavours/glitch/features/home_timeline/components/explore_prompt.tsx
index f33135621a..73ef8a5fe1 100644
--- a/app/javascript/flavours/glitch/features/home_timeline/components/explore_prompt.tsx
+++ b/app/javascript/flavours/glitch/features/home_timeline/components/explore_prompt.tsx
@@ -2,8 +2,8 @@ import { FormattedMessage } from 'react-intl';
 
 import { Link } from 'react-router-dom';
 
+import background from '@/images/friends-cropped.png';
 import { DismissableBanner } from 'flavours/glitch/components/dismissable_banner';
-import background from 'mastodon/../images/friends-cropped.png';
 
 export const ExplorePrompt = () => (
   <DismissableBanner id='home.explore_prompt'>
diff --git a/app/javascript/flavours/glitch/features/home_timeline/index.jsx b/app/javascript/flavours/glitch/features/home_timeline/index.jsx
index c656b2d7c8..093d8a7602 100644
--- a/app/javascript/flavours/glitch/features/home_timeline/index.jsx
+++ b/app/javascript/flavours/glitch/features/home_timeline/index.jsx
@@ -11,13 +11,13 @@ import { List as ImmutableList } from 'immutable';
 import { connect } from 'react-redux';
 
 
+import CampaignIcon from '@/material-icons/400-24px/campaign.svg?react';
+import HomeIcon from '@/material-icons/400-24px/home-fill.svg?react';
 import { fetchAnnouncements, toggleShowAnnouncements } from 'flavours/glitch/actions/announcements';
 import { IconWithBadge } from 'flavours/glitch/components/icon_with_badge';
 import { NotSignedInIndicator } from 'flavours/glitch/components/not_signed_in_indicator';
 import AnnouncementsContainer from 'flavours/glitch/features/getting_started/containers/announcements_container';
 import { me, criticalUpdatesPending } from 'flavours/glitch/initial_state';
-import CampaignIcon from 'mastodon/../material-icons/400-24px/campaign.svg?react';
-import HomeIcon from 'mastodon/../material-icons/400-24px/home-fill.svg?react';
 
 import { addColumn, removeColumn, moveColumn } from '../../actions/columns';
 import { expandHomeTimeline } from '../../actions/timelines';
diff --git a/app/javascript/flavours/glitch/features/interaction_modal/index.jsx b/app/javascript/flavours/glitch/features/interaction_modal/index.jsx
index 2902cde9cf..71cdf8409c 100644
--- a/app/javascript/flavours/glitch/features/interaction_modal/index.jsx
+++ b/app/javascript/flavours/glitch/features/interaction_modal/index.jsx
@@ -9,15 +9,15 @@ import { connect } from 'react-redux';
 
 import { throttle, escapeRegExp } from 'lodash';
 
+import PersonAddIcon from '@/material-icons/400-24px/person_add.svg?react';
+import RepeatIcon from '@/material-icons/400-24px/repeat.svg?react';
+import ReplyIcon from '@/material-icons/400-24px/reply.svg?react';
+import StarIcon from '@/material-icons/400-24px/star.svg?react';
 import { openModal, closeModal } from 'flavours/glitch/actions/modal';
 import api from 'flavours/glitch/api';
 import { Button } from 'flavours/glitch/components/button';
 import { Icon }  from 'flavours/glitch/components/icon';
 import { registrationsOpen, sso_redirect } from 'flavours/glitch/initial_state';
-import PersonAddIcon from 'mastodon/../material-icons/400-24px/person_add.svg?react';
-import RepeatIcon from 'mastodon/../material-icons/400-24px/repeat.svg?react';
-import ReplyIcon from 'mastodon/../material-icons/400-24px/reply.svg?react';
-import StarIcon from 'mastodon/../material-icons/400-24px/star.svg?react';
 
 const messages = defineMessages({
   loginPrompt: { id: 'interaction_modal.login.prompt', defaultMessage: 'Domain of your home server, e.g. mastodon.social' },
diff --git a/app/javascript/flavours/glitch/features/keyboard_shortcuts/index.jsx b/app/javascript/flavours/glitch/features/keyboard_shortcuts/index.jsx
index 65131bf80c..98f65d9b50 100644
--- a/app/javascript/flavours/glitch/features/keyboard_shortcuts/index.jsx
+++ b/app/javascript/flavours/glitch/features/keyboard_shortcuts/index.jsx
@@ -8,9 +8,9 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
 import { connect } from 'react-redux';
 
 
+import InfoIcon from '@/material-icons/400-24px/info.svg?react';
 import Column from 'flavours/glitch/components/column';
 import ColumnHeader from 'flavours/glitch/components/column_header';
-import InfoIcon from 'mastodon/../material-icons/400-24px/info.svg?react';
 
 const messages = defineMessages({
   heading: { id: 'keyboard_shortcuts.heading', defaultMessage: 'Keyboard Shortcuts' },
diff --git a/app/javascript/flavours/glitch/features/list_adder/components/list.jsx b/app/javascript/flavours/glitch/features/list_adder/components/list.jsx
index 142c1de879..adbb16fcd6 100644
--- a/app/javascript/flavours/glitch/features/list_adder/components/list.jsx
+++ b/app/javascript/flavours/glitch/features/list_adder/components/list.jsx
@@ -6,10 +6,10 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 import { connect } from 'react-redux';
 
+import AddIcon from '@/material-icons/400-24px/add.svg?react';
+import CloseIcon from '@/material-icons/400-24px/close.svg?react';
+import ListAltIcon from '@/material-icons/400-24px/list_alt.svg?react';
 import { Icon }  from 'flavours/glitch/components/icon';
-import AddIcon from 'mastodon/../material-icons/400-24px/add.svg?react';
-import CloseIcon from 'mastodon/../material-icons/400-24px/close.svg?react';
-import ListAltIcon from 'mastodon/../material-icons/400-24px/list_alt.svg?react';
 
 
 import { removeFromListAdder, addToListAdder } from '../../../actions/lists';
diff --git a/app/javascript/flavours/glitch/features/list_editor/components/account.jsx b/app/javascript/flavours/glitch/features/list_editor/components/account.jsx
index f406f24fa7..77d32af80a 100644
--- a/app/javascript/flavours/glitch/features/list_editor/components/account.jsx
+++ b/app/javascript/flavours/glitch/features/list_editor/components/account.jsx
@@ -6,8 +6,8 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 import { connect } from 'react-redux';
 
-import AddIcon from 'mastodon/../material-icons/400-24px/add.svg?react';
-import CloseIcon from 'mastodon/../material-icons/400-24px/close.svg?react';
+import AddIcon from '@/material-icons/400-24px/add.svg?react';
+import CloseIcon from '@/material-icons/400-24px/close.svg?react';
 
 import { removeFromListEditor, addToListEditor } from '../../../actions/lists';
 import { Avatar } from '../../../components/avatar';
diff --git a/app/javascript/flavours/glitch/features/list_editor/components/edit_list_form.jsx b/app/javascript/flavours/glitch/features/list_editor/components/edit_list_form.jsx
index ad29d08a93..89f596636e 100644
--- a/app/javascript/flavours/glitch/features/list_editor/components/edit_list_form.jsx
+++ b/app/javascript/flavours/glitch/features/list_editor/components/edit_list_form.jsx
@@ -5,7 +5,7 @@ import { defineMessages, injectIntl } from 'react-intl';
 
 import { connect } from 'react-redux';
 
-import CheckIcon from 'mastodon/../material-icons/400-24px/check.svg?react';
+import CheckIcon from '@/material-icons/400-24px/check.svg?react';
 
 import { changeListEditorTitle, submitListEditor } from '../../../actions/lists';
 import { IconButton } from '../../../components/icon_button';
diff --git a/app/javascript/flavours/glitch/features/list_editor/components/search.jsx b/app/javascript/flavours/glitch/features/list_editor/components/search.jsx
index f1ae60a765..6e9cd44835 100644
--- a/app/javascript/flavours/glitch/features/list_editor/components/search.jsx
+++ b/app/javascript/flavours/glitch/features/list_editor/components/search.jsx
@@ -7,9 +7,9 @@ import classNames from 'classnames';
 
 import { connect } from 'react-redux';
 
+import CancelIcon from '@/material-icons/400-24px/cancel.svg?react';
+import SearchIcon from '@/material-icons/400-24px/search.svg?react';
 import { Icon }  from 'flavours/glitch/components/icon';
-import CancelIcon from 'mastodon/../material-icons/400-24px/cancel.svg?react';
-import SearchIcon from 'mastodon/../material-icons/400-24px/search.svg?react';
 
 
 import { fetchListSuggestions, clearListSuggestions, changeListSuggestions } from '../../../actions/lists';
diff --git a/app/javascript/flavours/glitch/features/list_timeline/index.jsx b/app/javascript/flavours/glitch/features/list_timeline/index.jsx
index a709d5f9a1..ae9f75318f 100644
--- a/app/javascript/flavours/glitch/features/list_timeline/index.jsx
+++ b/app/javascript/flavours/glitch/features/list_timeline/index.jsx
@@ -11,6 +11,9 @@ import { connect } from 'react-redux';
 
 import Toggle from 'react-toggle';
 
+import DeleteIcon from '@/material-icons/400-24px/delete.svg?react';
+import EditIcon from '@/material-icons/400-24px/edit.svg?react';
+import ListAltIcon from '@/material-icons/400-24px/list_alt.svg?react';
 import { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';
 import { fetchList, deleteList, updateList } from 'flavours/glitch/actions/lists';
 import { openModal } from 'flavours/glitch/actions/modal';
@@ -24,9 +27,6 @@ import { RadioButton } from 'flavours/glitch/components/radio_button';
 import BundleColumnError from 'flavours/glitch/features/ui/components/bundle_column_error';
 import StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container';
 import { WithRouterPropTypes } from 'flavours/glitch/utils/react_router';
-import DeleteIcon from 'mastodon/../material-icons/400-24px/delete.svg?react';
-import EditIcon from 'mastodon/../material-icons/400-24px/edit.svg?react';
-import ListAltIcon from 'mastodon/../material-icons/400-24px/list_alt.svg?react';
 
 const messages = defineMessages({
   deleteMessage: { id: 'confirmations.delete_list.message', defaultMessage: 'Are you sure you want to permanently delete this list?' },
diff --git a/app/javascript/flavours/glitch/features/lists/index.jsx b/app/javascript/flavours/glitch/features/lists/index.jsx
index 6b95183cf0..9c24d82f03 100644
--- a/app/javascript/flavours/glitch/features/lists/index.jsx
+++ b/app/javascript/flavours/glitch/features/lists/index.jsx
@@ -10,13 +10,13 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
 import { connect } from 'react-redux';
 
 
+import ListAltIcon from '@/material-icons/400-24px/list_alt.svg?react';
 import { fetchLists } from 'flavours/glitch/actions/lists';
 import { LoadingIndicator } from 'flavours/glitch/components/loading_indicator';
 import ScrollableList from 'flavours/glitch/components/scrollable_list';
 import Column from 'flavours/glitch/features/ui/components/column';
 import ColumnLink from 'flavours/glitch/features/ui/components/column_link';
 import ColumnSubheading from 'flavours/glitch/features/ui/components/column_subheading';
-import ListAltIcon from 'mastodon/../material-icons/400-24px/list_alt.svg?react';
 
 import NewListForm from './components/new_list_form';
 
diff --git a/app/javascript/flavours/glitch/features/local_settings/navigation/index.jsx b/app/javascript/flavours/glitch/features/local_settings/navigation/index.jsx
index f75d2fd336..00744fa2ae 100644
--- a/app/javascript/flavours/glitch/features/local_settings/navigation/index.jsx
+++ b/app/javascript/flavours/glitch/features/local_settings/navigation/index.jsx
@@ -4,13 +4,13 @@ import { PureComponent } from 'react';
 
 import { injectIntl, defineMessages } from 'react-intl';
 
+import CloseIcon from '@/material-icons/400-24px/close.svg?react';
+import EditIcon from '@/material-icons/400-24px/edit.svg?react';
+import ExpandLessIcon from '@/material-icons/400-24px/expand_less.svg?react';
+import ImageIcon from '@/material-icons/400-24px/image.svg?react';
+import ManufacturingIcon from '@/material-icons/400-24px/manufacturing.svg?react';
+import SettingsIcon from '@/material-icons/400-24px/settings-fill.svg?react';
 import { preferencesLink } from 'flavours/glitch/utils/backend_links';
-import CloseIcon from 'mastodon/../material-icons/400-24px/close.svg?react';
-import EditIcon from 'mastodon/../material-icons/400-24px/edit.svg?react';
-import ExpandLessIcon from 'mastodon/../material-icons/400-24px/expand_less.svg?react';
-import ImageIcon from 'mastodon/../material-icons/400-24px/image.svg?react';
-import ManufacturingIcon from 'mastodon/../material-icons/400-24px/manufacturing.svg?react';
-import SettingsIcon from 'mastodon/../material-icons/400-24px/settings-fill.svg?react';
 
 
 import LocalSettingsNavigationItem from './item';
diff --git a/app/javascript/flavours/glitch/features/mutes/index.jsx b/app/javascript/flavours/glitch/features/mutes/index.jsx
index 316eaba220..3b50244ea4 100644
--- a/app/javascript/flavours/glitch/features/mutes/index.jsx
+++ b/app/javascript/flavours/glitch/features/mutes/index.jsx
@@ -10,7 +10,7 @@ import { connect } from 'react-redux';
 
 import { debounce } from 'lodash';
 
-import VolumeOffIcon from 'mastodon/../material-icons/400-24px/volume_off.svg?react';
+import VolumeOffIcon from '@/material-icons/400-24px/volume_off.svg?react';
 
 import { fetchMutes, expandMutes } from '../../actions/mutes';
 import { LoadingIndicator } from '../../components/loading_indicator';
diff --git a/app/javascript/flavours/glitch/features/notifications/components/admin_report.jsx b/app/javascript/flavours/glitch/features/notifications/components/admin_report.jsx
index 646d9504a5..d16a775ea5 100644
--- a/app/javascript/flavours/glitch/features/notifications/components/admin_report.jsx
+++ b/app/javascript/flavours/glitch/features/notifications/components/admin_report.jsx
@@ -10,10 +10,10 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
 
 import { HotKeys } from 'react-hotkeys';
 
+import FlagIcon from '@/material-icons/400-24px/flag-fill.svg?react';
 import { Icon } from 'flavours/glitch/components/icon';
 import { Permalink } from 'flavours/glitch/components/permalink';
 import { WithRouterPropTypes } from 'flavours/glitch/utils/react_router';
-import FlagIcon from 'mastodon/../material-icons/400-24px/flag-fill.svg?react';
 
 import NotificationOverlayContainer from '../containers/overlay_container';
 
diff --git a/app/javascript/flavours/glitch/features/notifications/components/admin_signup.jsx b/app/javascript/flavours/glitch/features/notifications/components/admin_signup.jsx
index cb232047e0..60affd444b 100644
--- a/app/javascript/flavours/glitch/features/notifications/components/admin_signup.jsx
+++ b/app/javascript/flavours/glitch/features/notifications/components/admin_signup.jsx
@@ -10,11 +10,11 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
 
 import { HotKeys } from 'react-hotkeys';
 
+import PersonAddIcon from '@/material-icons/400-24px/person_add-fill.svg?react';
 import { Icon } from 'flavours/glitch/components/icon';
 import { Permalink } from 'flavours/glitch/components/permalink';
 import AccountContainer from 'flavours/glitch/containers/account_container';
 import { WithRouterPropTypes } from 'flavours/glitch/utils/react_router';
-import PersonAddIcon from 'mastodon/../material-icons/400-24px/person_add-fill.svg?react';
 
 import NotificationOverlayContainer from '../containers/overlay_container';
 
diff --git a/app/javascript/flavours/glitch/features/notifications/components/clear_column_button.jsx b/app/javascript/flavours/glitch/features/notifications/components/clear_column_button.jsx
index 58e2f527f5..6e29709b59 100644
--- a/app/javascript/flavours/glitch/features/notifications/components/clear_column_button.jsx
+++ b/app/javascript/flavours/glitch/features/notifications/components/clear_column_button.jsx
@@ -3,8 +3,8 @@ import { PureComponent } from 'react';
 
 import { FormattedMessage } from 'react-intl';
 
+import DeleteForeverIcon from '@/material-icons/400-24px/delete_forever.svg?react';
 import { Icon }  from 'flavours/glitch/components/icon';
-import DeleteForeverIcon from 'mastodon/../material-icons/400-24px/delete_forever.svg?react';
 
 
 export default class ClearColumnButton extends PureComponent {
diff --git a/app/javascript/flavours/glitch/features/notifications/components/filter_bar.jsx b/app/javascript/flavours/glitch/features/notifications/components/filter_bar.jsx
index fd668e3631..7d4a28a2ef 100644
--- a/app/javascript/flavours/glitch/features/notifications/components/filter_bar.jsx
+++ b/app/javascript/flavours/glitch/features/notifications/components/filter_bar.jsx
@@ -3,13 +3,13 @@ import { PureComponent } from 'react';
 
 import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
 
+import HomeIcon from '@/material-icons/400-24px/home-fill.svg?react';
+import InsertChartIcon from '@/material-icons/400-24px/insert_chart.svg?react';
+import PersonAddIcon from '@/material-icons/400-24px/person_add.svg?react';
+import RepeatIcon from '@/material-icons/400-24px/repeat.svg?react';
+import ReplyAllIcon from '@/material-icons/400-24px/reply_all.svg?react';
+import StarIcon from '@/material-icons/400-24px/star.svg?react';
 import { Icon }  from 'flavours/glitch/components/icon';
-import HomeIcon from 'mastodon/../material-icons/400-24px/home-fill.svg?react';
-import InsertChartIcon from 'mastodon/../material-icons/400-24px/insert_chart.svg?react';
-import PersonAddIcon from 'mastodon/../material-icons/400-24px/person_add.svg?react';
-import RepeatIcon from 'mastodon/../material-icons/400-24px/repeat.svg?react';
-import ReplyAllIcon from 'mastodon/../material-icons/400-24px/reply_all.svg?react';
-import StarIcon from 'mastodon/../material-icons/400-24px/star.svg?react';
 
 
 const tooltips = defineMessages({
diff --git a/app/javascript/flavours/glitch/features/notifications/components/follow.jsx b/app/javascript/flavours/glitch/features/notifications/components/follow.jsx
index 04e7280260..85ccde094b 100644
--- a/app/javascript/flavours/glitch/features/notifications/components/follow.jsx
+++ b/app/javascript/flavours/glitch/features/notifications/components/follow.jsx
@@ -10,11 +10,11 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
 
 import { HotKeys } from 'react-hotkeys';
 
+import PersonAddIcon from '@/material-icons/400-24px/person_add-fill.svg?react';
 import { Icon } from 'flavours/glitch/components/icon';
 import { Permalink } from 'flavours/glitch/components/permalink';
 import AccountContainer from 'flavours/glitch/containers/account_container';
 import { WithRouterPropTypes } from 'flavours/glitch/utils/react_router';
-import PersonAddIcon from 'mastodon/../material-icons/400-24px/person_add-fill.svg?react';
 
 import NotificationOverlayContainer from '../containers/overlay_container';
 
diff --git a/app/javascript/flavours/glitch/features/notifications/components/follow_request.jsx b/app/javascript/flavours/glitch/features/notifications/components/follow_request.jsx
index 6f167adba8..6607279983 100644
--- a/app/javascript/flavours/glitch/features/notifications/components/follow_request.jsx
+++ b/app/javascript/flavours/glitch/features/notifications/components/follow_request.jsx
@@ -10,15 +10,15 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
 
 import { HotKeys } from 'react-hotkeys';
 
+import CheckIcon from '@/material-icons/400-24px/check.svg?react';
+import CloseIcon from '@/material-icons/400-24px/close.svg?react';
+import PersonIcon from '@/material-icons/400-24px/person-fill.svg?react';
 import { Avatar } from 'flavours/glitch/components/avatar';
 import { DisplayName } from 'flavours/glitch/components/display_name';
 import { Icon } from 'flavours/glitch/components/icon';
 import { IconButton } from 'flavours/glitch/components/icon_button';
 import { Permalink } from 'flavours/glitch/components/permalink';
 import { WithRouterPropTypes } from 'flavours/glitch/utils/react_router';
-import CheckIcon from 'mastodon/../material-icons/400-24px/check.svg?react';
-import CloseIcon from 'mastodon/../material-icons/400-24px/close.svg?react';
-import PersonIcon from 'mastodon/../material-icons/400-24px/person-fill.svg?react';
 
 import NotificationOverlayContainer from '../containers/overlay_container';
 
diff --git a/app/javascript/flavours/glitch/features/notifications/components/notifications_permission_banner.jsx b/app/javascript/flavours/glitch/features/notifications/components/notifications_permission_banner.jsx
index 92b1bf82bd..82c08ea175 100644
--- a/app/javascript/flavours/glitch/features/notifications/components/notifications_permission_banner.jsx
+++ b/app/javascript/flavours/glitch/features/notifications/components/notifications_permission_banner.jsx
@@ -6,13 +6,13 @@ import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
 import { connect } from 'react-redux';
 
 
+import CloseIcon from '@/material-icons/400-24px/close.svg?react';
+import TuneIcon from '@/material-icons/400-24px/tune.svg?react';
 import { requestBrowserPermission } from 'flavours/glitch/actions/notifications';
 import { changeSetting } from 'flavours/glitch/actions/settings';
 import { Button } from 'flavours/glitch/components/button';
 import { Icon }  from 'flavours/glitch/components/icon';
 import { IconButton } from 'flavours/glitch/components/icon_button';
-import CloseIcon from 'mastodon/../material-icons/400-24px/close.svg?react';
-import TuneIcon from 'mastodon/../material-icons/400-24px/tune.svg?react';
 
 const messages = defineMessages({
   close: { id: 'lightbox.close', defaultMessage: 'Close' },
diff --git a/app/javascript/flavours/glitch/features/notifications/components/overlay.jsx b/app/javascript/flavours/glitch/features/notifications/components/overlay.jsx
index 1b9822cf09..faf7e42e71 100644
--- a/app/javascript/flavours/glitch/features/notifications/components/overlay.jsx
+++ b/app/javascript/flavours/glitch/features/notifications/components/overlay.jsx
@@ -9,8 +9,8 @@ import { defineMessages, injectIntl } from 'react-intl';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
+import CheckIcon from '@/material-icons/400-24px/check.svg?react';
 import { Icon } from 'flavours/glitch/components/icon';
-import CheckIcon from 'mastodon/../material-icons/400-24px/check.svg?react';
 
 
 const messages = defineMessages({
diff --git a/app/javascript/flavours/glitch/features/notifications/index.jsx b/app/javascript/flavours/glitch/features/notifications/index.jsx
index 0a7c29cd38..783c35a43e 100644
--- a/app/javascript/flavours/glitch/features/notifications/index.jsx
+++ b/app/javascript/flavours/glitch/features/notifications/index.jsx
@@ -13,12 +13,12 @@ import { connect } from 'react-redux';
 
 import { debounce } from 'lodash';
 
+import DeleteForeverIcon from '@/material-icons/400-24px/delete_forever.svg?react';
+import DoneAllIcon from '@/material-icons/400-24px/done_all.svg?react';
+import NotificationsIcon from '@/material-icons/400-24px/notifications-fill.svg?react';
 import { compareId } from 'flavours/glitch/compare_id';
 import { Icon }  from 'flavours/glitch/components/icon';
 import { NotSignedInIndicator } from 'flavours/glitch/components/not_signed_in_indicator';
-import DeleteForeverIcon from 'mastodon/../material-icons/400-24px/delete_forever.svg?react';
-import DoneAllIcon from 'mastodon/../material-icons/400-24px/done_all.svg?react';
-import NotificationsIcon from 'mastodon/../material-icons/400-24px/notifications-fill.svg?react';
 
 import { addColumn, removeColumn, moveColumn } from '../../actions/columns';
 import { submitMarkers } from '../../actions/markers';
diff --git a/app/javascript/flavours/glitch/features/onboarding/components/step.jsx b/app/javascript/flavours/glitch/features/onboarding/components/step.jsx
index 7f278fa013..4dcd3c9ce5 100644
--- a/app/javascript/flavours/glitch/features/onboarding/components/step.jsx
+++ b/app/javascript/flavours/glitch/features/onboarding/components/step.jsx
@@ -2,9 +2,9 @@ import PropTypes from 'prop-types';
 
 import { Link } from 'react-router-dom';
 
+import ArrowRightAltIcon from '@/material-icons/400-24px/arrow_right_alt.svg?react';
+import CheckIcon from '@/material-icons/400-24px/done.svg?react';
 import { Icon } from 'flavours/glitch/components/icon';
-import ArrowRightAltIcon from 'mastodon/../material-icons/400-24px/arrow_right_alt.svg?react';
-import CheckIcon from 'mastodon/../material-icons/400-24px/done.svg?react';
 
 
 export const Step = ({ label, description, icon, iconComponent, completed, onClick, href, to }) => {
diff --git a/app/javascript/flavours/glitch/features/onboarding/index.jsx b/app/javascript/flavours/glitch/features/onboarding/index.jsx
index 8e465b48bf..fb9df29aeb 100644
--- a/app/javascript/flavours/glitch/features/onboarding/index.jsx
+++ b/app/javascript/flavours/glitch/features/onboarding/index.jsx
@@ -9,18 +9,18 @@ import { useDispatch } from 'react-redux';
 
 
 
+import illustration from '@/images/elephant_ui_conversation.svg';
+import AccountCircleIcon from '@/material-icons/400-24px/account_circle.svg?react';
+import ArrowRightAltIcon from '@/material-icons/400-24px/arrow_right_alt.svg?react';
+import ContentCopyIcon from '@/material-icons/400-24px/content_copy.svg?react';
+import EditNoteIcon from '@/material-icons/400-24px/edit_note.svg?react';
+import PersonAddIcon from '@/material-icons/400-24px/person_add.svg?react';
 import { focusCompose } from 'flavours/glitch/actions/compose';
 import { Icon }  from 'flavours/glitch/components/icon';
 import Column from 'flavours/glitch/features/ui/components/column';
 import { me } from 'flavours/glitch/initial_state';
 import { useAppSelector } from 'flavours/glitch/store';
 import { assetHost } from 'flavours/glitch/utils/config';
-import illustration from 'mastodon/../images/elephant_ui_conversation.svg';
-import AccountCircleIcon from 'mastodon/../material-icons/400-24px/account_circle.svg?react';
-import ArrowRightAltIcon from 'mastodon/../material-icons/400-24px/arrow_right_alt.svg?react';
-import ContentCopyIcon from 'mastodon/../material-icons/400-24px/content_copy.svg?react';
-import EditNoteIcon from 'mastodon/../material-icons/400-24px/edit_note.svg?react';
-import PersonAddIcon from 'mastodon/../material-icons/400-24px/person_add.svg?react';
 
 import { Step } from './components/step';
 import { Follows } from './follows';
diff --git a/app/javascript/flavours/glitch/features/onboarding/profile.jsx b/app/javascript/flavours/glitch/features/onboarding/profile.jsx
index 78782a3d93..75e179ee1e 100644
--- a/app/javascript/flavours/glitch/features/onboarding/profile.jsx
+++ b/app/javascript/flavours/glitch/features/onboarding/profile.jsx
@@ -10,6 +10,8 @@ import { useDispatch } from 'react-redux';
 
 import Toggle from 'react-toggle';
 
+import AddPhotoAlternateIcon from '@/material-icons/400-24px/add_photo_alternate.svg?react';
+import EditIcon from '@/material-icons/400-24px/edit.svg?react';
 import { updateAccount } from 'flavours/glitch/actions/accounts';
 import { Button } from 'flavours/glitch/components/button';
 import { ColumnBackButton } from 'flavours/glitch/components/column_back_button';
@@ -18,8 +20,6 @@ import { LoadingIndicator } from 'flavours/glitch/components/loading_indicator';
 import { me } from 'flavours/glitch/initial_state';
 import { useAppSelector } from 'flavours/glitch/store';
 import { unescapeHTML } from 'flavours/glitch/utils/html';
-import AddPhotoAlternateIcon from 'mastodon/../material-icons/400-24px/add_photo_alternate.svg?react';
-import EditIcon from 'mastodon/../material-icons/400-24px/edit.svg?react';
 
 const messages = defineMessages({
   uploadHeader: { id: 'onboarding.profile.upload_header', defaultMessage: 'Upload profile header' },
diff --git a/app/javascript/flavours/glitch/features/onboarding/share.jsx b/app/javascript/flavours/glitch/features/onboarding/share.jsx
index cbc5abc027..0c7d579c10 100644
--- a/app/javascript/flavours/glitch/features/onboarding/share.jsx
+++ b/app/javascript/flavours/glitch/features/onboarding/share.jsx
@@ -9,12 +9,12 @@ import { Link } from 'react-router-dom';
 
 import SwipeableViews from 'react-swipeable-views';
 
+import ArrowRightAltIcon from '@/material-icons/400-24px/arrow_right_alt.svg?react';
+import ContentCopyIcon from '@/material-icons/400-24px/content_copy.svg?react';
 import { ColumnBackButton } from 'flavours/glitch/components/column_back_button';
 import { Icon }  from 'flavours/glitch/components/icon';
 import { me, domain } from 'flavours/glitch/initial_state';
 import { useAppSelector } from 'flavours/glitch/store';
-import ArrowRightAltIcon from 'mastodon/../material-icons/400-24px/arrow_right_alt.svg?react';
-import ContentCopyIcon from 'mastodon/../material-icons/400-24px/content_copy.svg?react';
 
 const messages = defineMessages({
   shareableMessage: { id: 'onboarding.share.message', defaultMessage: 'I\'m {username} on #Mastodon! Come follow me at {url}' },
diff --git a/app/javascript/flavours/glitch/features/picture_in_picture/components/footer.jsx b/app/javascript/flavours/glitch/features/picture_in_picture/components/footer.jsx
index f34ba7e475..83e53d9263 100644
--- a/app/javascript/flavours/glitch/features/picture_in_picture/components/footer.jsx
+++ b/app/javascript/flavours/glitch/features/picture_in_picture/components/footer.jsx
@@ -10,6 +10,11 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
 import { connect } from 'react-redux';
 
 
+import OpenInNewIcon from '@/material-icons/400-24px/open_in_new.svg?react';
+import RepeatIcon from '@/material-icons/400-24px/repeat.svg?react';
+import ReplyIcon from '@/material-icons/400-24px/reply.svg?react';
+import ReplyAllIcon from '@/material-icons/400-24px/reply_all.svg?react';
+import StarIcon from '@/material-icons/400-24px/star.svg?react';
 import { initBoostModal } from 'flavours/glitch/actions/boosts';
 import { replyCompose } from 'flavours/glitch/actions/compose';
 import { reblog, favourite, unreblog, unfavourite } from 'flavours/glitch/actions/interactions';
@@ -18,11 +23,6 @@ import { IconButton } from 'flavours/glitch/components/icon_button';
 import { me, boostModal } from 'flavours/glitch/initial_state';
 import { makeGetStatus } from 'flavours/glitch/selectors';
 import { WithRouterPropTypes } from 'flavours/glitch/utils/react_router';
-import OpenInNewIcon from 'mastodon/../material-icons/400-24px/open_in_new.svg?react';
-import RepeatIcon from 'mastodon/../material-icons/400-24px/repeat.svg?react';
-import ReplyIcon from 'mastodon/../material-icons/400-24px/reply.svg?react';
-import ReplyAllIcon from 'mastodon/../material-icons/400-24px/reply_all.svg?react';
-import StarIcon from 'mastodon/../material-icons/400-24px/star.svg?react';
 
 const messages = defineMessages({
   reply: { id: 'status.reply', defaultMessage: 'Reply' },
diff --git a/app/javascript/flavours/glitch/features/picture_in_picture/components/header.jsx b/app/javascript/flavours/glitch/features/picture_in_picture/components/header.jsx
index 805561b92d..dd90cd3522 100644
--- a/app/javascript/flavours/glitch/features/picture_in_picture/components/header.jsx
+++ b/app/javascript/flavours/glitch/features/picture_in_picture/components/header.jsx
@@ -9,10 +9,10 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
 import { connect } from 'react-redux';
 
 
+import CloseIcon from '@/material-icons/400-24px/close.svg?react';
 import { Avatar } from 'flavours/glitch/components/avatar';
 import { DisplayName } from 'flavours/glitch/components/display_name';
 import { IconButton } from 'flavours/glitch/components/icon_button';
-import CloseIcon from 'mastodon/../material-icons/400-24px/close.svg?react';
 
 const messages = defineMessages({
   close: { id: 'lightbox.close', defaultMessage: 'Close' },
diff --git a/app/javascript/flavours/glitch/features/pinned_statuses/index.jsx b/app/javascript/flavours/glitch/features/pinned_statuses/index.jsx
index 2f16f26cfa..94d5f6cb4c 100644
--- a/app/javascript/flavours/glitch/features/pinned_statuses/index.jsx
+++ b/app/javascript/flavours/glitch/features/pinned_statuses/index.jsx
@@ -8,8 +8,8 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 import { connect } from 'react-redux';
 
+import PushPinIcon from '@/material-icons/400-24px/push_pin.svg?react';
 import { getStatusList } from 'flavours/glitch/selectors';
-import PushPinIcon from 'mastodon/../material-icons/400-24px/push_pin.svg?react';
 
 
 import { fetchPinnedStatuses } from '../../actions/pin_statuses';
diff --git a/app/javascript/flavours/glitch/features/public_timeline/index.jsx b/app/javascript/flavours/glitch/features/public_timeline/index.jsx
index 1686b8dc51..0062a9f719 100644
--- a/app/javascript/flavours/glitch/features/public_timeline/index.jsx
+++ b/app/javascript/flavours/glitch/features/public_timeline/index.jsx
@@ -8,9 +8,9 @@ import { Helmet } from 'react-helmet';
 import { connect } from 'react-redux';
 
 
+import PublicIcon from '@/material-icons/400-24px/public.svg?react';
 import { DismissableBanner } from 'flavours/glitch/components/dismissable_banner';
 import { domain } from 'flavours/glitch/initial_state';
-import PublicIcon from 'mastodon/../material-icons/400-24px/public.svg?react';
 
 import { addColumn, removeColumn, moveColumn } from '../../actions/columns';
 import { connectPublicStream } from '../../actions/streaming';
diff --git a/app/javascript/flavours/glitch/features/reblogs/index.jsx b/app/javascript/flavours/glitch/features/reblogs/index.jsx
index b7e7746ae4..52e9a35833 100644
--- a/app/javascript/flavours/glitch/features/reblogs/index.jsx
+++ b/app/javascript/flavours/glitch/features/reblogs/index.jsx
@@ -10,9 +10,9 @@ import { connect } from 'react-redux';
 
 import { debounce } from 'lodash';
 
+import RefreshIcon from '@/material-icons/400-24px/refresh.svg?react';
+import RepeatIcon from '@/material-icons/400-24px/repeat.svg?react';
 import { Icon }  from 'flavours/glitch/components/icon';
-import RefreshIcon from 'mastodon/../material-icons/400-24px/refresh.svg?react';
-import RepeatIcon from 'mastodon/../material-icons/400-24px/repeat.svg?react';
 
 
 import { fetchReblogs, expandReblogs } from '../../actions/interactions';
diff --git a/app/javascript/flavours/glitch/features/report/components/option.jsx b/app/javascript/flavours/glitch/features/report/components/option.jsx
index 3faf5cfe9b..3b40de8cba 100644
--- a/app/javascript/flavours/glitch/features/report/components/option.jsx
+++ b/app/javascript/flavours/glitch/features/report/components/option.jsx
@@ -3,8 +3,8 @@ import { PureComponent } from 'react';
 
 import classNames from 'classnames';
 
+import CheckIcon from '@/material-icons/400-24px/done.svg?react';
 import { Icon }  from 'flavours/glitch/components/icon';
-import CheckIcon from 'mastodon/../material-icons/400-24px/done.svg?react';
 
 
 export default class Option extends PureComponent {
diff --git a/app/javascript/flavours/glitch/features/status/components/action_bar.jsx b/app/javascript/flavours/glitch/features/status/components/action_bar.jsx
index 656a69255c..9edd47f5b0 100644
--- a/app/javascript/flavours/glitch/features/status/components/action_bar.jsx
+++ b/app/javascript/flavours/glitch/features/status/components/action_bar.jsx
@@ -8,19 +8,19 @@ import { withRouter } from 'react-router-dom';
 
 import ImmutablePropTypes from 'react-immutable-proptypes';
 
+import BookmarkIcon from '@/material-icons/400-24px/bookmark-fill.svg?react';
+import BookmarkBorderIcon from '@/material-icons/400-24px/bookmark.svg?react';
+import MoreHorizIcon from '@/material-icons/400-24px/more_horiz.svg?react';
+import RepeatIcon from '@/material-icons/400-24px/repeat.svg?react';
+import ReplyIcon from '@/material-icons/400-24px/reply.svg?react';
+import ReplyAllIcon from '@/material-icons/400-24px/reply_all.svg?react';
+import StarIcon from '@/material-icons/400-24px/star-fill.svg?react';
+import StarBorderIcon from '@/material-icons/400-24px/star.svg?react';
+import RepeatDisabledIcon from '@/svg-icons/repeat_disabled.svg';
+import RepeatPrivateIcon from '@/svg-icons/repeat_private.svg';
 import { PERMISSION_MANAGE_USERS, PERMISSION_MANAGE_FEDERATION } from 'flavours/glitch/permissions';
 import { accountAdminLink, statusAdminLink } from 'flavours/glitch/utils/backend_links';
 import { WithRouterPropTypes } from 'flavours/glitch/utils/react_router';
-import BookmarkIcon from 'mastodon/../material-icons/400-24px/bookmark-fill.svg?react';
-import BookmarkBorderIcon from 'mastodon/../material-icons/400-24px/bookmark.svg?react';
-import MoreHorizIcon from 'mastodon/../material-icons/400-24px/more_horiz.svg?react';
-import RepeatIcon from 'mastodon/../material-icons/400-24px/repeat.svg?react';
-import ReplyIcon from 'mastodon/../material-icons/400-24px/reply.svg?react';
-import ReplyAllIcon from 'mastodon/../material-icons/400-24px/reply_all.svg?react';
-import StarIcon from 'mastodon/../material-icons/400-24px/star-fill.svg?react';
-import StarBorderIcon from 'mastodon/../material-icons/400-24px/star.svg?react';
-import RepeatDisabledIcon from 'mastodon/../svg-icons/repeat_disabled.svg';
-import RepeatPrivateIcon from 'mastodon/../svg-icons/repeat_private.svg';
 
 import { IconButton } from '../../../components/icon_button';
 import DropdownMenuContainer from '../../../containers/dropdown_menu_container';
diff --git a/app/javascript/flavours/glitch/features/status/components/card.jsx b/app/javascript/flavours/glitch/features/status/components/card.jsx
index 62e4d23f85..3d5522ab61 100644
--- a/app/javascript/flavours/glitch/features/status/components/card.jsx
+++ b/app/javascript/flavours/glitch/features/status/components/card.jsx
@@ -9,13 +9,13 @@ import Immutable from 'immutable';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 
 
+import DescriptionIcon from '@/material-icons/400-24px/description-fill.svg?react';
+import OpenInNewIcon from '@/material-icons/400-24px/open_in_new.svg?react';
+import PlayArrowIcon from '@/material-icons/400-24px/play_arrow-fill.svg?react';
 import { Blurhash } from 'flavours/glitch/components/blurhash';
 import { Icon }  from 'flavours/glitch/components/icon';
 import { useBlurhash } from 'flavours/glitch/initial_state';
 import { decode as decodeIDNA } from 'flavours/glitch/utils/idna';
-import DescriptionIcon from 'mastodon/../material-icons/400-24px/description-fill.svg?react';
-import OpenInNewIcon from 'mastodon/../material-icons/400-24px/open_in_new.svg?react';
-import PlayArrowIcon from 'mastodon/../material-icons/400-24px/play_arrow-fill.svg?react';
 
 const getHostname = url => {
   const parser = document.createElement('a');
diff --git a/app/javascript/flavours/glitch/features/status/components/detailed_status.jsx b/app/javascript/flavours/glitch/features/status/components/detailed_status.jsx
index 6aabba0ad4..0638d0d646 100644
--- a/app/javascript/flavours/glitch/features/status/components/detailed_status.jsx
+++ b/app/javascript/flavours/glitch/features/status/components/detailed_status.jsx
@@ -9,6 +9,8 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
 
+import RepeatIcon from '@/material-icons/400-24px/repeat.svg?react';
+import StarIcon from '@/material-icons/400-24px/star-fill.svg?react';
 import { AnimatedNumber } from 'flavours/glitch/components/animated_number';
 import AttachmentList from 'flavours/glitch/components/attachment_list';
 import EditedTimestamp from 'flavours/glitch/components/edited_timestamp';
@@ -18,8 +20,6 @@ import PictureInPicturePlaceholder from 'flavours/glitch/components/picture_in_p
 import { VisibilityIcon } from 'flavours/glitch/components/visibility_icon';
 import PollContainer from 'flavours/glitch/containers/poll_container';
 import { WithRouterPropTypes } from 'flavours/glitch/utils/react_router';
-import RepeatIcon from 'mastodon/../material-icons/400-24px/repeat.svg?react';
-import StarIcon from 'mastodon/../material-icons/400-24px/star-fill.svg?react';
 
 import { Avatar } from '../../../components/avatar';
 import { DisplayName } from '../../../components/display_name';
diff --git a/app/javascript/flavours/glitch/features/status/index.jsx b/app/javascript/flavours/glitch/features/status/index.jsx
index 23886c405f..f9b8640762 100644
--- a/app/javascript/flavours/glitch/features/status/index.jsx
+++ b/app/javascript/flavours/glitch/features/status/index.jsx
@@ -14,15 +14,15 @@ import { connect } from 'react-redux';
 
 import { HotKeys } from 'react-hotkeys';
 
+import ChatIcon from '@/material-icons/400-24px/chat.svg?react';
+import VisibilityIcon from '@/material-icons/400-24px/visibility.svg?react';
+import VisibilityOffIcon from '@/material-icons/400-24px/visibility_off.svg?react';
 import { Icon }  from 'flavours/glitch/components/icon';
 import { LoadingIndicator } from 'flavours/glitch/components/loading_indicator';
 import ScrollContainer from 'flavours/glitch/containers/scroll_container';
 import BundleColumnError from 'flavours/glitch/features/ui/components/bundle_column_error';
 import { autoUnfoldCW } from 'flavours/glitch/utils/content_warning';
 import { WithRouterPropTypes } from 'flavours/glitch/utils/react_router';
-import ChatIcon from 'mastodon/../material-icons/400-24px/chat.svg?react';
-import VisibilityIcon from 'mastodon/../material-icons/400-24px/visibility.svg?react';
-import VisibilityOffIcon from 'mastodon/../material-icons/400-24px/visibility_off.svg?react';
 
 import { initBlockModal } from '../../actions/blocks';
 import { initBoostModal } from '../../actions/boosts';
diff --git a/app/javascript/flavours/glitch/features/subscribed_languages_modal/index.jsx b/app/javascript/flavours/glitch/features/subscribed_languages_modal/index.jsx
index f1c0d8cf81..1edfe700fe 100644
--- a/app/javascript/flavours/glitch/features/subscribed_languages_modal/index.jsx
+++ b/app/javascript/flavours/glitch/features/subscribed_languages_modal/index.jsx
@@ -9,12 +9,12 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
 import { connect } from 'react-redux';
 
 
+import CloseIcon from '@/material-icons/400-24px/close.svg?react';
 import { followAccount } from 'flavours/glitch/actions/accounts';
 import { Button } from 'flavours/glitch/components/button';
 import { IconButton } from 'flavours/glitch/components/icon_button';
 import Option from 'flavours/glitch/features/report/components/option';
 import { languages as preloadedLanguages } from 'flavours/glitch/initial_state';
-import CloseIcon from 'mastodon/../material-icons/400-24px/close.svg?react';
 
 const messages = defineMessages({
   close: { id: 'lightbox.close', defaultMessage: 'Close' },
diff --git a/app/javascript/flavours/glitch/features/ui/components/boost_modal.jsx b/app/javascript/flavours/glitch/features/ui/components/boost_modal.jsx
index 6c29a45b95..f44fd5ebf4 100644
--- a/app/javascript/flavours/glitch/features/ui/components/boost_modal.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/boost_modal.jsx
@@ -10,13 +10,13 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
 import { connect } from 'react-redux';
 
 
+import RepeatIcon from '@/material-icons/400-24px/repeat.svg?react';
 import { changeBoostPrivacy } from 'flavours/glitch/actions/boosts';
 import AttachmentList from 'flavours/glitch/components/attachment_list';
 import { Icon }  from 'flavours/glitch/components/icon';
 import { VisibilityIcon } from 'flavours/glitch/components/visibility_icon';
 import PrivacyDropdown from 'flavours/glitch/features/compose/components/privacy_dropdown';
 import { WithRouterPropTypes } from 'flavours/glitch/utils/react_router';
-import RepeatIcon from 'mastodon/../material-icons/400-24px/repeat.svg?react';
 
 import { Avatar } from '../../../components/avatar';
 import { Button } from '../../../components/button';
diff --git a/app/javascript/flavours/glitch/features/ui/components/bundle_modal_error.jsx b/app/javascript/flavours/glitch/features/ui/components/bundle_modal_error.jsx
index dd2a10608d..d1c9e36883 100644
--- a/app/javascript/flavours/glitch/features/ui/components/bundle_modal_error.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/bundle_modal_error.jsx
@@ -3,7 +3,7 @@ import { PureComponent } from 'react';
 
 import { defineMessages, injectIntl } from 'react-intl';
 
-import RefreshIcon from 'mastodon/../material-icons/400-24px/refresh.svg?react';
+import RefreshIcon from '@/material-icons/400-24px/refresh.svg?react';
 
 import { IconButton } from '../../../components/icon_button';
 
diff --git a/app/javascript/flavours/glitch/features/ui/components/compare_history_modal.jsx b/app/javascript/flavours/glitch/features/ui/components/compare_history_modal.jsx
index aeabbcddd1..7e84a578c2 100644
--- a/app/javascript/flavours/glitch/features/ui/components/compare_history_modal.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/compare_history_modal.jsx
@@ -8,13 +8,13 @@ import { connect } from 'react-redux';
 
 import escapeTextContentForBrowser from 'escape-html';
 
+import CloseIcon from '@/material-icons/400-24px/close.svg?react';
 import { closeModal } from 'flavours/glitch/actions/modal';
 import { IconButton } from 'flavours/glitch/components/icon_button';
 import InlineAccount from 'flavours/glitch/components/inline_account';
 import MediaAttachments from 'flavours/glitch/components/media_attachments';
 import { RelativeTimestamp } from 'flavours/glitch/components/relative_timestamp';
 import emojify from 'flavours/glitch/features/emoji/emoji';
-import CloseIcon from 'mastodon/../material-icons/400-24px/close.svg?react';
 
 const mapStateToProps = (state, { statusId }) => ({
   language: state.getIn(['statuses', statusId, 'language']),
diff --git a/app/javascript/flavours/glitch/features/ui/components/deprecated_settings_modal.jsx b/app/javascript/flavours/glitch/features/ui/components/deprecated_settings_modal.jsx
index 2f46218c54..2f0c07e78b 100644
--- a/app/javascript/flavours/glitch/features/ui/components/deprecated_settings_modal.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/deprecated_settings_modal.jsx
@@ -6,12 +6,12 @@ import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 
 
+import ManufacturingIcon from '@/material-icons/400-24px/manufacturing.svg?react';
+import SettingsIcon from '@/material-icons/400-24px/settings-fill.svg?react';
 import { Button } from 'flavours/glitch/components/button';
 import { Icon } from 'flavours/glitch/components/icon';
 import illustration from 'flavours/glitch/images/logo_warn_glitch.svg';
 import { preferenceLink } from 'flavours/glitch/utils/backend_links';
-import ManufacturingIcon from 'mastodon/../material-icons/400-24px/manufacturing.svg?react';
-import SettingsIcon from 'mastodon/../material-icons/400-24px/settings-fill.svg?react';
 
 const messages = defineMessages({
   discardChanges: { id: 'confirmations.deprecated_settings.confirm', defaultMessage: 'Use Mastodon preferences' },
diff --git a/app/javascript/flavours/glitch/features/ui/components/embed_modal.jsx b/app/javascript/flavours/glitch/features/ui/components/embed_modal.jsx
index ba4400dc11..edd2fb8940 100644
--- a/app/javascript/flavours/glitch/features/ui/components/embed_modal.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/embed_modal.jsx
@@ -5,9 +5,9 @@ import { defineMessages, FormattedMessage, injectIntl } from 'react-intl';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
 
+import CloseIcon from '@/material-icons/400-24px/close.svg?react';
 import api from 'flavours/glitch/api';
 import { IconButton } from 'flavours/glitch/components/icon_button';
-import CloseIcon from 'mastodon/../material-icons/400-24px/close.svg?react';
 
 const messages = defineMessages({
   close: { id: 'lightbox.close', defaultMessage: 'Close' },
diff --git a/app/javascript/flavours/glitch/features/ui/components/favourite_modal.jsx b/app/javascript/flavours/glitch/features/ui/components/favourite_modal.jsx
index 0e4ad43d80..388bc5762c 100644
--- a/app/javascript/flavours/glitch/features/ui/components/favourite_modal.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/favourite_modal.jsx
@@ -9,6 +9,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
 
+import StarIcon from '@/material-icons/400-24px/star-fill.svg?react';
 import AttachmentList from 'flavours/glitch/components/attachment_list';
 import { Avatar } from 'flavours/glitch/components/avatar';
 import { Button } from 'flavours/glitch/components/button';
@@ -18,7 +19,6 @@ import { RelativeTimestamp } from 'flavours/glitch/components/relative_timestamp
 import StatusContent from 'flavours/glitch/components/status_content';
 import { VisibilityIcon } from 'flavours/glitch/components/visibility_icon';
 import { WithRouterPropTypes } from 'flavours/glitch/utils/react_router';
-import StarIcon from 'mastodon/../material-icons/400-24px/star-fill.svg?react';
 
 const messages = defineMessages({
   favourite: { id: 'status.favourite', defaultMessage: 'Favorite' },
diff --git a/app/javascript/flavours/glitch/features/ui/components/filter_modal.jsx b/app/javascript/flavours/glitch/features/ui/components/filter_modal.jsx
index 4bab7f326c..9ce5eec874 100644
--- a/app/javascript/flavours/glitch/features/ui/components/filter_modal.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/filter_modal.jsx
@@ -6,12 +6,12 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
 import { connect } from 'react-redux';
 
 
+import CloseIcon from '@/material-icons/400-24px/close.svg?react';
 import { fetchFilters, createFilter, createFilterStatus } from 'flavours/glitch/actions/filters';
 import { fetchStatus } from 'flavours/glitch/actions/statuses';
 import { IconButton } from 'flavours/glitch/components/icon_button';
 import AddedToFilter from 'flavours/glitch/features/filters/added_to_filter';
 import SelectFilter from 'flavours/glitch/features/filters/select_filter';
-import CloseIcon from 'mastodon/../material-icons/400-24px/close.svg?react';
 
 const messages = defineMessages({
   close: { id: 'lightbox.close', defaultMessage: 'Close' },
diff --git a/app/javascript/flavours/glitch/features/ui/components/focal_point_modal.jsx b/app/javascript/flavours/glitch/features/ui/components/focal_point_modal.jsx
index 66b4ff2ff0..caed29c252 100644
--- a/app/javascript/flavours/glitch/features/ui/components/focal_point_modal.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/focal_point_modal.jsx
@@ -16,6 +16,7 @@ import tesseractWorkerPath from 'tesseract.js/dist/worker.min.js';
 // eslint-disable-next-line import/no-extraneous-dependencies
 import tesseractCorePath from 'tesseract.js-core/tesseract-core.wasm.js';
 
+import CloseIcon from '@/material-icons/400-24px/close.svg?react';
 import { Button } from 'flavours/glitch/components/button';
 import { GIFV } from 'flavours/glitch/components/gifv';
 import { IconButton } from 'flavours/glitch/components/icon_button';
@@ -25,7 +26,6 @@ import UploadProgress from 'flavours/glitch/features/compose/components/upload_p
 import { Tesseract as fetchTesseract } from 'flavours/glitch/features/ui/util/async-components';
 import { me } from 'flavours/glitch/initial_state';
 import { assetHost } from 'flavours/glitch/utils/config';
-import CloseIcon from 'mastodon/../material-icons/400-24px/close.svg?react';
 
 import { changeUploadCompose, uploadThumbnail, onChangeMediaDescription, onChangeMediaFocus } from '../../../actions/compose';
 import Video, { getPointerPosition } from '../../video';
diff --git a/app/javascript/flavours/glitch/features/ui/components/follow_requests_column_link.jsx b/app/javascript/flavours/glitch/features/ui/components/follow_requests_column_link.jsx
index 1225236edd..24fd5b6442 100644
--- a/app/javascript/flavours/glitch/features/ui/components/follow_requests_column_link.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/follow_requests_column_link.jsx
@@ -6,10 +6,10 @@ import { injectIntl, defineMessages } from 'react-intl';
 import { List as ImmutableList } from 'immutable';
 import { connect } from 'react-redux';
 
+import PersonAddIcon from '@/material-icons/400-24px/person_add.svg?react';
 import { fetchFollowRequests } from 'flavours/glitch/actions/accounts';
 import { IconWithBadge } from 'flavours/glitch/components/icon_with_badge';
 import ColumnLink from 'flavours/glitch/features/ui/components/column_link';
-import PersonAddIcon from 'mastodon/../material-icons/400-24px/person_add.svg?react';
 
 const messages = defineMessages({
   text: { id: 'navigation_bar.follow_requests', defaultMessage: 'Follow requests' },
diff --git a/app/javascript/flavours/glitch/features/ui/components/header.jsx b/app/javascript/flavours/glitch/features/ui/components/header.jsx
index a7aecc5d11..618a6b63d4 100644
--- a/app/javascript/flavours/glitch/features/ui/components/header.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/header.jsx
@@ -7,6 +7,7 @@ import { Link, withRouter } from 'react-router-dom';
 
 import { connect } from 'react-redux';
 
+import SearchIcon from '@/material-icons/400-24px/search.svg?react';
 import { openModal } from 'flavours/glitch/actions/modal';
 import { fetchServer } from 'flavours/glitch/actions/server';
 import { Avatar } from 'flavours/glitch/components/avatar';
@@ -14,7 +15,6 @@ import { Icon } from 'flavours/glitch/components/icon';
 import { WordmarkLogo, SymbolLogo } from 'flavours/glitch/components/logo';
 import { Permalink } from 'flavours/glitch/components/permalink';
 import { registrationsOpen, me, sso_redirect } from 'flavours/glitch/initial_state';
-import SearchIcon from 'mastodon/../material-icons/400-24px/search.svg?react';
 
 const Account = connect(state => ({
   account: state.getIn(['accounts', me]),
diff --git a/app/javascript/flavours/glitch/features/ui/components/image_modal.jsx b/app/javascript/flavours/glitch/features/ui/components/image_modal.jsx
index 9f0cb08349..0e7a3d3121 100644
--- a/app/javascript/flavours/glitch/features/ui/components/image_modal.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/image_modal.jsx
@@ -5,8 +5,8 @@ import { defineMessages, injectIntl } from 'react-intl';
 
 import classNames from 'classnames';
 
+import CloseIcon from '@/material-icons/400-24px/close.svg?react';
 import { IconButton } from 'flavours/glitch/components/icon_button';
-import CloseIcon from 'mastodon/../material-icons/400-24px/close.svg?react';
 
 import ImageLoader from './image_loader';
 
diff --git a/app/javascript/flavours/glitch/features/ui/components/list_panel.jsx b/app/javascript/flavours/glitch/features/ui/components/list_panel.jsx
index e766841655..1baedfb8b0 100644
--- a/app/javascript/flavours/glitch/features/ui/components/list_panel.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/list_panel.jsx
@@ -5,8 +5,8 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 import { connect } from 'react-redux';
 
+import ListAltIcon from '@/material-icons/400-24px/list_alt.svg?react';
 import { fetchLists } from 'flavours/glitch/actions/lists';
-import ListAltIcon from 'mastodon/../material-icons/400-24px/list_alt.svg?react';
 
 import ColumnLink from './column_link';
 
diff --git a/app/javascript/flavours/glitch/features/ui/components/media_modal.jsx b/app/javascript/flavours/glitch/features/ui/components/media_modal.jsx
index 586595709c..d16b274170 100644
--- a/app/javascript/flavours/glitch/features/ui/components/media_modal.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/media_modal.jsx
@@ -9,6 +9,9 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
 
 import ReactSwipeableViews from 'react-swipeable-views';
 
+import ChevronLeftIcon from '@/material-icons/400-24px/chevron_left.svg?react';
+import ChevronRightIcon from '@/material-icons/400-24px/chevron_right.svg?react';
+import CloseIcon from '@/material-icons/400-24px/close.svg?react';
 import { getAverageFromBlurhash } from 'flavours/glitch/blurhash';
 import { GIFV } from 'flavours/glitch/components/gifv';
 import { Icon }  from 'flavours/glitch/components/icon';
@@ -16,9 +19,6 @@ import { IconButton } from 'flavours/glitch/components/icon_button';
 import Footer from 'flavours/glitch/features/picture_in_picture/components/footer';
 import Video from 'flavours/glitch/features/video';
 import { disableSwiping } from 'flavours/glitch/initial_state';
-import ChevronLeftIcon from 'mastodon/../material-icons/400-24px/chevron_left.svg?react';
-import ChevronRightIcon from 'mastodon/../material-icons/400-24px/chevron_right.svg?react';
-import CloseIcon from 'mastodon/../material-icons/400-24px/close.svg?react';
 
 import ImageLoader from './image_loader';
 
diff --git a/app/javascript/flavours/glitch/features/ui/components/navigation_panel.jsx b/app/javascript/flavours/glitch/features/ui/components/navigation_panel.jsx
index cb5fdc8518..0bde497c63 100644
--- a/app/javascript/flavours/glitch/features/ui/components/navigation_panel.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/navigation_panel.jsx
@@ -3,21 +3,21 @@ import { Component } from 'react';
 
 import { defineMessages, injectIntl } from 'react-intl';
 
+import BookmarksIcon from '@/material-icons/400-24px/bookmarks-fill.svg?react';
+import HomeIcon from '@/material-icons/400-24px/home-fill.svg?react';
+import ListAltIcon from '@/material-icons/400-24px/list_alt.svg?react';
+import MailIcon from '@/material-icons/400-24px/mail.svg?react';
+import ManufacturingIcon from '@/material-icons/400-24px/manufacturing.svg?react';
+import MoreHorizIcon from '@/material-icons/400-24px/more_horiz.svg?react';
+import PublicIcon from '@/material-icons/400-24px/public.svg?react';
+import SearchIcon from '@/material-icons/400-24px/search.svg?react';
+import SettingsIcon from '@/material-icons/400-24px/settings-fill.svg?react';
+import StarIcon from '@/material-icons/400-24px/star-fill.svg?react';
+import TagIcon from '@/material-icons/400-24px/tag.svg?react';
 import { NavigationPortal } from 'flavours/glitch/components/navigation_portal';
 import { timelinePreview, trendsEnabled } from 'flavours/glitch/initial_state';
 import { transientSingleColumn } from 'flavours/glitch/is_mobile';
 import { preferencesLink } from 'flavours/glitch/utils/backend_links';
-import BookmarksIcon from 'mastodon/../material-icons/400-24px/bookmarks-fill.svg?react';
-import HomeIcon from 'mastodon/../material-icons/400-24px/home-fill.svg?react';
-import ListAltIcon from 'mastodon/../material-icons/400-24px/list_alt.svg?react';
-import MailIcon from 'mastodon/../material-icons/400-24px/mail.svg?react';
-import ManufacturingIcon from 'mastodon/../material-icons/400-24px/manufacturing.svg?react';
-import MoreHorizIcon from 'mastodon/../material-icons/400-24px/more_horiz.svg?react';
-import PublicIcon from 'mastodon/../material-icons/400-24px/public.svg?react';
-import SearchIcon from 'mastodon/../material-icons/400-24px/search.svg?react';
-import SettingsIcon from 'mastodon/../material-icons/400-24px/settings-fill.svg?react';
-import StarIcon from 'mastodon/../material-icons/400-24px/star-fill.svg?react';
-import TagIcon from 'mastodon/../material-icons/400-24px/tag.svg?react';
 
 import ColumnLink from './column_link';
 import DisabledAccountBanner from './disabled_account_banner';
diff --git a/app/javascript/flavours/glitch/features/ui/components/notifications_counter_icon.js b/app/javascript/flavours/glitch/features/ui/components/notifications_counter_icon.js
index cc98a5a1e1..8e38acfe80 100644
--- a/app/javascript/flavours/glitch/features/ui/components/notifications_counter_icon.js
+++ b/app/javascript/flavours/glitch/features/ui/components/notifications_counter_icon.js
@@ -1,7 +1,7 @@
 import { connect } from 'react-redux';
 
+import NotificationsIcon from '@/material-icons/400-24px/notifications-fill.svg?react';
 import { IconWithBadge } from 'flavours/glitch/components/icon_with_badge';
-import NotificationsIcon from 'mastodon/../material-icons/400-24px/notifications-fill.svg?react';
 
 const mapStateToProps = state => ({
   count: state.getIn(['local_settings', 'notifications', 'tab_badge']) ? state.getIn(['notifications', 'unread']) : 0,
diff --git a/app/javascript/flavours/glitch/features/ui/components/report_modal.jsx b/app/javascript/flavours/glitch/features/ui/components/report_modal.jsx
index 09b481c10a..98ff00bcbf 100644
--- a/app/javascript/flavours/glitch/features/ui/components/report_modal.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/report_modal.jsx
@@ -7,6 +7,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 import { connect } from 'react-redux';
 
+import CloseIcon from '@/material-icons/400-24px/close.svg?react';
 import { fetchRelationships } from 'flavours/glitch/actions/accounts';
 import { submitReport } from 'flavours/glitch/actions/reports';
 import { fetchServer } from 'flavours/glitch/actions/server';
@@ -18,7 +19,6 @@ import Rules from 'flavours/glitch/features/report/rules';
 import Statuses from 'flavours/glitch/features/report/statuses';
 import Thanks from 'flavours/glitch/features/report/thanks';
 import { makeGetAccount } from 'flavours/glitch/selectors';
-import CloseIcon from 'mastodon/../material-icons/400-24px/close.svg?react';
 
 const messages = defineMessages({
   close: { id: 'lightbox.close', defaultMessage: 'Close' },
diff --git a/app/javascript/flavours/glitch/features/ui/components/zoomable_image.jsx b/app/javascript/flavours/glitch/features/ui/components/zoomable_image.jsx
index f52b845ad0..31a25159ea 100644
--- a/app/javascript/flavours/glitch/features/ui/components/zoomable_image.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/zoomable_image.jsx
@@ -3,9 +3,9 @@ import { PureComponent } from 'react';
 
 import { defineMessages, injectIntl } from 'react-intl';
 
+import FullscreenExitIcon from '@/material-icons/400-24px/fullscreen_exit.svg?react';
+import RectangleIcon from '@/material-icons/400-24px/rectangle.svg?react';
 import { IconButton } from 'flavours/glitch/components/icon_button';
-import FullscreenExitIcon from 'mastodon/../material-icons/400-24px/fullscreen_exit.svg?react';
-import RectangleIcon from 'mastodon/../material-icons/400-24px/rectangle.svg?react';
 
 const messages = defineMessages({
   compress: { id: 'lightbox.compress', defaultMessage: 'Compress image view box' },
diff --git a/app/javascript/flavours/glitch/features/video/index.jsx b/app/javascript/flavours/glitch/features/video/index.jsx
index f985781245..d6b93dcdbc 100644
--- a/app/javascript/flavours/glitch/features/video/index.jsx
+++ b/app/javascript/flavours/glitch/features/video/index.jsx
@@ -9,17 +9,17 @@ import { is } from 'immutable';
 
 import { throttle } from 'lodash';
 
+import FullscreenIcon from '@/material-icons/400-24px/fullscreen.svg?react';
+import FullscreenExitIcon from '@/material-icons/400-24px/fullscreen_exit.svg?react';
+import PauseIcon from '@/material-icons/400-24px/pause.svg?react';
+import PlayArrowIcon from '@/material-icons/400-24px/play_arrow-fill.svg?react';
+import RectangleIcon from '@/material-icons/400-24px/rectangle.svg?react';
+import VisibilityOffIcon from '@/material-icons/400-24px/visibility_off.svg?react';
+import VolumeOffIcon from '@/material-icons/400-24px/volume_off-fill.svg?react';
+import VolumeUpIcon from '@/material-icons/400-24px/volume_up-fill.svg?react';
 import { Blurhash } from 'flavours/glitch/components/blurhash';
 import { Icon }  from 'flavours/glitch/components/icon';
 import { playerSettings } from 'flavours/glitch/settings';
-import FullscreenIcon from 'mastodon/../material-icons/400-24px/fullscreen.svg?react';
-import FullscreenExitIcon from 'mastodon/../material-icons/400-24px/fullscreen_exit.svg?react';
-import PauseIcon from 'mastodon/../material-icons/400-24px/pause.svg?react';
-import PlayArrowIcon from 'mastodon/../material-icons/400-24px/play_arrow-fill.svg?react';
-import RectangleIcon from 'mastodon/../material-icons/400-24px/rectangle.svg?react';
-import VisibilityOffIcon from 'mastodon/../material-icons/400-24px/visibility_off.svg?react';
-import VolumeOffIcon from 'mastodon/../material-icons/400-24px/volume_off-fill.svg?react';
-import VolumeUpIcon from 'mastodon/../material-icons/400-24px/volume_up-fill.svg?react';
 
 import { displayMedia, useBlurhash } from '../../initial_state';
 import { isFullscreen, requestFullscreen, exitFullscreen } from '../ui/util/fullscreen';