diff --git a/app/javascript/images/elephant-fren.png b/app/javascript/images/elephant-fren.png
deleted file mode 100644
index 38b1e3cba5a..00000000000
Binary files a/app/javascript/images/elephant-fren.png and /dev/null differ
diff --git a/app/javascript/images/logo_alt.svg b/app/javascript/images/logo_alt.svg
deleted file mode 100644
index 102d4c787e1..00000000000
--- a/app/javascript/images/logo_alt.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/app/javascript/images/logo_transparent_black.svg b/app/javascript/images/logo_transparent_black.svg
deleted file mode 100644
index e44bcf5e14b..00000000000
--- a/app/javascript/images/logo_transparent_black.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/app/javascript/images/proof_providers/keybase.png b/app/javascript/images/proof_providers/keybase.png
deleted file mode 100644
index 7e3ac657f41..00000000000
Binary files a/app/javascript/images/proof_providers/keybase.png and /dev/null differ
diff --git a/app/javascript/images/screen_federation.svg b/app/javascript/images/screen_federation.svg
deleted file mode 100644
index 7019a7356a6..00000000000
--- a/app/javascript/images/screen_federation.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/app/javascript/images/screen_hello.svg b/app/javascript/images/screen_hello.svg
deleted file mode 100644
index 7bcdd0afd57..00000000000
--- a/app/javascript/images/screen_hello.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/app/javascript/images/screen_interactions.svg b/app/javascript/images/screen_interactions.svg
deleted file mode 100644
index 66a36f97804..00000000000
--- a/app/javascript/images/screen_interactions.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/app/javascript/mastodon/features/introduction/index.js b/app/javascript/mastodon/features/introduction/index.js
deleted file mode 100644
index 5820750a4ee..00000000000
--- a/app/javascript/mastodon/features/introduction/index.js
+++ /dev/null
@@ -1,197 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import ReactSwipeableViews from 'react-swipeable-views';
-import classNames from 'classnames';
-import { connect } from 'react-redux';
-import { FormattedMessage } from 'react-intl';
-import { closeOnboarding } from '../../actions/onboarding';
-import screenHello from '../../../images/screen_hello.svg';
-import screenFederation from '../../../images/screen_federation.svg';
-import screenInteractions from '../../../images/screen_interactions.svg';
-import logoTransparent from '../../../images/logo_transparent.svg';
-import { disableSwiping } from 'mastodon/initial_state';
-
-const FrameWelcome = ({ domain, onNext }) => (
-
-
-
-
-
-
-
-
-
-
-
-);
-
-FrameWelcome.propTypes = {
- domain: PropTypes.string.isRequired,
- onNext: PropTypes.func.isRequired,
-};
-
-const FrameFederation = ({ onNext }) => (
-
-
-
-
-
-
-
-
-
-
-
-);
-
-FrameFederation.propTypes = {
- onNext: PropTypes.func.isRequired,
-};
-
-const FrameInteractions = ({ onNext }) => (
-
-
-
-
-
-
-
-
-
-
-
-);
-
-FrameInteractions.propTypes = {
- onNext: PropTypes.func.isRequired,
-};
-
-export default @connect(state => ({ domain: state.getIn(['meta', 'domain']) }))
-class Introduction extends React.PureComponent {
-
- static propTypes = {
- domain: PropTypes.string.isRequired,
- dispatch: PropTypes.func.isRequired,
- };
-
- state = {
- currentIndex: 0,
- };
-
- componentWillMount () {
- this.pages = [
- ,
- ,
- ,
- ];
- }
-
- componentDidMount() {
- window.addEventListener('keyup', this.handleKeyUp);
- }
-
- componentWillUnmount() {
- window.addEventListener('keyup', this.handleKeyUp);
- }
-
- handleDot = (e) => {
- const i = Number(e.currentTarget.getAttribute('data-index'));
- e.preventDefault();
- this.setState({ currentIndex: i });
- }
-
- handlePrev = () => {
- this.setState(({ currentIndex }) => ({
- currentIndex: Math.max(0, currentIndex - 1),
- }));
- }
-
- handleNext = () => {
- const { pages } = this;
-
- this.setState(({ currentIndex }) => ({
- currentIndex: Math.min(currentIndex + 1, pages.length - 1),
- }));
- }
-
- handleSwipe = (index) => {
- this.setState({ currentIndex: index });
- }
-
- handleFinish = () => {
- this.props.dispatch(closeOnboarding());
- }
-
- handleKeyUp = ({ key }) => {
- switch (key) {
- case 'ArrowLeft':
- this.handlePrev();
- break;
- case 'ArrowRight':
- this.handleNext();
- break;
- }
- }
-
- render () {
- const { currentIndex } = this.state;
- const { pages } = this;
-
- return (
-
-
- {pages.map((page, i) => (
- {page}
- ))}
-
-
-
- {pages.map((_, i) => (
-
- ))}
-
-
- );
- }
-
-}
diff --git a/app/javascript/styles/application.scss b/app/javascript/styles/application.scss
index 8ebc45b62d1..cb65b9567da 100644
--- a/app/javascript/styles/application.scss
+++ b/app/javascript/styles/application.scss
@@ -17,7 +17,6 @@
@import 'mastodon/boost';
@import 'mastodon/components';
@import 'mastodon/polls';
-@import 'mastodon/introduction';
@import 'mastodon/modal';
@import 'mastodon/emoji_picker';
@import 'mastodon/about';
diff --git a/app/javascript/styles/mastodon/introduction.scss b/app/javascript/styles/mastodon/introduction.scss
deleted file mode 100644
index b44ae730649..00000000000
--- a/app/javascript/styles/mastodon/introduction.scss
+++ /dev/null
@@ -1,154 +0,0 @@
-.introduction {
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
- height: 100vh;
- background: $ui-base-color;
-
- @media screen and (max-width: 920px) {
- display: block !important;
- }
-
- &__pager {
- background: darken($ui-base-color, 8%);
- box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
- overflow: hidden;
- }
-
- &__pager,
- &__frame {
- border-radius: 10px;
- width: 50vw;
- min-width: 920px;
-
- @media screen and (max-width: 920px) {
- min-width: 0;
- width: 100%;
- border-radius: 0;
- box-shadow: none;
- }
- }
-
- &__frame-wrapper {
- opacity: 0;
- transition: opacity 500ms linear;
-
- &.active {
- opacity: 1;
- transition: opacity 50ms linear;
- }
- }
-
- &__frame {
- overflow: hidden;
- }
-
- &__illustration {
- height: 50vh;
-
- @media screen and (max-width: 630px) {
- height: auto;
- }
-
- img {
- object-fit: cover;
- display: block;
- margin: 0;
- width: 100%;
- height: 100%;
- }
- }
-
- &__text {
- border-top: 2px solid $ui-highlight-color;
-
- &--columnized {
- display: flex;
-
- & > div {
- flex: 1 1 33.33%;
- text-align: center;
- padding: 25px;
- padding-bottom: 30px;
- }
-
- @media screen and (max-width: 630px) {
- display: block;
- padding: 15px 0;
- padding-bottom: 20px;
-
- & > div {
- padding: 10px 25px;
- }
- }
- }
-
- h3 {
- font-size: 24px;
- line-height: 1.5;
- font-weight: 700;
- margin-bottom: 10px;
- }
-
- p {
- font-size: 16px;
- line-height: 24px;
- font-weight: 400;
- color: $darker-text-color;
-
- code {
- display: inline-block;
- background: darken($ui-base-color, 8%);
- font-size: 15px;
- border: 1px solid lighten($ui-base-color, 8%);
- border-radius: 2px;
- padding: 1px 3px;
- }
- }
-
- &--centered {
- padding: 25px;
- padding-bottom: 30px;
- text-align: center;
- }
- }
-
- &__dots {
- display: flex;
- align-items: center;
- justify-content: center;
- padding: 25px;
-
- @media screen and (max-width: 630px) {
- display: none;
- }
- }
-
- &__dot {
- width: 14px;
- height: 14px;
- border-radius: 14px;
- border: 1px solid $ui-highlight-color;
- background: transparent;
- margin: 0 3px;
- cursor: pointer;
-
- &:hover {
- background: lighten($ui-base-color, 8%);
- }
-
- &.active {
- cursor: default;
- background: $ui-highlight-color;
- }
- }
-
- &__action {
- padding: 25px;
- padding-top: 0;
- display: flex;
- align-items: center;
- justify-content: center;
- }
-}