-
-
-
diff --git a/dangerfile.ts b/dangerfile.ts
index 6ed716fbc..e66369875 100644
--- a/dangerfile.ts
+++ b/dangerfile.ts
@@ -1,7 +1,7 @@
import { danger, warn, message } from 'danger';
// App changes
-const app = danger.git.fileMatch('app/soapbox/**');
+const app = danger.git.fileMatch('src/**');
// Docs changes
const docs = danger.git.fileMatch('docs/**/*.md');
@@ -18,24 +18,24 @@ if (app.edited && !changelog.edited) {
}
// UI components
-const uiCode = danger.git.fileMatch('app/soapbox/components/ui/**');
-const uiTests = danger.git.fileMatch('app/soapbox/components/ui/**/__tests__/**');
+const uiCode = danger.git.fileMatch('src/components/ui/**');
+const uiTests = danger.git.fileMatch('src/components/ui/**/__tests__/**');
if (uiCode.edited && !uiTests.edited) {
warn('You have UI changes (`soapbox/components/ui`) without tests.');
}
// Actions
-const actionsCode = danger.git.fileMatch('app/soapbox/actions/**');
-const actionsTests = danger.git.fileMatch('app/soapbox/actions/**__tests__/**');
+const actionsCode = danger.git.fileMatch('src/actions/**');
+const actionsTests = danger.git.fileMatch('src/actions/**__tests__/**');
if (actionsCode.edited && !actionsTests.edited) {
warn('You have actions changes (`soapbox/actions`) without tests.');
}
// Reducers
-const reducersCode = danger.git.fileMatch('app/soapbox/reducers/**');
-const reducersTests = danger.git.fileMatch('app/soapbox/reducers/**__tests__/**');
+const reducersCode = danger.git.fileMatch('src/reducers/**');
+const reducersTests = danger.git.fileMatch('src/reducers/**__tests__/**');
if (reducersCode.edited && !reducersTests.edited) {
warn('You have reducer changes (`soapbox/reducers`) without tests.');
diff --git a/docs/development/build-config.md b/docs/development/build-config.md
index c00a442fd..ceae10631 100644
--- a/docs/development/build-config.md
+++ b/docs/development/build-config.md
@@ -71,7 +71,7 @@ For example:
}
```
-See `app/soapbox/utils/features.js` for the full list of features.
+See `src/utils/features.js` for the full list of features.
### Embedded app (`custom/app.json`)
diff --git a/docs/development/developing-backend.md b/docs/development/developing-backend.md
index ee8f5c56a..7896323ce 100644
--- a/docs/development/developing-backend.md
+++ b/docs/development/developing-backend.md
@@ -48,7 +48,7 @@ Typically checks are done against `BACKEND_NAME` and `VERSION`.
The version string is similar in purpose to a [User-Agent](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent) string.
The format was first invented by Pleroma, but is now widely used, including by Pixelfed, Mitra, and Soapbox BE.
-See [`features.ts`](https://gitlab.com/soapbox-pub/soapbox/-/blob/main/app/soapbox/utils/features.ts) for the complete list of features.
+See [`features.ts`](https://gitlab.com/soapbox-pub/soapbox/-/blob/main/src/utils/features.ts) for the complete list of features.
## Forks of other software
@@ -73,4 +73,4 @@ For Pleroma forks, the fork name should be in the compat section (eg Soapbox BE)
## Adding support for a new backend
-If the backend conforms to the above format, please modify [`features.ts`](https://gitlab.com/soapbox-pub/soapbox/-/blob/main/app/soapbox/utils/features.ts) and submit a merge request to enable features for your backend!
+If the backend conforms to the above format, please modify [`features.ts`](https://gitlab.com/soapbox-pub/soapbox/-/blob/main/src/utils/features.ts) and submit a merge request to enable features for your backend!
diff --git a/app/index.html b/index.html
similarity index 92%
rename from app/index.html
rename to index.html
index a56e5867e..280ab913f 100644
--- a/app/index.html
+++ b/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/package.json b/package.json
index c07fcbc1c..9e5d33611 100644
--- a/package.json
+++ b/package.json
@@ -29,7 +29,7 @@
"test:all": "${npm_execpath} run test:coverage && ${npm_execpath} run lint",
"lint": "${npm_execpath} run lint:js && ${npm_execpath} run lint:sass",
"lint:js": "npx eslint --ext .js,.jsx,.cjs,.mjs,.ts,.tsx . --cache",
- "lint:sass": "npx stylelint app/styles/**/*.scss",
+ "lint:sass": "npx stylelint src/styles/**/*.scss",
"prepare": "husky install"
},
"license": "AGPL-3.0-or-later",
@@ -188,6 +188,7 @@
"cross-env": "^7.0.3",
"danger": "^11.0.7",
"eslint": "^8.49.0",
+ "eslint-import-resolver-typescript": "^3.6.0",
"eslint-plugin-compat": "^4.2.0",
"eslint-plugin-import": "^2.28.1",
"eslint-plugin-jsdoc": "^46.8.1",
diff --git a/app/soapbox/__fixtures__/account-moved.json b/src/__fixtures__/account-moved.json
similarity index 100%
rename from app/soapbox/__fixtures__/account-moved.json
rename to src/__fixtures__/account-moved.json
diff --git a/app/soapbox/__fixtures__/account-with-emojis.json b/src/__fixtures__/account-with-emojis.json
similarity index 100%
rename from app/soapbox/__fixtures__/account-with-emojis.json
rename to src/__fixtures__/account-with-emojis.json
diff --git a/app/soapbox/__fixtures__/accounts.json b/src/__fixtures__/accounts.json
similarity index 100%
rename from app/soapbox/__fixtures__/accounts.json
rename to src/__fixtures__/accounts.json
diff --git a/app/soapbox/__fixtures__/accounts_counter_follow.json b/src/__fixtures__/accounts_counter_follow.json
similarity index 100%
rename from app/soapbox/__fixtures__/accounts_counter_follow.json
rename to src/__fixtures__/accounts_counter_follow.json
diff --git a/app/soapbox/__fixtures__/accounts_counter_initial.json b/src/__fixtures__/accounts_counter_initial.json
similarity index 100%
rename from app/soapbox/__fixtures__/accounts_counter_initial.json
rename to src/__fixtures__/accounts_counter_initial.json
diff --git a/app/soapbox/__fixtures__/accounts_counter_unfollow.json b/src/__fixtures__/accounts_counter_unfollow.json
similarity index 100%
rename from app/soapbox/__fixtures__/accounts_counter_unfollow.json
rename to src/__fixtures__/accounts_counter_unfollow.json
diff --git a/app/soapbox/__fixtures__/admin_api_frontend_config.json b/src/__fixtures__/admin_api_frontend_config.json
similarity index 100%
rename from app/soapbox/__fixtures__/admin_api_frontend_config.json
rename to src/__fixtures__/admin_api_frontend_config.json
diff --git a/app/soapbox/__fixtures__/akkoma-instance.json b/src/__fixtures__/akkoma-instance.json
similarity index 100%
rename from app/soapbox/__fixtures__/akkoma-instance.json
rename to src/__fixtures__/akkoma-instance.json
diff --git a/app/soapbox/__fixtures__/announcements.json b/src/__fixtures__/announcements.json
similarity index 100%
rename from app/soapbox/__fixtures__/announcements.json
rename to src/__fixtures__/announcements.json
diff --git a/app/soapbox/__fixtures__/app.json b/src/__fixtures__/app.json
similarity index 100%
rename from app/soapbox/__fixtures__/app.json
rename to src/__fixtures__/app.json
diff --git a/app/soapbox/__fixtures__/blocks.json b/src/__fixtures__/blocks.json
similarity index 100%
rename from app/soapbox/__fixtures__/blocks.json
rename to src/__fixtures__/blocks.json
diff --git a/app/soapbox/__fixtures__/config_db.json b/src/__fixtures__/config_db.json
similarity index 100%
rename from app/soapbox/__fixtures__/config_db.json
rename to src/__fixtures__/config_db.json
diff --git a/app/soapbox/__fixtures__/fedibird-account.json b/src/__fixtures__/fedibird-account.json
similarity index 100%
rename from app/soapbox/__fixtures__/fedibird-account.json
rename to src/__fixtures__/fedibird-account.json
diff --git a/app/soapbox/__fixtures__/fedibird-instance.json b/src/__fixtures__/fedibird-instance.json
similarity index 100%
rename from app/soapbox/__fixtures__/fedibird-instance.json
rename to src/__fixtures__/fedibird-instance.json
diff --git a/app/soapbox/__fixtures__/fedibird-quote-of-quote-post.json b/src/__fixtures__/fedibird-quote-of-quote-post.json
similarity index 100%
rename from app/soapbox/__fixtures__/fedibird-quote-of-quote-post.json
rename to src/__fixtures__/fedibird-quote-of-quote-post.json
diff --git a/app/soapbox/__fixtures__/fedibird-quote-post.json b/src/__fixtures__/fedibird-quote-post.json
similarity index 100%
rename from app/soapbox/__fixtures__/fedibird-quote-post.json
rename to src/__fixtures__/fedibird-quote-post.json
diff --git a/app/soapbox/__fixtures__/friendica-instance.json b/src/__fixtures__/friendica-instance.json
similarity index 100%
rename from app/soapbox/__fixtures__/friendica-instance.json
rename to src/__fixtures__/friendica-instance.json
diff --git a/app/soapbox/__fixtures__/friendica-status.json b/src/__fixtures__/friendica-status.json
similarity index 100%
rename from app/soapbox/__fixtures__/friendica-status.json
rename to src/__fixtures__/friendica-status.json
diff --git a/app/soapbox/__fixtures__/gotosocial-account.json b/src/__fixtures__/gotosocial-account.json
similarity index 100%
rename from app/soapbox/__fixtures__/gotosocial-account.json
rename to src/__fixtures__/gotosocial-account.json
diff --git a/app/soapbox/__fixtures__/gotosocial-instance.json b/src/__fixtures__/gotosocial-instance.json
similarity index 100%
rename from app/soapbox/__fixtures__/gotosocial-instance.json
rename to src/__fixtures__/gotosocial-instance.json
diff --git a/app/soapbox/__fixtures__/gotosocial-status.json b/src/__fixtures__/gotosocial-status.json
similarity index 100%
rename from app/soapbox/__fixtures__/gotosocial-status.json
rename to src/__fixtures__/gotosocial-status.json
diff --git a/app/soapbox/__fixtures__/group-truthsocial.json b/src/__fixtures__/group-truthsocial.json
similarity index 100%
rename from app/soapbox/__fixtures__/group-truthsocial.json
rename to src/__fixtures__/group-truthsocial.json
diff --git a/app/soapbox/__fixtures__/intlMessages.json b/src/__fixtures__/intlMessages.json
similarity index 100%
rename from app/soapbox/__fixtures__/intlMessages.json
rename to src/__fixtures__/intlMessages.json
diff --git a/app/soapbox/__fixtures__/lain.json b/src/__fixtures__/lain.json
similarity index 100%
rename from app/soapbox/__fixtures__/lain.json
rename to src/__fixtures__/lain.json
diff --git a/app/soapbox/__fixtures__/markers.json b/src/__fixtures__/markers.json
similarity index 100%
rename from app/soapbox/__fixtures__/markers.json
rename to src/__fixtures__/markers.json
diff --git a/app/soapbox/__fixtures__/mastodon-3.0.0-instance.json b/src/__fixtures__/mastodon-3.0.0-instance.json
similarity index 100%
rename from app/soapbox/__fixtures__/mastodon-3.0.0-instance.json
rename to src/__fixtures__/mastodon-3.0.0-instance.json
diff --git a/app/soapbox/__fixtures__/mastodon-account.json b/src/__fixtures__/mastodon-account.json
similarity index 100%
rename from app/soapbox/__fixtures__/mastodon-account.json
rename to src/__fixtures__/mastodon-account.json
diff --git a/app/soapbox/__fixtures__/mastodon-instance-rc.json b/src/__fixtures__/mastodon-instance-rc.json
similarity index 100%
rename from app/soapbox/__fixtures__/mastodon-instance-rc.json
rename to src/__fixtures__/mastodon-instance-rc.json
diff --git a/app/soapbox/__fixtures__/mastodon-instance.json b/src/__fixtures__/mastodon-instance.json
similarity index 100%
rename from app/soapbox/__fixtures__/mastodon-instance.json
rename to src/__fixtures__/mastodon-instance.json
diff --git a/app/soapbox/__fixtures__/mastodon-reply-to-self.json b/src/__fixtures__/mastodon-reply-to-self.json
similarity index 100%
rename from app/soapbox/__fixtures__/mastodon-reply-to-self.json
rename to src/__fixtures__/mastodon-reply-to-self.json
diff --git a/app/soapbox/__fixtures__/mastodon_initial_state.json b/src/__fixtures__/mastodon_initial_state.json
similarity index 100%
rename from app/soapbox/__fixtures__/mastodon_initial_state.json
rename to src/__fixtures__/mastodon_initial_state.json
diff --git a/app/soapbox/__fixtures__/mitra-context.json b/src/__fixtures__/mitra-context.json
similarity index 100%
rename from app/soapbox/__fixtures__/mitra-context.json
rename to src/__fixtures__/mitra-context.json
diff --git a/app/soapbox/__fixtures__/mitra-instance.json b/src/__fixtures__/mitra-instance.json
similarity index 100%
rename from app/soapbox/__fixtures__/mitra-instance.json
rename to src/__fixtures__/mitra-instance.json
diff --git a/app/soapbox/__fixtures__/mitra-status-with-attachments.json b/src/__fixtures__/mitra-status-with-attachments.json
similarity index 100%
rename from app/soapbox/__fixtures__/mitra-status-with-attachments.json
rename to src/__fixtures__/mitra-status-with-attachments.json
diff --git a/app/soapbox/__fixtures__/mk.json b/src/__fixtures__/mk.json
similarity index 100%
rename from app/soapbox/__fixtures__/mk.json
rename to src/__fixtures__/mk.json
diff --git a/app/soapbox/__fixtures__/notification-favourite.json b/src/__fixtures__/notification-favourite.json
similarity index 100%
rename from app/soapbox/__fixtures__/notification-favourite.json
rename to src/__fixtures__/notification-favourite.json
diff --git a/app/soapbox/__fixtures__/notification-follow.json b/src/__fixtures__/notification-follow.json
similarity index 100%
rename from app/soapbox/__fixtures__/notification-follow.json
rename to src/__fixtures__/notification-follow.json
diff --git a/app/soapbox/__fixtures__/notification-follow_request.json b/src/__fixtures__/notification-follow_request.json
similarity index 100%
rename from app/soapbox/__fixtures__/notification-follow_request.json
rename to src/__fixtures__/notification-follow_request.json
diff --git a/app/soapbox/__fixtures__/notification-mention.json b/src/__fixtures__/notification-mention.json
similarity index 100%
rename from app/soapbox/__fixtures__/notification-mention.json
rename to src/__fixtures__/notification-mention.json
diff --git a/app/soapbox/__fixtures__/notification-move.json b/src/__fixtures__/notification-move.json
similarity index 100%
rename from app/soapbox/__fixtures__/notification-move.json
rename to src/__fixtures__/notification-move.json
diff --git a/app/soapbox/__fixtures__/notification-pleroma-chat_mention.json b/src/__fixtures__/notification-pleroma-chat_mention.json
similarity index 100%
rename from app/soapbox/__fixtures__/notification-pleroma-chat_mention.json
rename to src/__fixtures__/notification-pleroma-chat_mention.json
diff --git a/app/soapbox/__fixtures__/notification-pleroma-emoji_reaction.json b/src/__fixtures__/notification-pleroma-emoji_reaction.json
similarity index 100%
rename from app/soapbox/__fixtures__/notification-pleroma-emoji_reaction.json
rename to src/__fixtures__/notification-pleroma-emoji_reaction.json
diff --git a/app/soapbox/__fixtures__/notification-poll.json b/src/__fixtures__/notification-poll.json
similarity index 100%
rename from app/soapbox/__fixtures__/notification-poll.json
rename to src/__fixtures__/notification-poll.json
diff --git a/app/soapbox/__fixtures__/notification-reblog.json b/src/__fixtures__/notification-reblog.json
similarity index 100%
rename from app/soapbox/__fixtures__/notification-reblog.json
rename to src/__fixtures__/notification-reblog.json
diff --git a/app/soapbox/__fixtures__/notification.json b/src/__fixtures__/notification.json
similarity index 100%
rename from app/soapbox/__fixtures__/notification.json
rename to src/__fixtures__/notification.json
diff --git a/app/soapbox/__fixtures__/notifications.json b/src/__fixtures__/notifications.json
similarity index 100%
rename from app/soapbox/__fixtures__/notifications.json
rename to src/__fixtures__/notifications.json
diff --git a/app/soapbox/__fixtures__/patron-instance.json b/src/__fixtures__/patron-instance.json
similarity index 100%
rename from app/soapbox/__fixtures__/patron-instance.json
rename to src/__fixtures__/patron-instance.json
diff --git a/app/soapbox/__fixtures__/patron-user.json b/src/__fixtures__/patron-user.json
similarity index 100%
rename from app/soapbox/__fixtures__/patron-user.json
rename to src/__fixtures__/patron-user.json
diff --git a/app/soapbox/__fixtures__/pixelfed-instance.json b/src/__fixtures__/pixelfed-instance.json
similarity index 100%
rename from app/soapbox/__fixtures__/pixelfed-instance.json
rename to src/__fixtures__/pixelfed-instance.json
diff --git a/app/soapbox/__fixtures__/pleroma-2.2.2-account.json b/src/__fixtures__/pleroma-2.2.2-account.json
similarity index 100%
rename from app/soapbox/__fixtures__/pleroma-2.2.2-account.json
rename to src/__fixtures__/pleroma-2.2.2-account.json
diff --git a/app/soapbox/__fixtures__/pleroma-account.json b/src/__fixtures__/pleroma-account.json
similarity index 100%
rename from app/soapbox/__fixtures__/pleroma-account.json
rename to src/__fixtures__/pleroma-account.json
diff --git a/app/soapbox/__fixtures__/pleroma-admin-config.json b/src/__fixtures__/pleroma-admin-config.json
similarity index 100%
rename from app/soapbox/__fixtures__/pleroma-admin-config.json
rename to src/__fixtures__/pleroma-admin-config.json
diff --git a/app/soapbox/__fixtures__/pleroma-instance.json b/src/__fixtures__/pleroma-instance.json
similarity index 100%
rename from app/soapbox/__fixtures__/pleroma-instance.json
rename to src/__fixtures__/pleroma-instance.json
diff --git a/app/soapbox/__fixtures__/pleroma-notification-move.json b/src/__fixtures__/pleroma-notification-move.json
similarity index 100%
rename from app/soapbox/__fixtures__/pleroma-notification-move.json
rename to src/__fixtures__/pleroma-notification-move.json
diff --git a/app/soapbox/__fixtures__/pleroma-quote-of-quote-post.json b/src/__fixtures__/pleroma-quote-of-quote-post.json
similarity index 100%
rename from app/soapbox/__fixtures__/pleroma-quote-of-quote-post.json
rename to src/__fixtures__/pleroma-quote-of-quote-post.json
diff --git a/app/soapbox/__fixtures__/pleroma-quote-post.json b/src/__fixtures__/pleroma-quote-post.json
similarity index 100%
rename from app/soapbox/__fixtures__/pleroma-quote-post.json
rename to src/__fixtures__/pleroma-quote-post.json
diff --git a/app/soapbox/__fixtures__/pleroma-status-deleted.json b/src/__fixtures__/pleroma-status-deleted.json
similarity index 100%
rename from app/soapbox/__fixtures__/pleroma-status-deleted.json
rename to src/__fixtures__/pleroma-status-deleted.json
diff --git a/app/soapbox/__fixtures__/pleroma-status-reply-with-mentions.json b/src/__fixtures__/pleroma-status-reply-with-mentions.json
similarity index 100%
rename from app/soapbox/__fixtures__/pleroma-status-reply-with-mentions.json
rename to src/__fixtures__/pleroma-status-reply-with-mentions.json
diff --git a/app/soapbox/__fixtures__/pleroma-status-vertical-video-without-metadata.json b/src/__fixtures__/pleroma-status-vertical-video-without-metadata.json
similarity index 100%
rename from app/soapbox/__fixtures__/pleroma-status-vertical-video-without-metadata.json
rename to src/__fixtures__/pleroma-status-vertical-video-without-metadata.json
diff --git a/app/soapbox/__fixtures__/pleroma-status-with-attachments.json b/src/__fixtures__/pleroma-status-with-attachments.json
similarity index 100%
rename from app/soapbox/__fixtures__/pleroma-status-with-attachments.json
rename to src/__fixtures__/pleroma-status-with-attachments.json
diff --git a/app/soapbox/__fixtures__/pleroma-status-with-poll-with-emojis.json b/src/__fixtures__/pleroma-status-with-poll-with-emojis.json
similarity index 100%
rename from app/soapbox/__fixtures__/pleroma-status-with-poll-with-emojis.json
rename to src/__fixtures__/pleroma-status-with-poll-with-emojis.json
diff --git a/app/soapbox/__fixtures__/pleroma-status-with-poll.json b/src/__fixtures__/pleroma-status-with-poll.json
similarity index 100%
rename from app/soapbox/__fixtures__/pleroma-status-with-poll.json
rename to src/__fixtures__/pleroma-status-with-poll.json
diff --git a/app/soapbox/__fixtures__/pleroma-status.json b/src/__fixtures__/pleroma-status.json
similarity index 100%
rename from app/soapbox/__fixtures__/pleroma-status.json
rename to src/__fixtures__/pleroma-status.json
diff --git a/app/soapbox/__fixtures__/pleroma_initial_results.json b/src/__fixtures__/pleroma_initial_results.json
similarity index 100%
rename from app/soapbox/__fixtures__/pleroma_initial_results.json
rename to src/__fixtures__/pleroma_initial_results.json
diff --git a/app/soapbox/__fixtures__/realDonaldTrump.json b/src/__fixtures__/realDonaldTrump.json
similarity index 100%
rename from app/soapbox/__fixtures__/realDonaldTrump.json
rename to src/__fixtures__/realDonaldTrump.json
diff --git a/app/soapbox/__fixtures__/relationship.json b/src/__fixtures__/relationship.json
similarity index 100%
rename from app/soapbox/__fixtures__/relationship.json
rename to src/__fixtures__/relationship.json
diff --git a/app/soapbox/__fixtures__/rules.json b/src/__fixtures__/rules.json
similarity index 100%
rename from app/soapbox/__fixtures__/rules.json
rename to src/__fixtures__/rules.json
diff --git a/app/soapbox/__fixtures__/soapbox.json b/src/__fixtures__/soapbox.json
similarity index 100%
rename from app/soapbox/__fixtures__/soapbox.json
rename to src/__fixtures__/soapbox.json
diff --git a/app/soapbox/__fixtures__/spinster-soapbox.json b/src/__fixtures__/spinster-soapbox.json
similarity index 100%
rename from app/soapbox/__fixtures__/spinster-soapbox.json
rename to src/__fixtures__/spinster-soapbox.json
diff --git a/app/soapbox/__fixtures__/status-custom-emoji.json b/src/__fixtures__/status-custom-emoji.json
similarity index 100%
rename from app/soapbox/__fixtures__/status-custom-emoji.json
rename to src/__fixtures__/status-custom-emoji.json
diff --git a/app/soapbox/__fixtures__/status-cw.json b/src/__fixtures__/status-cw.json
similarity index 100%
rename from app/soapbox/__fixtures__/status-cw.json
rename to src/__fixtures__/status-cw.json
diff --git a/app/soapbox/__fixtures__/status-quotes.json b/src/__fixtures__/status-quotes.json
similarity index 100%
rename from app/soapbox/__fixtures__/status-quotes.json
rename to src/__fixtures__/status-quotes.json
diff --git a/app/soapbox/__fixtures__/status-unordered-mentions.json b/src/__fixtures__/status-unordered-mentions.json
similarity index 100%
rename from app/soapbox/__fixtures__/status-unordered-mentions.json
rename to src/__fixtures__/status-unordered-mentions.json
diff --git a/app/soapbox/__fixtures__/status-with-card.json b/src/__fixtures__/status-with-card.json
similarity index 100%
rename from app/soapbox/__fixtures__/status-with-card.json
rename to src/__fixtures__/status-with-card.json
diff --git a/app/soapbox/__fixtures__/status-with-poll.json b/src/__fixtures__/status-with-poll.json
similarity index 100%
rename from app/soapbox/__fixtures__/status-with-poll.json
rename to src/__fixtures__/status-with-poll.json
diff --git a/app/soapbox/__fixtures__/truthsocial-account.json b/src/__fixtures__/truthsocial-account.json
similarity index 100%
rename from app/soapbox/__fixtures__/truthsocial-account.json
rename to src/__fixtures__/truthsocial-account.json
diff --git a/app/soapbox/__fixtures__/truthsocial-status-in-moderation.json b/src/__fixtures__/truthsocial-status-in-moderation.json
similarity index 100%
rename from app/soapbox/__fixtures__/truthsocial-status-in-moderation.json
rename to src/__fixtures__/truthsocial-status-in-moderation.json
diff --git a/app/soapbox/__fixtures__/truthsocial-status-with-external-video.json b/src/__fixtures__/truthsocial-status-with-external-video.json
similarity index 100%
rename from app/soapbox/__fixtures__/truthsocial-status-with-external-video.json
rename to src/__fixtures__/truthsocial-status-with-external-video.json
diff --git a/app/soapbox/__fixtures__/user.json b/src/__fixtures__/user.json
similarity index 100%
rename from app/soapbox/__fixtures__/user.json
rename to src/__fixtures__/user.json
diff --git a/app/soapbox/__tests__/toast.test.tsx b/src/__tests__/toast.test.tsx
similarity index 100%
rename from app/soapbox/__tests__/toast.test.tsx
rename to src/__tests__/toast.test.tsx
diff --git a/app/soapbox/actions/__tests__/about.test.ts b/src/actions/__tests__/about.test.ts
similarity index 100%
rename from app/soapbox/actions/__tests__/about.test.ts
rename to src/actions/__tests__/about.test.ts
diff --git a/app/soapbox/actions/__tests__/account-notes.test.ts b/src/actions/__tests__/account-notes.test.ts
similarity index 100%
rename from app/soapbox/actions/__tests__/account-notes.test.ts
rename to src/actions/__tests__/account-notes.test.ts
diff --git a/app/soapbox/actions/__tests__/accounts.test.ts b/src/actions/__tests__/accounts.test.ts
similarity index 100%
rename from app/soapbox/actions/__tests__/accounts.test.ts
rename to src/actions/__tests__/accounts.test.ts
diff --git a/app/soapbox/actions/__tests__/announcements.test.ts b/src/actions/__tests__/announcements.test.ts
similarity index 100%
rename from app/soapbox/actions/__tests__/announcements.test.ts
rename to src/actions/__tests__/announcements.test.ts
diff --git a/app/soapbox/actions/__tests__/blocks.test.ts b/src/actions/__tests__/blocks.test.ts
similarity index 100%
rename from app/soapbox/actions/__tests__/blocks.test.ts
rename to src/actions/__tests__/blocks.test.ts
diff --git a/app/soapbox/actions/__tests__/compose.test.ts b/src/actions/__tests__/compose.test.ts
similarity index 100%
rename from app/soapbox/actions/__tests__/compose.test.ts
rename to src/actions/__tests__/compose.test.ts
diff --git a/app/soapbox/actions/__tests__/me.test.ts b/src/actions/__tests__/me.test.ts
similarity index 100%
rename from app/soapbox/actions/__tests__/me.test.ts
rename to src/actions/__tests__/me.test.ts
diff --git a/app/soapbox/actions/__tests__/notifications.test.ts b/src/actions/__tests__/notifications.test.ts
similarity index 100%
rename from app/soapbox/actions/__tests__/notifications.test.ts
rename to src/actions/__tests__/notifications.test.ts
diff --git a/app/soapbox/actions/__tests__/onboarding.test.ts b/src/actions/__tests__/onboarding.test.ts
similarity index 100%
rename from app/soapbox/actions/__tests__/onboarding.test.ts
rename to src/actions/__tests__/onboarding.test.ts
diff --git a/app/soapbox/actions/__tests__/preload.test.ts b/src/actions/__tests__/preload.test.ts
similarity index 100%
rename from app/soapbox/actions/__tests__/preload.test.ts
rename to src/actions/__tests__/preload.test.ts
diff --git a/app/soapbox/actions/__tests__/rules.test.ts b/src/actions/__tests__/rules.test.ts
similarity index 100%
rename from app/soapbox/actions/__tests__/rules.test.ts
rename to src/actions/__tests__/rules.test.ts
diff --git a/app/soapbox/actions/__tests__/soapbox.test.ts b/src/actions/__tests__/soapbox.test.ts
similarity index 100%
rename from app/soapbox/actions/__tests__/soapbox.test.ts
rename to src/actions/__tests__/soapbox.test.ts
diff --git a/app/soapbox/actions/__tests__/status-quotes.test.ts b/src/actions/__tests__/status-quotes.test.ts
similarity index 100%
rename from app/soapbox/actions/__tests__/status-quotes.test.ts
rename to src/actions/__tests__/status-quotes.test.ts
diff --git a/app/soapbox/actions/__tests__/statuses.test.ts b/src/actions/__tests__/statuses.test.ts
similarity index 100%
rename from app/soapbox/actions/__tests__/statuses.test.ts
rename to src/actions/__tests__/statuses.test.ts
diff --git a/app/soapbox/actions/__tests__/suggestions.test.ts b/src/actions/__tests__/suggestions.test.ts
similarity index 100%
rename from app/soapbox/actions/__tests__/suggestions.test.ts
rename to src/actions/__tests__/suggestions.test.ts
diff --git a/app/soapbox/actions/about.ts b/src/actions/about.ts
similarity index 100%
rename from app/soapbox/actions/about.ts
rename to src/actions/about.ts
diff --git a/app/soapbox/actions/account-notes.ts b/src/actions/account-notes.ts
similarity index 100%
rename from app/soapbox/actions/account-notes.ts
rename to src/actions/account-notes.ts
diff --git a/app/soapbox/actions/accounts.ts b/src/actions/accounts.ts
similarity index 100%
rename from app/soapbox/actions/accounts.ts
rename to src/actions/accounts.ts
diff --git a/app/soapbox/actions/admin.ts b/src/actions/admin.ts
similarity index 100%
rename from app/soapbox/actions/admin.ts
rename to src/actions/admin.ts
diff --git a/app/soapbox/actions/aliases.ts b/src/actions/aliases.ts
similarity index 100%
rename from app/soapbox/actions/aliases.ts
rename to src/actions/aliases.ts
diff --git a/app/soapbox/actions/announcements.ts b/src/actions/announcements.ts
similarity index 100%
rename from app/soapbox/actions/announcements.ts
rename to src/actions/announcements.ts
diff --git a/app/soapbox/actions/apps.ts b/src/actions/apps.ts
similarity index 100%
rename from app/soapbox/actions/apps.ts
rename to src/actions/apps.ts
diff --git a/app/soapbox/actions/auth.ts b/src/actions/auth.ts
similarity index 100%
rename from app/soapbox/actions/auth.ts
rename to src/actions/auth.ts
diff --git a/app/soapbox/actions/backups.ts b/src/actions/backups.ts
similarity index 100%
rename from app/soapbox/actions/backups.ts
rename to src/actions/backups.ts
diff --git a/app/soapbox/actions/blocks.ts b/src/actions/blocks.ts
similarity index 100%
rename from app/soapbox/actions/blocks.ts
rename to src/actions/blocks.ts
diff --git a/app/soapbox/actions/bookmarks.ts b/src/actions/bookmarks.ts
similarity index 100%
rename from app/soapbox/actions/bookmarks.ts
rename to src/actions/bookmarks.ts
diff --git a/app/soapbox/actions/bundles.ts b/src/actions/bundles.ts
similarity index 100%
rename from app/soapbox/actions/bundles.ts
rename to src/actions/bundles.ts
diff --git a/app/soapbox/actions/chats.ts b/src/actions/chats.ts
similarity index 100%
rename from app/soapbox/actions/chats.ts
rename to src/actions/chats.ts
diff --git a/app/soapbox/actions/compose.ts b/src/actions/compose.ts
similarity index 100%
rename from app/soapbox/actions/compose.ts
rename to src/actions/compose.ts
diff --git a/app/soapbox/actions/consumer-auth.ts b/src/actions/consumer-auth.ts
similarity index 100%
rename from app/soapbox/actions/consumer-auth.ts
rename to src/actions/consumer-auth.ts
diff --git a/app/soapbox/actions/conversations.ts b/src/actions/conversations.ts
similarity index 100%
rename from app/soapbox/actions/conversations.ts
rename to src/actions/conversations.ts
diff --git a/app/soapbox/actions/custom-emojis.ts b/src/actions/custom-emojis.ts
similarity index 100%
rename from app/soapbox/actions/custom-emojis.ts
rename to src/actions/custom-emojis.ts
diff --git a/app/soapbox/actions/directory.ts b/src/actions/directory.ts
similarity index 100%
rename from app/soapbox/actions/directory.ts
rename to src/actions/directory.ts
diff --git a/app/soapbox/actions/domain-blocks.ts b/src/actions/domain-blocks.ts
similarity index 100%
rename from app/soapbox/actions/domain-blocks.ts
rename to src/actions/domain-blocks.ts
diff --git a/app/soapbox/actions/dropdown-menu.ts b/src/actions/dropdown-menu.ts
similarity index 100%
rename from app/soapbox/actions/dropdown-menu.ts
rename to src/actions/dropdown-menu.ts
diff --git a/app/soapbox/actions/email-list.ts b/src/actions/email-list.ts
similarity index 100%
rename from app/soapbox/actions/email-list.ts
rename to src/actions/email-list.ts
diff --git a/app/soapbox/actions/emoji-reacts.ts b/src/actions/emoji-reacts.ts
similarity index 100%
rename from app/soapbox/actions/emoji-reacts.ts
rename to src/actions/emoji-reacts.ts
diff --git a/app/soapbox/actions/emojis.ts b/src/actions/emojis.ts
similarity index 100%
rename from app/soapbox/actions/emojis.ts
rename to src/actions/emojis.ts
diff --git a/app/soapbox/actions/events.ts b/src/actions/events.ts
similarity index 100%
rename from app/soapbox/actions/events.ts
rename to src/actions/events.ts
diff --git a/app/soapbox/actions/export-data.ts b/src/actions/export-data.ts
similarity index 100%
rename from app/soapbox/actions/export-data.ts
rename to src/actions/export-data.ts
diff --git a/app/soapbox/actions/external-auth.ts b/src/actions/external-auth.ts
similarity index 100%
rename from app/soapbox/actions/external-auth.ts
rename to src/actions/external-auth.ts
diff --git a/app/soapbox/actions/familiar-followers.ts b/src/actions/familiar-followers.ts
similarity index 100%
rename from app/soapbox/actions/familiar-followers.ts
rename to src/actions/familiar-followers.ts
diff --git a/app/soapbox/actions/favourites.ts b/src/actions/favourites.ts
similarity index 100%
rename from app/soapbox/actions/favourites.ts
rename to src/actions/favourites.ts
diff --git a/app/soapbox/actions/filters.ts b/src/actions/filters.ts
similarity index 100%
rename from app/soapbox/actions/filters.ts
rename to src/actions/filters.ts
diff --git a/app/soapbox/actions/groups.ts b/src/actions/groups.ts
similarity index 100%
rename from app/soapbox/actions/groups.ts
rename to src/actions/groups.ts
diff --git a/app/soapbox/actions/history.ts b/src/actions/history.ts
similarity index 100%
rename from app/soapbox/actions/history.ts
rename to src/actions/history.ts
diff --git a/app/soapbox/actions/import-data.ts b/src/actions/import-data.ts
similarity index 100%
rename from app/soapbox/actions/import-data.ts
rename to src/actions/import-data.ts
diff --git a/app/soapbox/actions/importer/index.ts b/src/actions/importer/index.ts
similarity index 100%
rename from app/soapbox/actions/importer/index.ts
rename to src/actions/importer/index.ts
diff --git a/app/soapbox/actions/instance.ts b/src/actions/instance.ts
similarity index 100%
rename from app/soapbox/actions/instance.ts
rename to src/actions/instance.ts
diff --git a/app/soapbox/actions/interactions.ts b/src/actions/interactions.ts
similarity index 100%
rename from app/soapbox/actions/interactions.ts
rename to src/actions/interactions.ts
diff --git a/app/soapbox/actions/lists.ts b/src/actions/lists.ts
similarity index 100%
rename from app/soapbox/actions/lists.ts
rename to src/actions/lists.ts
diff --git a/app/soapbox/actions/markers.ts b/src/actions/markers.ts
similarity index 100%
rename from app/soapbox/actions/markers.ts
rename to src/actions/markers.ts
diff --git a/app/soapbox/actions/me.ts b/src/actions/me.ts
similarity index 100%
rename from app/soapbox/actions/me.ts
rename to src/actions/me.ts
diff --git a/app/soapbox/actions/media.ts b/src/actions/media.ts
similarity index 100%
rename from app/soapbox/actions/media.ts
rename to src/actions/media.ts
diff --git a/app/soapbox/actions/mfa.ts b/src/actions/mfa.ts
similarity index 100%
rename from app/soapbox/actions/mfa.ts
rename to src/actions/mfa.ts
diff --git a/app/soapbox/actions/modals.ts b/src/actions/modals.ts
similarity index 100%
rename from app/soapbox/actions/modals.ts
rename to src/actions/modals.ts
diff --git a/app/soapbox/actions/moderation.tsx b/src/actions/moderation.tsx
similarity index 100%
rename from app/soapbox/actions/moderation.tsx
rename to src/actions/moderation.tsx
diff --git a/app/soapbox/actions/mrf.ts b/src/actions/mrf.ts
similarity index 100%
rename from app/soapbox/actions/mrf.ts
rename to src/actions/mrf.ts
diff --git a/app/soapbox/actions/mutes.ts b/src/actions/mutes.ts
similarity index 100%
rename from app/soapbox/actions/mutes.ts
rename to src/actions/mutes.ts
diff --git a/app/soapbox/actions/notifications.ts b/src/actions/notifications.ts
similarity index 100%
rename from app/soapbox/actions/notifications.ts
rename to src/actions/notifications.ts
diff --git a/app/soapbox/actions/oauth.ts b/src/actions/oauth.ts
similarity index 100%
rename from app/soapbox/actions/oauth.ts
rename to src/actions/oauth.ts
diff --git a/app/soapbox/actions/onboarding.ts b/src/actions/onboarding.ts
similarity index 100%
rename from app/soapbox/actions/onboarding.ts
rename to src/actions/onboarding.ts
diff --git a/app/soapbox/actions/patron.ts b/src/actions/patron.ts
similarity index 100%
rename from app/soapbox/actions/patron.ts
rename to src/actions/patron.ts
diff --git a/app/soapbox/actions/pin-statuses.ts b/src/actions/pin-statuses.ts
similarity index 100%
rename from app/soapbox/actions/pin-statuses.ts
rename to src/actions/pin-statuses.ts
diff --git a/app/soapbox/actions/polls.ts b/src/actions/polls.ts
similarity index 100%
rename from app/soapbox/actions/polls.ts
rename to src/actions/polls.ts
diff --git a/app/soapbox/actions/preload.ts b/src/actions/preload.ts
similarity index 100%
rename from app/soapbox/actions/preload.ts
rename to src/actions/preload.ts
diff --git a/app/soapbox/actions/profile-hover-card.ts b/src/actions/profile-hover-card.ts
similarity index 100%
rename from app/soapbox/actions/profile-hover-card.ts
rename to src/actions/profile-hover-card.ts
diff --git a/app/soapbox/actions/push-notifications/index.ts b/src/actions/push-notifications/index.ts
similarity index 100%
rename from app/soapbox/actions/push-notifications/index.ts
rename to src/actions/push-notifications/index.ts
diff --git a/app/soapbox/actions/push-notifications/registerer.ts b/src/actions/push-notifications/registerer.ts
similarity index 100%
rename from app/soapbox/actions/push-notifications/registerer.ts
rename to src/actions/push-notifications/registerer.ts
diff --git a/app/soapbox/actions/push-notifications/setter.ts b/src/actions/push-notifications/setter.ts
similarity index 100%
rename from app/soapbox/actions/push-notifications/setter.ts
rename to src/actions/push-notifications/setter.ts
diff --git a/app/soapbox/actions/push-subscriptions.ts b/src/actions/push-subscriptions.ts
similarity index 100%
rename from app/soapbox/actions/push-subscriptions.ts
rename to src/actions/push-subscriptions.ts
diff --git a/app/soapbox/actions/remote-timeline.ts b/src/actions/remote-timeline.ts
similarity index 100%
rename from app/soapbox/actions/remote-timeline.ts
rename to src/actions/remote-timeline.ts
diff --git a/app/soapbox/actions/reports.ts b/src/actions/reports.ts
similarity index 100%
rename from app/soapbox/actions/reports.ts
rename to src/actions/reports.ts
diff --git a/app/soapbox/actions/rules.ts b/src/actions/rules.ts
similarity index 100%
rename from app/soapbox/actions/rules.ts
rename to src/actions/rules.ts
diff --git a/app/soapbox/actions/scheduled-statuses.ts b/src/actions/scheduled-statuses.ts
similarity index 100%
rename from app/soapbox/actions/scheduled-statuses.ts
rename to src/actions/scheduled-statuses.ts
diff --git a/app/soapbox/actions/search.ts b/src/actions/search.ts
similarity index 100%
rename from app/soapbox/actions/search.ts
rename to src/actions/search.ts
diff --git a/app/soapbox/actions/security.ts b/src/actions/security.ts
similarity index 100%
rename from app/soapbox/actions/security.ts
rename to src/actions/security.ts
diff --git a/app/soapbox/actions/settings.ts b/src/actions/settings.ts
similarity index 100%
rename from app/soapbox/actions/settings.ts
rename to src/actions/settings.ts
diff --git a/app/soapbox/actions/sidebar.ts b/src/actions/sidebar.ts
similarity index 100%
rename from app/soapbox/actions/sidebar.ts
rename to src/actions/sidebar.ts
diff --git a/app/soapbox/actions/soapbox.ts b/src/actions/soapbox.ts
similarity index 100%
rename from app/soapbox/actions/soapbox.ts
rename to src/actions/soapbox.ts
diff --git a/app/soapbox/actions/status-hover-card.ts b/src/actions/status-hover-card.ts
similarity index 100%
rename from app/soapbox/actions/status-hover-card.ts
rename to src/actions/status-hover-card.ts
diff --git a/app/soapbox/actions/status-quotes.ts b/src/actions/status-quotes.ts
similarity index 100%
rename from app/soapbox/actions/status-quotes.ts
rename to src/actions/status-quotes.ts
diff --git a/app/soapbox/actions/statuses.ts b/src/actions/statuses.ts
similarity index 100%
rename from app/soapbox/actions/statuses.ts
rename to src/actions/statuses.ts
diff --git a/app/soapbox/actions/streaming.ts b/src/actions/streaming.ts
similarity index 100%
rename from app/soapbox/actions/streaming.ts
rename to src/actions/streaming.ts
diff --git a/app/soapbox/actions/suggestions.ts b/src/actions/suggestions.ts
similarity index 100%
rename from app/soapbox/actions/suggestions.ts
rename to src/actions/suggestions.ts
diff --git a/app/soapbox/actions/sw.ts b/src/actions/sw.ts
similarity index 100%
rename from app/soapbox/actions/sw.ts
rename to src/actions/sw.ts
diff --git a/app/soapbox/actions/tags.ts b/src/actions/tags.ts
similarity index 100%
rename from app/soapbox/actions/tags.ts
rename to src/actions/tags.ts
diff --git a/app/soapbox/actions/timelines.ts b/src/actions/timelines.ts
similarity index 100%
rename from app/soapbox/actions/timelines.ts
rename to src/actions/timelines.ts
diff --git a/app/soapbox/actions/trending-statuses.ts b/src/actions/trending-statuses.ts
similarity index 100%
rename from app/soapbox/actions/trending-statuses.ts
rename to src/actions/trending-statuses.ts
diff --git a/app/soapbox/actions/trends.ts b/src/actions/trends.ts
similarity index 100%
rename from app/soapbox/actions/trends.ts
rename to src/actions/trends.ts
diff --git a/app/soapbox/actions/verification.ts b/src/actions/verification.ts
similarity index 100%
rename from app/soapbox/actions/verification.ts
rename to src/actions/verification.ts
diff --git a/app/soapbox/api/__mocks__/index.ts b/src/api/__mocks__/index.ts
similarity index 100%
rename from app/soapbox/api/__mocks__/index.ts
rename to src/api/__mocks__/index.ts
diff --git a/app/soapbox/api/hooks/accounts/useAccount.ts b/src/api/hooks/accounts/useAccount.ts
similarity index 100%
rename from app/soapbox/api/hooks/accounts/useAccount.ts
rename to src/api/hooks/accounts/useAccount.ts
diff --git a/app/soapbox/api/hooks/accounts/useAccountList.ts b/src/api/hooks/accounts/useAccountList.ts
similarity index 100%
rename from app/soapbox/api/hooks/accounts/useAccountList.ts
rename to src/api/hooks/accounts/useAccountList.ts
diff --git a/app/soapbox/api/hooks/accounts/useAccountLookup.ts b/src/api/hooks/accounts/useAccountLookup.ts
similarity index 100%
rename from app/soapbox/api/hooks/accounts/useAccountLookup.ts
rename to src/api/hooks/accounts/useAccountLookup.ts
diff --git a/app/soapbox/api/hooks/accounts/useFollow.ts b/src/api/hooks/accounts/useFollow.ts
similarity index 100%
rename from app/soapbox/api/hooks/accounts/useFollow.ts
rename to src/api/hooks/accounts/useFollow.ts
diff --git a/app/soapbox/api/hooks/accounts/usePatronUser.ts b/src/api/hooks/accounts/usePatronUser.ts
similarity index 100%
rename from app/soapbox/api/hooks/accounts/usePatronUser.ts
rename to src/api/hooks/accounts/usePatronUser.ts
diff --git a/app/soapbox/api/hooks/accounts/useRelationship.ts b/src/api/hooks/accounts/useRelationship.ts
similarity index 100%
rename from app/soapbox/api/hooks/accounts/useRelationship.ts
rename to src/api/hooks/accounts/useRelationship.ts
diff --git a/app/soapbox/api/hooks/accounts/useRelationships.ts b/src/api/hooks/accounts/useRelationships.ts
similarity index 100%
rename from app/soapbox/api/hooks/accounts/useRelationships.ts
rename to src/api/hooks/accounts/useRelationships.ts
diff --git a/app/soapbox/api/hooks/admin/index.ts b/src/api/hooks/admin/index.ts
similarity index 100%
rename from app/soapbox/api/hooks/admin/index.ts
rename to src/api/hooks/admin/index.ts
diff --git a/app/soapbox/api/hooks/admin/useSuggest.ts b/src/api/hooks/admin/useSuggest.ts
similarity index 100%
rename from app/soapbox/api/hooks/admin/useSuggest.ts
rename to src/api/hooks/admin/useSuggest.ts
diff --git a/app/soapbox/api/hooks/admin/useVerify.ts b/src/api/hooks/admin/useVerify.ts
similarity index 100%
rename from app/soapbox/api/hooks/admin/useVerify.ts
rename to src/api/hooks/admin/useVerify.ts
diff --git a/app/soapbox/api/hooks/groups/__tests__/useGroup.test.ts b/src/api/hooks/groups/__tests__/useGroup.test.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/__tests__/useGroup.test.ts
rename to src/api/hooks/groups/__tests__/useGroup.test.ts
diff --git a/app/soapbox/api/hooks/groups/__tests__/useGroupLookup.test.ts b/src/api/hooks/groups/__tests__/useGroupLookup.test.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/__tests__/useGroupLookup.test.ts
rename to src/api/hooks/groups/__tests__/useGroupLookup.test.ts
diff --git a/app/soapbox/api/hooks/groups/__tests__/useGroupMedia.test.ts b/src/api/hooks/groups/__tests__/useGroupMedia.test.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/__tests__/useGroupMedia.test.ts
rename to src/api/hooks/groups/__tests__/useGroupMedia.test.ts
diff --git a/app/soapbox/api/hooks/groups/__tests__/useGroupMembers.test.ts b/src/api/hooks/groups/__tests__/useGroupMembers.test.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/__tests__/useGroupMembers.test.ts
rename to src/api/hooks/groups/__tests__/useGroupMembers.test.ts
diff --git a/app/soapbox/api/hooks/groups/__tests__/useGroups.test.ts b/src/api/hooks/groups/__tests__/useGroups.test.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/__tests__/useGroups.test.ts
rename to src/api/hooks/groups/__tests__/useGroups.test.ts
diff --git a/app/soapbox/api/hooks/groups/__tests__/usePendingGroups.test.ts b/src/api/hooks/groups/__tests__/usePendingGroups.test.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/__tests__/usePendingGroups.test.ts
rename to src/api/hooks/groups/__tests__/usePendingGroups.test.ts
diff --git a/app/soapbox/api/hooks/groups/useBlockGroupMember.ts b/src/api/hooks/groups/useBlockGroupMember.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/useBlockGroupMember.ts
rename to src/api/hooks/groups/useBlockGroupMember.ts
diff --git a/app/soapbox/api/hooks/groups/useCancelMembershipRequest.ts b/src/api/hooks/groups/useCancelMembershipRequest.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/useCancelMembershipRequest.ts
rename to src/api/hooks/groups/useCancelMembershipRequest.ts
diff --git a/app/soapbox/api/hooks/groups/useCreateGroup.ts b/src/api/hooks/groups/useCreateGroup.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/useCreateGroup.ts
rename to src/api/hooks/groups/useCreateGroup.ts
diff --git a/app/soapbox/api/hooks/groups/useDeleteGroup.ts b/src/api/hooks/groups/useDeleteGroup.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/useDeleteGroup.ts
rename to src/api/hooks/groups/useDeleteGroup.ts
diff --git a/app/soapbox/api/hooks/groups/useDeleteGroupStatus.ts b/src/api/hooks/groups/useDeleteGroupStatus.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/useDeleteGroupStatus.ts
rename to src/api/hooks/groups/useDeleteGroupStatus.ts
diff --git a/app/soapbox/api/hooks/groups/useDemoteGroupMember.ts b/src/api/hooks/groups/useDemoteGroupMember.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/useDemoteGroupMember.ts
rename to src/api/hooks/groups/useDemoteGroupMember.ts
diff --git a/app/soapbox/api/hooks/groups/useGroup.ts b/src/api/hooks/groups/useGroup.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/useGroup.ts
rename to src/api/hooks/groups/useGroup.ts
diff --git a/app/soapbox/api/hooks/groups/useGroupLookup.ts b/src/api/hooks/groups/useGroupLookup.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/useGroupLookup.ts
rename to src/api/hooks/groups/useGroupLookup.ts
diff --git a/app/soapbox/api/hooks/groups/useGroupMedia.ts b/src/api/hooks/groups/useGroupMedia.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/useGroupMedia.ts
rename to src/api/hooks/groups/useGroupMedia.ts
diff --git a/app/soapbox/api/hooks/groups/useGroupMembers.ts b/src/api/hooks/groups/useGroupMembers.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/useGroupMembers.ts
rename to src/api/hooks/groups/useGroupMembers.ts
diff --git a/app/soapbox/api/hooks/groups/useGroupMembershipRequests.ts b/src/api/hooks/groups/useGroupMembershipRequests.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/useGroupMembershipRequests.ts
rename to src/api/hooks/groups/useGroupMembershipRequests.ts
diff --git a/app/soapbox/api/hooks/groups/useGroupMutes.ts b/src/api/hooks/groups/useGroupMutes.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/useGroupMutes.ts
rename to src/api/hooks/groups/useGroupMutes.ts
diff --git a/app/soapbox/api/hooks/groups/useGroupRelationship.ts b/src/api/hooks/groups/useGroupRelationship.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/useGroupRelationship.ts
rename to src/api/hooks/groups/useGroupRelationship.ts
diff --git a/app/soapbox/api/hooks/groups/useGroupRelationships.ts b/src/api/hooks/groups/useGroupRelationships.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/useGroupRelationships.ts
rename to src/api/hooks/groups/useGroupRelationships.ts
diff --git a/app/soapbox/api/hooks/groups/useGroupSearch.ts b/src/api/hooks/groups/useGroupSearch.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/useGroupSearch.ts
rename to src/api/hooks/groups/useGroupSearch.ts
diff --git a/app/soapbox/api/hooks/groups/useGroupTag.ts b/src/api/hooks/groups/useGroupTag.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/useGroupTag.ts
rename to src/api/hooks/groups/useGroupTag.ts
diff --git a/app/soapbox/api/hooks/groups/useGroupTags.ts b/src/api/hooks/groups/useGroupTags.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/useGroupTags.ts
rename to src/api/hooks/groups/useGroupTags.ts
diff --git a/app/soapbox/api/hooks/groups/useGroupValidation.ts b/src/api/hooks/groups/useGroupValidation.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/useGroupValidation.ts
rename to src/api/hooks/groups/useGroupValidation.ts
diff --git a/app/soapbox/api/hooks/groups/useGroups.ts b/src/api/hooks/groups/useGroups.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/useGroups.ts
rename to src/api/hooks/groups/useGroups.ts
diff --git a/app/soapbox/api/hooks/groups/useGroupsFromTag.ts b/src/api/hooks/groups/useGroupsFromTag.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/useGroupsFromTag.ts
rename to src/api/hooks/groups/useGroupsFromTag.ts
diff --git a/app/soapbox/api/hooks/groups/useJoinGroup.ts b/src/api/hooks/groups/useJoinGroup.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/useJoinGroup.ts
rename to src/api/hooks/groups/useJoinGroup.ts
diff --git a/app/soapbox/api/hooks/groups/useLeaveGroup.ts b/src/api/hooks/groups/useLeaveGroup.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/useLeaveGroup.ts
rename to src/api/hooks/groups/useLeaveGroup.ts
diff --git a/app/soapbox/api/hooks/groups/useMuteGroup.ts b/src/api/hooks/groups/useMuteGroup.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/useMuteGroup.ts
rename to src/api/hooks/groups/useMuteGroup.ts
diff --git a/app/soapbox/api/hooks/groups/usePendingGroups.ts b/src/api/hooks/groups/usePendingGroups.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/usePendingGroups.ts
rename to src/api/hooks/groups/usePendingGroups.ts
diff --git a/app/soapbox/api/hooks/groups/usePopularGroups.ts b/src/api/hooks/groups/usePopularGroups.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/usePopularGroups.ts
rename to src/api/hooks/groups/usePopularGroups.ts
diff --git a/app/soapbox/api/hooks/groups/usePopularTags.ts b/src/api/hooks/groups/usePopularTags.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/usePopularTags.ts
rename to src/api/hooks/groups/usePopularTags.ts
diff --git a/app/soapbox/api/hooks/groups/usePromoteGroupMember.ts b/src/api/hooks/groups/usePromoteGroupMember.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/usePromoteGroupMember.ts
rename to src/api/hooks/groups/usePromoteGroupMember.ts
diff --git a/app/soapbox/api/hooks/groups/useSuggestedGroups.ts b/src/api/hooks/groups/useSuggestedGroups.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/useSuggestedGroups.ts
rename to src/api/hooks/groups/useSuggestedGroups.ts
diff --git a/app/soapbox/api/hooks/groups/useUnmuteGroup.ts b/src/api/hooks/groups/useUnmuteGroup.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/useUnmuteGroup.ts
rename to src/api/hooks/groups/useUnmuteGroup.ts
diff --git a/app/soapbox/api/hooks/groups/useUpdateGroup.ts b/src/api/hooks/groups/useUpdateGroup.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/useUpdateGroup.ts
rename to src/api/hooks/groups/useUpdateGroup.ts
diff --git a/app/soapbox/api/hooks/groups/useUpdateGroupTag.ts b/src/api/hooks/groups/useUpdateGroupTag.ts
similarity index 100%
rename from app/soapbox/api/hooks/groups/useUpdateGroupTag.ts
rename to src/api/hooks/groups/useUpdateGroupTag.ts
diff --git a/app/soapbox/api/hooks/index.ts b/src/api/hooks/index.ts
similarity index 100%
rename from app/soapbox/api/hooks/index.ts
rename to src/api/hooks/index.ts
diff --git a/app/soapbox/api/hooks/nostr/useSignerStream.ts b/src/api/hooks/nostr/useSignerStream.ts
similarity index 100%
rename from app/soapbox/api/hooks/nostr/useSignerStream.ts
rename to src/api/hooks/nostr/useSignerStream.ts
diff --git a/app/soapbox/api/hooks/streaming/useCommunityStream.ts b/src/api/hooks/streaming/useCommunityStream.ts
similarity index 100%
rename from app/soapbox/api/hooks/streaming/useCommunityStream.ts
rename to src/api/hooks/streaming/useCommunityStream.ts
diff --git a/app/soapbox/api/hooks/streaming/useDirectStream.ts b/src/api/hooks/streaming/useDirectStream.ts
similarity index 100%
rename from app/soapbox/api/hooks/streaming/useDirectStream.ts
rename to src/api/hooks/streaming/useDirectStream.ts
diff --git a/app/soapbox/api/hooks/streaming/useGroupStream.ts b/src/api/hooks/streaming/useGroupStream.ts
similarity index 100%
rename from app/soapbox/api/hooks/streaming/useGroupStream.ts
rename to src/api/hooks/streaming/useGroupStream.ts
diff --git a/app/soapbox/api/hooks/streaming/useHashtagStream.ts b/src/api/hooks/streaming/useHashtagStream.ts
similarity index 100%
rename from app/soapbox/api/hooks/streaming/useHashtagStream.ts
rename to src/api/hooks/streaming/useHashtagStream.ts
diff --git a/app/soapbox/api/hooks/streaming/useListStream.ts b/src/api/hooks/streaming/useListStream.ts
similarity index 100%
rename from app/soapbox/api/hooks/streaming/useListStream.ts
rename to src/api/hooks/streaming/useListStream.ts
diff --git a/app/soapbox/api/hooks/streaming/usePublicStream.ts b/src/api/hooks/streaming/usePublicStream.ts
similarity index 100%
rename from app/soapbox/api/hooks/streaming/usePublicStream.ts
rename to src/api/hooks/streaming/usePublicStream.ts
diff --git a/app/soapbox/api/hooks/streaming/useRemoteStream.ts b/src/api/hooks/streaming/useRemoteStream.ts
similarity index 100%
rename from app/soapbox/api/hooks/streaming/useRemoteStream.ts
rename to src/api/hooks/streaming/useRemoteStream.ts
diff --git a/app/soapbox/api/hooks/streaming/useTimelineStream.ts b/src/api/hooks/streaming/useTimelineStream.ts
similarity index 100%
rename from app/soapbox/api/hooks/streaming/useTimelineStream.ts
rename to src/api/hooks/streaming/useTimelineStream.ts
diff --git a/app/soapbox/api/hooks/streaming/useUserStream.ts b/src/api/hooks/streaming/useUserStream.ts
similarity index 100%
rename from app/soapbox/api/hooks/streaming/useUserStream.ts
rename to src/api/hooks/streaming/useUserStream.ts
diff --git a/app/soapbox/api/index.ts b/src/api/index.ts
similarity index 100%
rename from app/soapbox/api/index.ts
rename to src/api/index.ts
diff --git a/app/assets/icons/COPYING.md b/src/assets/icons/COPYING.md
similarity index 100%
rename from app/assets/icons/COPYING.md
rename to src/assets/icons/COPYING.md
diff --git a/app/assets/icons/verified.svg b/src/assets/icons/verified.svg
similarity index 100%
rename from app/assets/icons/verified.svg
rename to src/assets/icons/verified.svg
diff --git a/app/assets/images/audio-placeholder.png b/src/assets/images/audio-placeholder.png
similarity index 100%
rename from app/assets/images/audio-placeholder.png
rename to src/assets/images/audio-placeholder.png
diff --git a/app/assets/images/avatar-missing.png b/src/assets/images/avatar-missing.png
similarity index 100%
rename from app/assets/images/avatar-missing.png
rename to src/assets/images/avatar-missing.png
diff --git a/app/assets/images/avatar-missing.svg b/src/assets/images/avatar-missing.svg
similarity index 100%
rename from app/assets/images/avatar-missing.svg
rename to src/assets/images/avatar-missing.svg
diff --git a/app/assets/images/header-missing.png b/src/assets/images/header-missing.png
similarity index 100%
rename from app/assets/images/header-missing.png
rename to src/assets/images/header-missing.png
diff --git a/app/assets/images/soapbox-logo-white.svg b/src/assets/images/soapbox-logo-white.svg
similarity index 100%
rename from app/assets/images/soapbox-logo-white.svg
rename to src/assets/images/soapbox-logo-white.svg
diff --git a/app/assets/images/soapbox-logo.svg b/src/assets/images/soapbox-logo.svg
similarity index 100%
rename from app/assets/images/soapbox-logo.svg
rename to src/assets/images/soapbox-logo.svg
diff --git a/app/assets/images/video-placeholder.png b/src/assets/images/video-placeholder.png
similarity index 100%
rename from app/assets/images/video-placeholder.png
rename to src/assets/images/video-placeholder.png
diff --git a/app/assets/images/void.png b/src/assets/images/void.png
similarity index 100%
rename from app/assets/images/void.png
rename to src/assets/images/void.png
diff --git a/app/assets/images/web-push/web-push-icon_expand.png b/src/assets/images/web-push/web-push-icon_expand.png
similarity index 100%
rename from app/assets/images/web-push/web-push-icon_expand.png
rename to src/assets/images/web-push/web-push-icon_expand.png
diff --git a/app/assets/images/web-push/web-push-icon_favourite.png b/src/assets/images/web-push/web-push-icon_favourite.png
similarity index 100%
rename from app/assets/images/web-push/web-push-icon_favourite.png
rename to src/assets/images/web-push/web-push-icon_favourite.png
diff --git a/app/assets/images/web-push/web-push-icon_reblog.png b/src/assets/images/web-push/web-push-icon_reblog.png
similarity index 100%
rename from app/assets/images/web-push/web-push-icon_reblog.png
rename to src/assets/images/web-push/web-push-icon_reblog.png
diff --git a/app/assets/sounds/LICENSE.md b/src/assets/sounds/LICENSE.md
similarity index 100%
rename from app/assets/sounds/LICENSE.md
rename to src/assets/sounds/LICENSE.md
diff --git a/app/assets/sounds/boop.mp3 b/src/assets/sounds/boop.mp3
similarity index 100%
rename from app/assets/sounds/boop.mp3
rename to src/assets/sounds/boop.mp3
diff --git a/app/assets/sounds/boop.ogg b/src/assets/sounds/boop.ogg
similarity index 100%
rename from app/assets/sounds/boop.ogg
rename to src/assets/sounds/boop.ogg
diff --git a/app/assets/sounds/chat.mp3 b/src/assets/sounds/chat.mp3
similarity index 100%
rename from app/assets/sounds/chat.mp3
rename to src/assets/sounds/chat.mp3
diff --git a/app/assets/sounds/chat.oga b/src/assets/sounds/chat.oga
similarity index 100%
rename from app/assets/sounds/chat.oga
rename to src/assets/sounds/chat.oga
diff --git a/app/soapbox/build-config-compiletime.ts b/src/build-config-compiletime.ts
similarity index 100%
rename from app/soapbox/build-config-compiletime.ts
rename to src/build-config-compiletime.ts
diff --git a/app/soapbox/build-config.ts b/src/build-config.ts
similarity index 100%
rename from app/soapbox/build-config.ts
rename to src/build-config.ts
diff --git a/app/soapbox/components/__mocks__/react-inlinesvg.tsx b/src/components/__mocks__/react-inlinesvg.tsx
similarity index 100%
rename from app/soapbox/components/__mocks__/react-inlinesvg.tsx
rename to src/components/__mocks__/react-inlinesvg.tsx
diff --git a/app/soapbox/components/__tests__/account.test.tsx b/src/components/__tests__/account.test.tsx
similarity index 100%
rename from app/soapbox/components/__tests__/account.test.tsx
rename to src/components/__tests__/account.test.tsx
diff --git a/app/soapbox/components/__tests__/autosuggest-emoji.test.tsx b/src/components/__tests__/autosuggest-emoji.test.tsx
similarity index 100%
rename from app/soapbox/components/__tests__/autosuggest-emoji.test.tsx
rename to src/components/__tests__/autosuggest-emoji.test.tsx
diff --git a/app/soapbox/components/__tests__/badge.test.tsx b/src/components/__tests__/badge.test.tsx
similarity index 100%
rename from app/soapbox/components/__tests__/badge.test.tsx
rename to src/components/__tests__/badge.test.tsx
diff --git a/app/soapbox/components/__tests__/display-name.test.tsx b/src/components/__tests__/display-name.test.tsx
similarity index 100%
rename from app/soapbox/components/__tests__/display-name.test.tsx
rename to src/components/__tests__/display-name.test.tsx
diff --git a/app/soapbox/components/__tests__/quoted-status.test.tsx b/src/components/__tests__/quoted-status.test.tsx
similarity index 100%
rename from app/soapbox/components/__tests__/quoted-status.test.tsx
rename to src/components/__tests__/quoted-status.test.tsx
diff --git a/app/soapbox/components/__tests__/scroll-top-button.test.tsx b/src/components/__tests__/scroll-top-button.test.tsx
similarity index 100%
rename from app/soapbox/components/__tests__/scroll-top-button.test.tsx
rename to src/components/__tests__/scroll-top-button.test.tsx
diff --git a/app/soapbox/components/__tests__/status.test.tsx b/src/components/__tests__/status.test.tsx
similarity index 100%
rename from app/soapbox/components/__tests__/status.test.tsx
rename to src/components/__tests__/status.test.tsx
diff --git a/app/soapbox/components/__tests__/validation-checkmark.test.tsx b/src/components/__tests__/validation-checkmark.test.tsx
similarity index 100%
rename from app/soapbox/components/__tests__/validation-checkmark.test.tsx
rename to src/components/__tests__/validation-checkmark.test.tsx
diff --git a/app/soapbox/components/account-search.tsx b/src/components/account-search.tsx
similarity index 100%
rename from app/soapbox/components/account-search.tsx
rename to src/components/account-search.tsx
diff --git a/app/soapbox/components/account.tsx b/src/components/account.tsx
similarity index 100%
rename from app/soapbox/components/account.tsx
rename to src/components/account.tsx
diff --git a/app/soapbox/components/animated-number.tsx b/src/components/animated-number.tsx
similarity index 100%
rename from app/soapbox/components/animated-number.tsx
rename to src/components/animated-number.tsx
diff --git a/app/soapbox/components/announcements/announcement-content.tsx b/src/components/announcements/announcement-content.tsx
similarity index 100%
rename from app/soapbox/components/announcements/announcement-content.tsx
rename to src/components/announcements/announcement-content.tsx
diff --git a/app/soapbox/components/announcements/announcement.tsx b/src/components/announcements/announcement.tsx
similarity index 100%
rename from app/soapbox/components/announcements/announcement.tsx
rename to src/components/announcements/announcement.tsx
diff --git a/app/soapbox/components/announcements/announcements-panel.tsx b/src/components/announcements/announcements-panel.tsx
similarity index 100%
rename from app/soapbox/components/announcements/announcements-panel.tsx
rename to src/components/announcements/announcements-panel.tsx
diff --git a/app/soapbox/components/announcements/emoji.tsx b/src/components/announcements/emoji.tsx
similarity index 100%
rename from app/soapbox/components/announcements/emoji.tsx
rename to src/components/announcements/emoji.tsx
diff --git a/app/soapbox/components/announcements/reaction.tsx b/src/components/announcements/reaction.tsx
similarity index 100%
rename from app/soapbox/components/announcements/reaction.tsx
rename to src/components/announcements/reaction.tsx
diff --git a/app/soapbox/components/announcements/reactions-bar.tsx b/src/components/announcements/reactions-bar.tsx
similarity index 100%
rename from app/soapbox/components/announcements/reactions-bar.tsx
rename to src/components/announcements/reactions-bar.tsx
diff --git a/app/soapbox/components/attachment-thumbs.tsx b/src/components/attachment-thumbs.tsx
similarity index 100%
rename from app/soapbox/components/attachment-thumbs.tsx
rename to src/components/attachment-thumbs.tsx
diff --git a/app/soapbox/components/authorize-reject-buttons.tsx b/src/components/authorize-reject-buttons.tsx
similarity index 100%
rename from app/soapbox/components/authorize-reject-buttons.tsx
rename to src/components/authorize-reject-buttons.tsx
diff --git a/app/soapbox/components/autosuggest-account-input.tsx b/src/components/autosuggest-account-input.tsx
similarity index 100%
rename from app/soapbox/components/autosuggest-account-input.tsx
rename to src/components/autosuggest-account-input.tsx
diff --git a/app/soapbox/components/autosuggest-emoji.tsx b/src/components/autosuggest-emoji.tsx
similarity index 100%
rename from app/soapbox/components/autosuggest-emoji.tsx
rename to src/components/autosuggest-emoji.tsx
diff --git a/app/soapbox/components/autosuggest-input.tsx b/src/components/autosuggest-input.tsx
similarity index 100%
rename from app/soapbox/components/autosuggest-input.tsx
rename to src/components/autosuggest-input.tsx
diff --git a/app/soapbox/components/autosuggest-location.tsx b/src/components/autosuggest-location.tsx
similarity index 100%
rename from app/soapbox/components/autosuggest-location.tsx
rename to src/components/autosuggest-location.tsx
diff --git a/app/soapbox/components/autosuggest-textarea.tsx b/src/components/autosuggest-textarea.tsx
similarity index 100%
rename from app/soapbox/components/autosuggest-textarea.tsx
rename to src/components/autosuggest-textarea.tsx
diff --git a/app/soapbox/components/avatar-stack.tsx b/src/components/avatar-stack.tsx
similarity index 100%
rename from app/soapbox/components/avatar-stack.tsx
rename to src/components/avatar-stack.tsx
diff --git a/app/soapbox/components/badge.tsx b/src/components/badge.tsx
similarity index 100%
rename from app/soapbox/components/badge.tsx
rename to src/components/badge.tsx
diff --git a/app/soapbox/components/birthday-input.tsx b/src/components/birthday-input.tsx
similarity index 100%
rename from app/soapbox/components/birthday-input.tsx
rename to src/components/birthday-input.tsx
diff --git a/app/soapbox/components/birthday-panel.tsx b/src/components/birthday-panel.tsx
similarity index 100%
rename from app/soapbox/components/birthday-panel.tsx
rename to src/components/birthday-panel.tsx
diff --git a/app/soapbox/components/blurhash.tsx b/src/components/blurhash.tsx
similarity index 100%
rename from app/soapbox/components/blurhash.tsx
rename to src/components/blurhash.tsx
diff --git a/app/soapbox/components/copyable-input.tsx b/src/components/copyable-input.tsx
similarity index 100%
rename from app/soapbox/components/copyable-input.tsx
rename to src/components/copyable-input.tsx
diff --git a/app/soapbox/components/display-name.tsx b/src/components/display-name.tsx
similarity index 100%
rename from app/soapbox/components/display-name.tsx
rename to src/components/display-name.tsx
diff --git a/app/soapbox/components/domain.tsx b/src/components/domain.tsx
similarity index 100%
rename from app/soapbox/components/domain.tsx
rename to src/components/domain.tsx
diff --git a/app/soapbox/components/dropdown-menu/dropdown-menu-item.tsx b/src/components/dropdown-menu/dropdown-menu-item.tsx
similarity index 100%
rename from app/soapbox/components/dropdown-menu/dropdown-menu-item.tsx
rename to src/components/dropdown-menu/dropdown-menu-item.tsx
diff --git a/app/soapbox/components/dropdown-menu/dropdown-menu.tsx b/src/components/dropdown-menu/dropdown-menu.tsx
similarity index 100%
rename from app/soapbox/components/dropdown-menu/dropdown-menu.tsx
rename to src/components/dropdown-menu/dropdown-menu.tsx
diff --git a/app/soapbox/components/dropdown-menu/index.ts b/src/components/dropdown-menu/index.ts
similarity index 100%
rename from app/soapbox/components/dropdown-menu/index.ts
rename to src/components/dropdown-menu/index.ts
diff --git a/app/soapbox/components/error-boundary.tsx b/src/components/error-boundary.tsx
similarity index 100%
rename from app/soapbox/components/error-boundary.tsx
rename to src/components/error-boundary.tsx
diff --git a/app/soapbox/components/event-preview.tsx b/src/components/event-preview.tsx
similarity index 100%
rename from app/soapbox/components/event-preview.tsx
rename to src/components/event-preview.tsx
diff --git a/app/soapbox/components/extended-video-player.tsx b/src/components/extended-video-player.tsx
similarity index 100%
rename from app/soapbox/components/extended-video-player.tsx
rename to src/components/extended-video-player.tsx
diff --git a/app/soapbox/components/fork-awesome-icon.tsx b/src/components/fork-awesome-icon.tsx
similarity index 100%
rename from app/soapbox/components/fork-awesome-icon.tsx
rename to src/components/fork-awesome-icon.tsx
diff --git a/app/soapbox/components/gdpr-banner.tsx b/src/components/gdpr-banner.tsx
similarity index 100%
rename from app/soapbox/components/gdpr-banner.tsx
rename to src/components/gdpr-banner.tsx
diff --git a/app/soapbox/components/group-card.tsx b/src/components/group-card.tsx
similarity index 100%
rename from app/soapbox/components/group-card.tsx
rename to src/components/group-card.tsx
diff --git a/app/soapbox/components/groups/group-avatar.tsx b/src/components/groups/group-avatar.tsx
similarity index 100%
rename from app/soapbox/components/groups/group-avatar.tsx
rename to src/components/groups/group-avatar.tsx
diff --git a/app/soapbox/components/groups/popover/group-popover.tsx b/src/components/groups/popover/group-popover.tsx
similarity index 100%
rename from app/soapbox/components/groups/popover/group-popover.tsx
rename to src/components/groups/popover/group-popover.tsx
diff --git a/app/soapbox/components/hashtag.tsx b/src/components/hashtag.tsx
similarity index 100%
rename from app/soapbox/components/hashtag.tsx
rename to src/components/hashtag.tsx
diff --git a/app/soapbox/components/helmet.tsx b/src/components/helmet.tsx
similarity index 100%
rename from app/soapbox/components/helmet.tsx
rename to src/components/helmet.tsx
diff --git a/app/soapbox/components/hoc/group-lookup-hoc.tsx b/src/components/hoc/group-lookup-hoc.tsx
similarity index 100%
rename from app/soapbox/components/hoc/group-lookup-hoc.tsx
rename to src/components/hoc/group-lookup-hoc.tsx
diff --git a/app/soapbox/components/hoc/with-hoc.tsx b/src/components/hoc/with-hoc.tsx
similarity index 100%
rename from app/soapbox/components/hoc/with-hoc.tsx
rename to src/components/hoc/with-hoc.tsx
diff --git a/app/soapbox/components/hover-ref-wrapper.tsx b/src/components/hover-ref-wrapper.tsx
similarity index 100%
rename from app/soapbox/components/hover-ref-wrapper.tsx
rename to src/components/hover-ref-wrapper.tsx
diff --git a/app/soapbox/components/hover-status-wrapper.tsx b/src/components/hover-status-wrapper.tsx
similarity index 100%
rename from app/soapbox/components/hover-status-wrapper.tsx
rename to src/components/hover-status-wrapper.tsx
diff --git a/app/soapbox/components/icon-button.tsx b/src/components/icon-button.tsx
similarity index 100%
rename from app/soapbox/components/icon-button.tsx
rename to src/components/icon-button.tsx
diff --git a/app/soapbox/components/icon-with-counter.tsx b/src/components/icon-with-counter.tsx
similarity index 100%
rename from app/soapbox/components/icon-with-counter.tsx
rename to src/components/icon-with-counter.tsx
diff --git a/app/soapbox/components/icon.tsx b/src/components/icon.tsx
similarity index 100%
rename from app/soapbox/components/icon.tsx
rename to src/components/icon.tsx
diff --git a/app/soapbox/components/landing-gradient.tsx b/src/components/landing-gradient.tsx
similarity index 100%
rename from app/soapbox/components/landing-gradient.tsx
rename to src/components/landing-gradient.tsx
diff --git a/app/soapbox/components/link.tsx b/src/components/link.tsx
similarity index 100%
rename from app/soapbox/components/link.tsx
rename to src/components/link.tsx
diff --git a/app/soapbox/components/list.tsx b/src/components/list.tsx
similarity index 100%
rename from app/soapbox/components/list.tsx
rename to src/components/list.tsx
diff --git a/app/soapbox/components/load-gap.tsx b/src/components/load-gap.tsx
similarity index 100%
rename from app/soapbox/components/load-gap.tsx
rename to src/components/load-gap.tsx
diff --git a/app/soapbox/components/load-more.tsx b/src/components/load-more.tsx
similarity index 100%
rename from app/soapbox/components/load-more.tsx
rename to src/components/load-more.tsx
diff --git a/app/soapbox/components/loading-screen.tsx b/src/components/loading-screen.tsx
similarity index 100%
rename from app/soapbox/components/loading-screen.tsx
rename to src/components/loading-screen.tsx
diff --git a/app/soapbox/components/location-search.tsx b/src/components/location-search.tsx
similarity index 100%
rename from app/soapbox/components/location-search.tsx
rename to src/components/location-search.tsx
diff --git a/app/soapbox/components/markup.css b/src/components/markup.css
similarity index 100%
rename from app/soapbox/components/markup.css
rename to src/components/markup.css
diff --git a/app/soapbox/components/markup.tsx b/src/components/markup.tsx
similarity index 100%
rename from app/soapbox/components/markup.tsx
rename to src/components/markup.tsx
diff --git a/app/soapbox/components/media-gallery.tsx b/src/components/media-gallery.tsx
similarity index 100%
rename from app/soapbox/components/media-gallery.tsx
rename to src/components/media-gallery.tsx
diff --git a/app/soapbox/components/missing-indicator.tsx b/src/components/missing-indicator.tsx
similarity index 100%
rename from app/soapbox/components/missing-indicator.tsx
rename to src/components/missing-indicator.tsx
diff --git a/app/soapbox/components/modal-root.tsx b/src/components/modal-root.tsx
similarity index 100%
rename from app/soapbox/components/modal-root.tsx
rename to src/components/modal-root.tsx
diff --git a/app/soapbox/components/outline-box.tsx b/src/components/outline-box.tsx
similarity index 100%
rename from app/soapbox/components/outline-box.tsx
rename to src/components/outline-box.tsx
diff --git a/app/soapbox/components/pending-items-row.tsx b/src/components/pending-items-row.tsx
similarity index 100%
rename from app/soapbox/components/pending-items-row.tsx
rename to src/components/pending-items-row.tsx
diff --git a/app/soapbox/components/polls/__tests__/poll-footer.test.tsx b/src/components/polls/__tests__/poll-footer.test.tsx
similarity index 100%
rename from app/soapbox/components/polls/__tests__/poll-footer.test.tsx
rename to src/components/polls/__tests__/poll-footer.test.tsx
diff --git a/app/soapbox/components/polls/poll-footer.tsx b/src/components/polls/poll-footer.tsx
similarity index 100%
rename from app/soapbox/components/polls/poll-footer.tsx
rename to src/components/polls/poll-footer.tsx
diff --git a/app/soapbox/components/polls/poll-option.tsx b/src/components/polls/poll-option.tsx
similarity index 100%
rename from app/soapbox/components/polls/poll-option.tsx
rename to src/components/polls/poll-option.tsx
diff --git a/app/soapbox/components/polls/poll.tsx b/src/components/polls/poll.tsx
similarity index 100%
rename from app/soapbox/components/polls/poll.tsx
rename to src/components/polls/poll.tsx
diff --git a/app/soapbox/components/profile-hover-card.tsx b/src/components/profile-hover-card.tsx
similarity index 100%
rename from app/soapbox/components/profile-hover-card.tsx
rename to src/components/profile-hover-card.tsx
diff --git a/app/soapbox/components/progress-circle.tsx b/src/components/progress-circle.tsx
similarity index 100%
rename from app/soapbox/components/progress-circle.tsx
rename to src/components/progress-circle.tsx
diff --git a/app/soapbox/components/pull-to-refresh.tsx b/src/components/pull-to-refresh.tsx
similarity index 100%
rename from app/soapbox/components/pull-to-refresh.tsx
rename to src/components/pull-to-refresh.tsx
diff --git a/app/soapbox/components/pullable.tsx b/src/components/pullable.tsx
similarity index 100%
rename from app/soapbox/components/pullable.tsx
rename to src/components/pullable.tsx
diff --git a/app/soapbox/components/quoted-status.tsx b/src/components/quoted-status.tsx
similarity index 100%
rename from app/soapbox/components/quoted-status.tsx
rename to src/components/quoted-status.tsx
diff --git a/app/soapbox/components/radio.tsx b/src/components/radio.tsx
similarity index 100%
rename from app/soapbox/components/radio.tsx
rename to src/components/radio.tsx
diff --git a/app/soapbox/components/relative-timestamp.tsx b/src/components/relative-timestamp.tsx
similarity index 100%
rename from app/soapbox/components/relative-timestamp.tsx
rename to src/components/relative-timestamp.tsx
diff --git a/app/soapbox/components/safe-embed.tsx b/src/components/safe-embed.tsx
similarity index 100%
rename from app/soapbox/components/safe-embed.tsx
rename to src/components/safe-embed.tsx
diff --git a/app/soapbox/components/scroll-top-button.tsx b/src/components/scroll-top-button.tsx
similarity index 100%
rename from app/soapbox/components/scroll-top-button.tsx
rename to src/components/scroll-top-button.tsx
diff --git a/app/soapbox/components/scrollable-list.tsx b/src/components/scrollable-list.tsx
similarity index 100%
rename from app/soapbox/components/scrollable-list.tsx
rename to src/components/scrollable-list.tsx
diff --git a/app/soapbox/components/sidebar-menu.tsx b/src/components/sidebar-menu.tsx
similarity index 99%
rename from app/soapbox/components/sidebar-menu.tsx
rename to src/components/sidebar-menu.tsx
index 11786f4ad..819411133 100644
--- a/app/soapbox/components/sidebar-menu.tsx
+++ b/src/components/sidebar-menu.tsx
@@ -9,13 +9,11 @@ import { getSettings } from 'soapbox/actions/settings';
import { closeSidebar } from 'soapbox/actions/sidebar';
import { useAccount } from 'soapbox/api/hooks';
import Account from 'soapbox/components/account';
-import { Stack } from 'soapbox/components/ui';
+import { Stack, Divider, HStack, Icon, IconButton, Text } from 'soapbox/components/ui';
import ProfileStats from 'soapbox/features/ui/components/profile-stats';
import { useAppDispatch, useAppSelector, useGroupsPath, useFeatures } from 'soapbox/hooks';
import { makeGetOtherAccounts } from 'soapbox/selectors';
-import { Divider, HStack, Icon, IconButton, Text } from './ui';
-
import type { List as ImmutableList } from 'immutable';
import type { Account as AccountEntity } from 'soapbox/types/entities';
diff --git a/app/soapbox/components/sidebar-navigation-link.tsx b/src/components/sidebar-navigation-link.tsx
similarity index 100%
rename from app/soapbox/components/sidebar-navigation-link.tsx
rename to src/components/sidebar-navigation-link.tsx
diff --git a/app/soapbox/components/sidebar-navigation.tsx b/src/components/sidebar-navigation.tsx
similarity index 100%
rename from app/soapbox/components/sidebar-navigation.tsx
rename to src/components/sidebar-navigation.tsx
diff --git a/app/soapbox/components/site-logo.tsx b/src/components/site-logo.tsx
similarity index 91%
rename from app/soapbox/components/site-logo.tsx
rename to src/components/site-logo.tsx
index eb7f414b0..9d545a48d 100644
--- a/app/soapbox/components/site-logo.tsx
+++ b/src/components/site-logo.tsx
@@ -20,8 +20,8 @@ const SiteLogo: React.FC = ({ className, theme, ...rest }) => {
/** Soapbox logo. */
const soapboxLogo = darkMode
- ? require('assets/images/soapbox-logo-white.svg')
- : require('assets/images/soapbox-logo.svg');
+ ? require('soapbox/assets/images/soapbox-logo-white.svg')
+ : require('soapbox/assets/images/soapbox-logo.svg');
// Use the right logo if provided, then use fallbacks.
const getSrc = () => {
diff --git a/app/soapbox/components/status-action-bar.tsx b/src/components/status-action-bar.tsx
similarity index 100%
rename from app/soapbox/components/status-action-bar.tsx
rename to src/components/status-action-bar.tsx
diff --git a/app/soapbox/components/status-action-button.tsx b/src/components/status-action-button.tsx
similarity index 100%
rename from app/soapbox/components/status-action-button.tsx
rename to src/components/status-action-button.tsx
diff --git a/app/soapbox/components/status-content.tsx b/src/components/status-content.tsx
similarity index 100%
rename from app/soapbox/components/status-content.tsx
rename to src/components/status-content.tsx
diff --git a/app/soapbox/components/status-hover-card.tsx b/src/components/status-hover-card.tsx
similarity index 100%
rename from app/soapbox/components/status-hover-card.tsx
rename to src/components/status-hover-card.tsx
diff --git a/app/soapbox/components/status-list.tsx b/src/components/status-list.tsx
similarity index 100%
rename from app/soapbox/components/status-list.tsx
rename to src/components/status-list.tsx
diff --git a/app/soapbox/components/status-media.tsx b/src/components/status-media.tsx
similarity index 100%
rename from app/soapbox/components/status-media.tsx
rename to src/components/status-media.tsx
diff --git a/app/soapbox/components/status-reaction-wrapper.tsx b/src/components/status-reaction-wrapper.tsx
similarity index 100%
rename from app/soapbox/components/status-reaction-wrapper.tsx
rename to src/components/status-reaction-wrapper.tsx
diff --git a/app/soapbox/components/status-reply-mentions.tsx b/src/components/status-reply-mentions.tsx
similarity index 100%
rename from app/soapbox/components/status-reply-mentions.tsx
rename to src/components/status-reply-mentions.tsx
diff --git a/app/soapbox/components/status.tsx b/src/components/status.tsx
similarity index 100%
rename from app/soapbox/components/status.tsx
rename to src/components/status.tsx
diff --git a/app/soapbox/components/statuses/__tests__/sensitive-content-overlay.test.tsx b/src/components/statuses/__tests__/sensitive-content-overlay.test.tsx
similarity index 100%
rename from app/soapbox/components/statuses/__tests__/sensitive-content-overlay.test.tsx
rename to src/components/statuses/__tests__/sensitive-content-overlay.test.tsx
diff --git a/app/soapbox/components/statuses/sensitive-content-overlay.tsx b/src/components/statuses/sensitive-content-overlay.tsx
similarity index 100%
rename from app/soapbox/components/statuses/sensitive-content-overlay.tsx
rename to src/components/statuses/sensitive-content-overlay.tsx
diff --git a/app/soapbox/components/statuses/status-info.tsx b/src/components/statuses/status-info.tsx
similarity index 100%
rename from app/soapbox/components/statuses/status-info.tsx
rename to src/components/statuses/status-info.tsx
diff --git a/app/soapbox/components/still-image.tsx b/src/components/still-image.tsx
similarity index 100%
rename from app/soapbox/components/still-image.tsx
rename to src/components/still-image.tsx
diff --git a/app/soapbox/components/thumb-navigation-link.tsx b/src/components/thumb-navigation-link.tsx
similarity index 100%
rename from app/soapbox/components/thumb-navigation-link.tsx
rename to src/components/thumb-navigation-link.tsx
diff --git a/app/soapbox/components/thumb-navigation.tsx b/src/components/thumb-navigation.tsx
similarity index 100%
rename from app/soapbox/components/thumb-navigation.tsx
rename to src/components/thumb-navigation.tsx
diff --git a/app/soapbox/components/tombstone.tsx b/src/components/tombstone.tsx
similarity index 100%
rename from app/soapbox/components/tombstone.tsx
rename to src/components/tombstone.tsx
diff --git a/app/soapbox/components/translate-button.tsx b/src/components/translate-button.tsx
similarity index 100%
rename from app/soapbox/components/translate-button.tsx
rename to src/components/translate-button.tsx
diff --git a/app/soapbox/components/ui/accordion/accordion.tsx b/src/components/ui/accordion/accordion.tsx
similarity index 100%
rename from app/soapbox/components/ui/accordion/accordion.tsx
rename to src/components/ui/accordion/accordion.tsx
diff --git a/app/soapbox/components/ui/avatar/__tests__/avatar.test.tsx b/src/components/ui/avatar/__tests__/avatar.test.tsx
similarity index 100%
rename from app/soapbox/components/ui/avatar/__tests__/avatar.test.tsx
rename to src/components/ui/avatar/__tests__/avatar.test.tsx
diff --git a/app/soapbox/components/ui/avatar/avatar.tsx b/src/components/ui/avatar/avatar.tsx
similarity index 100%
rename from app/soapbox/components/ui/avatar/avatar.tsx
rename to src/components/ui/avatar/avatar.tsx
diff --git a/app/soapbox/components/ui/banner/banner.tsx b/src/components/ui/banner/banner.tsx
similarity index 100%
rename from app/soapbox/components/ui/banner/banner.tsx
rename to src/components/ui/banner/banner.tsx
diff --git a/app/soapbox/components/ui/button/__tests__/button.test.tsx b/src/components/ui/button/__tests__/button.test.tsx
similarity index 100%
rename from app/soapbox/components/ui/button/__tests__/button.test.tsx
rename to src/components/ui/button/__tests__/button.test.tsx
diff --git a/app/soapbox/components/ui/button/button.tsx b/src/components/ui/button/button.tsx
similarity index 100%
rename from app/soapbox/components/ui/button/button.tsx
rename to src/components/ui/button/button.tsx
diff --git a/app/soapbox/components/ui/button/useButtonStyles.ts b/src/components/ui/button/useButtonStyles.ts
similarity index 100%
rename from app/soapbox/components/ui/button/useButtonStyles.ts
rename to src/components/ui/button/useButtonStyles.ts
diff --git a/app/soapbox/components/ui/card/__tests__/card.test.tsx b/src/components/ui/card/__tests__/card.test.tsx
similarity index 100%
rename from app/soapbox/components/ui/card/__tests__/card.test.tsx
rename to src/components/ui/card/__tests__/card.test.tsx
diff --git a/app/soapbox/components/ui/card/card.tsx b/src/components/ui/card/card.tsx
similarity index 100%
rename from app/soapbox/components/ui/card/card.tsx
rename to src/components/ui/card/card.tsx
diff --git a/app/soapbox/components/ui/carousel/carousel.tsx b/src/components/ui/carousel/carousel.tsx
similarity index 100%
rename from app/soapbox/components/ui/carousel/carousel.tsx
rename to src/components/ui/carousel/carousel.tsx
diff --git a/app/soapbox/components/ui/checkbox/checkbox.tsx b/src/components/ui/checkbox/checkbox.tsx
similarity index 100%
rename from app/soapbox/components/ui/checkbox/checkbox.tsx
rename to src/components/ui/checkbox/checkbox.tsx
diff --git a/app/soapbox/components/ui/column/__tests__/column.test.tsx b/src/components/ui/column/__tests__/column.test.tsx
similarity index 100%
rename from app/soapbox/components/ui/column/__tests__/column.test.tsx
rename to src/components/ui/column/__tests__/column.test.tsx
diff --git a/app/soapbox/components/ui/column/column.tsx b/src/components/ui/column/column.tsx
similarity index 100%
rename from app/soapbox/components/ui/column/column.tsx
rename to src/components/ui/column/column.tsx
diff --git a/app/soapbox/components/ui/combobox/combobox.css b/src/components/ui/combobox/combobox.css
similarity index 100%
rename from app/soapbox/components/ui/combobox/combobox.css
rename to src/components/ui/combobox/combobox.css
diff --git a/app/soapbox/components/ui/combobox/combobox.tsx b/src/components/ui/combobox/combobox.tsx
similarity index 100%
rename from app/soapbox/components/ui/combobox/combobox.tsx
rename to src/components/ui/combobox/combobox.tsx
diff --git a/app/soapbox/components/ui/counter/counter.tsx b/src/components/ui/counter/counter.tsx
similarity index 100%
rename from app/soapbox/components/ui/counter/counter.tsx
rename to src/components/ui/counter/counter.tsx
diff --git a/app/soapbox/components/ui/datepicker/__tests__/datepicker.test.tsx b/src/components/ui/datepicker/__tests__/datepicker.test.tsx
similarity index 100%
rename from app/soapbox/components/ui/datepicker/__tests__/datepicker.test.tsx
rename to src/components/ui/datepicker/__tests__/datepicker.test.tsx
diff --git a/app/soapbox/components/ui/datepicker/datepicker.tsx b/src/components/ui/datepicker/datepicker.tsx
similarity index 100%
rename from app/soapbox/components/ui/datepicker/datepicker.tsx
rename to src/components/ui/datepicker/datepicker.tsx
diff --git a/app/soapbox/components/ui/divider/__tests__/divider.test.tsx b/src/components/ui/divider/__tests__/divider.test.tsx
similarity index 100%
rename from app/soapbox/components/ui/divider/__tests__/divider.test.tsx
rename to src/components/ui/divider/__tests__/divider.test.tsx
diff --git a/app/soapbox/components/ui/divider/divider.tsx b/src/components/ui/divider/divider.tsx
similarity index 100%
rename from app/soapbox/components/ui/divider/divider.tsx
rename to src/components/ui/divider/divider.tsx
diff --git a/app/soapbox/components/ui/emoji-selector/emoji-selector.tsx b/src/components/ui/emoji-selector/emoji-selector.tsx
similarity index 100%
rename from app/soapbox/components/ui/emoji-selector/emoji-selector.tsx
rename to src/components/ui/emoji-selector/emoji-selector.tsx
diff --git a/app/soapbox/components/ui/emoji/__tests__/emoji.test.tsx b/src/components/ui/emoji/__tests__/emoji.test.tsx
similarity index 100%
rename from app/soapbox/components/ui/emoji/__tests__/emoji.test.tsx
rename to src/components/ui/emoji/__tests__/emoji.test.tsx
diff --git a/app/soapbox/components/ui/emoji/emoji.tsx b/src/components/ui/emoji/emoji.tsx
similarity index 100%
rename from app/soapbox/components/ui/emoji/emoji.tsx
rename to src/components/ui/emoji/emoji.tsx
diff --git a/app/soapbox/components/ui/file-input/file-input.tsx b/src/components/ui/file-input/file-input.tsx
similarity index 100%
rename from app/soapbox/components/ui/file-input/file-input.tsx
rename to src/components/ui/file-input/file-input.tsx
diff --git a/app/soapbox/components/ui/form-actions/__tests__/form-actions.test.tsx b/src/components/ui/form-actions/__tests__/form-actions.test.tsx
similarity index 100%
rename from app/soapbox/components/ui/form-actions/__tests__/form-actions.test.tsx
rename to src/components/ui/form-actions/__tests__/form-actions.test.tsx
diff --git a/app/soapbox/components/ui/form-actions/form-actions.tsx b/src/components/ui/form-actions/form-actions.tsx
similarity index 100%
rename from app/soapbox/components/ui/form-actions/form-actions.tsx
rename to src/components/ui/form-actions/form-actions.tsx
diff --git a/app/soapbox/components/ui/form-group/__tests__/form-group.test.tsx b/src/components/ui/form-group/__tests__/form-group.test.tsx
similarity index 100%
rename from app/soapbox/components/ui/form-group/__tests__/form-group.test.tsx
rename to src/components/ui/form-group/__tests__/form-group.test.tsx
diff --git a/app/soapbox/components/ui/form-group/form-group.tsx b/src/components/ui/form-group/form-group.tsx
similarity index 100%
rename from app/soapbox/components/ui/form-group/form-group.tsx
rename to src/components/ui/form-group/form-group.tsx
diff --git a/app/soapbox/components/ui/form/__tests__/form.test.tsx b/src/components/ui/form/__tests__/form.test.tsx
similarity index 100%
rename from app/soapbox/components/ui/form/__tests__/form.test.tsx
rename to src/components/ui/form/__tests__/form.test.tsx
diff --git a/app/soapbox/components/ui/form/form.tsx b/src/components/ui/form/form.tsx
similarity index 100%
rename from app/soapbox/components/ui/form/form.tsx
rename to src/components/ui/form/form.tsx
diff --git a/app/soapbox/components/ui/hstack/hstack.tsx b/src/components/ui/hstack/hstack.tsx
similarity index 100%
rename from app/soapbox/components/ui/hstack/hstack.tsx
rename to src/components/ui/hstack/hstack.tsx
diff --git a/app/soapbox/components/ui/icon-button/icon-button.tsx b/src/components/ui/icon-button/icon-button.tsx
similarity index 100%
rename from app/soapbox/components/ui/icon-button/icon-button.tsx
rename to src/components/ui/icon-button/icon-button.tsx
diff --git a/app/soapbox/components/ui/icon/__tests__/svg-icon.test.tsx b/src/components/ui/icon/__tests__/svg-icon.test.tsx
similarity index 100%
rename from app/soapbox/components/ui/icon/__tests__/svg-icon.test.tsx
rename to src/components/ui/icon/__tests__/svg-icon.test.tsx
diff --git a/app/soapbox/components/ui/icon/icon.tsx b/src/components/ui/icon/icon.tsx
similarity index 100%
rename from app/soapbox/components/ui/icon/icon.tsx
rename to src/components/ui/icon/icon.tsx
diff --git a/app/soapbox/components/ui/icon/svg-icon.tsx b/src/components/ui/icon/svg-icon.tsx
similarity index 100%
rename from app/soapbox/components/ui/icon/svg-icon.tsx
rename to src/components/ui/icon/svg-icon.tsx
diff --git a/app/soapbox/components/ui/index.ts b/src/components/ui/index.ts
similarity index 100%
rename from app/soapbox/components/ui/index.ts
rename to src/components/ui/index.ts
diff --git a/app/soapbox/components/ui/input/input.tsx b/src/components/ui/input/input.tsx
similarity index 100%
rename from app/soapbox/components/ui/input/input.tsx
rename to src/components/ui/input/input.tsx
diff --git a/app/soapbox/components/ui/layout/layout.tsx b/src/components/ui/layout/layout.tsx
similarity index 100%
rename from app/soapbox/components/ui/layout/layout.tsx
rename to src/components/ui/layout/layout.tsx
diff --git a/app/soapbox/components/ui/menu/menu.css b/src/components/ui/menu/menu.css
similarity index 100%
rename from app/soapbox/components/ui/menu/menu.css
rename to src/components/ui/menu/menu.css
diff --git a/app/soapbox/components/ui/menu/menu.tsx b/src/components/ui/menu/menu.tsx
similarity index 100%
rename from app/soapbox/components/ui/menu/menu.tsx
rename to src/components/ui/menu/menu.tsx
diff --git a/app/soapbox/components/ui/modal/__tests__/modal.test.tsx b/src/components/ui/modal/__tests__/modal.test.tsx
similarity index 100%
rename from app/soapbox/components/ui/modal/__tests__/modal.test.tsx
rename to src/components/ui/modal/__tests__/modal.test.tsx
diff --git a/app/soapbox/components/ui/modal/modal.tsx b/src/components/ui/modal/modal.tsx
similarity index 100%
rename from app/soapbox/components/ui/modal/modal.tsx
rename to src/components/ui/modal/modal.tsx
diff --git a/app/soapbox/components/ui/phone-input/country-code-dropdown.tsx b/src/components/ui/phone-input/country-code-dropdown.tsx
similarity index 100%
rename from app/soapbox/components/ui/phone-input/country-code-dropdown.tsx
rename to src/components/ui/phone-input/country-code-dropdown.tsx
diff --git a/app/soapbox/components/ui/phone-input/phone-input.tsx b/src/components/ui/phone-input/phone-input.tsx
similarity index 100%
rename from app/soapbox/components/ui/phone-input/phone-input.tsx
rename to src/components/ui/phone-input/phone-input.tsx
diff --git a/app/soapbox/components/ui/popover/popover.tsx b/src/components/ui/popover/popover.tsx
similarity index 100%
rename from app/soapbox/components/ui/popover/popover.tsx
rename to src/components/ui/popover/popover.tsx
diff --git a/app/soapbox/components/ui/portal/portal.tsx b/src/components/ui/portal/portal.tsx
similarity index 100%
rename from app/soapbox/components/ui/portal/portal.tsx
rename to src/components/ui/portal/portal.tsx
diff --git a/app/soapbox/components/ui/progress-bar/progress-bar.tsx b/src/components/ui/progress-bar/progress-bar.tsx
similarity index 100%
rename from app/soapbox/components/ui/progress-bar/progress-bar.tsx
rename to src/components/ui/progress-bar/progress-bar.tsx
diff --git a/app/soapbox/components/ui/radio-button/radio-button.tsx b/src/components/ui/radio-button/radio-button.tsx
similarity index 100%
rename from app/soapbox/components/ui/radio-button/radio-button.tsx
rename to src/components/ui/radio-button/radio-button.tsx
diff --git a/app/soapbox/components/ui/select/select.tsx b/src/components/ui/select/select.tsx
similarity index 100%
rename from app/soapbox/components/ui/select/select.tsx
rename to src/components/ui/select/select.tsx
diff --git a/app/soapbox/components/ui/slider/slider.tsx b/src/components/ui/slider/slider.tsx
similarity index 100%
rename from app/soapbox/components/ui/slider/slider.tsx
rename to src/components/ui/slider/slider.tsx
diff --git a/app/soapbox/components/ui/spinner/spinner.css b/src/components/ui/spinner/spinner.css
similarity index 100%
rename from app/soapbox/components/ui/spinner/spinner.css
rename to src/components/ui/spinner/spinner.css
diff --git a/app/soapbox/components/ui/spinner/spinner.tsx b/src/components/ui/spinner/spinner.tsx
similarity index 100%
rename from app/soapbox/components/ui/spinner/spinner.tsx
rename to src/components/ui/spinner/spinner.tsx
diff --git a/app/soapbox/components/ui/stack/stack.tsx b/src/components/ui/stack/stack.tsx
similarity index 100%
rename from app/soapbox/components/ui/stack/stack.tsx
rename to src/components/ui/stack/stack.tsx
diff --git a/app/soapbox/components/ui/streamfield/streamfield.tsx b/src/components/ui/streamfield/streamfield.tsx
similarity index 100%
rename from app/soapbox/components/ui/streamfield/streamfield.tsx
rename to src/components/ui/streamfield/streamfield.tsx
diff --git a/app/soapbox/components/ui/tabs/tabs.css b/src/components/ui/tabs/tabs.css
similarity index 100%
rename from app/soapbox/components/ui/tabs/tabs.css
rename to src/components/ui/tabs/tabs.css
diff --git a/app/soapbox/components/ui/tabs/tabs.tsx b/src/components/ui/tabs/tabs.tsx
similarity index 100%
rename from app/soapbox/components/ui/tabs/tabs.tsx
rename to src/components/ui/tabs/tabs.tsx
diff --git a/app/soapbox/components/ui/tag-input/tag-input.tsx b/src/components/ui/tag-input/tag-input.tsx
similarity index 100%
rename from app/soapbox/components/ui/tag-input/tag-input.tsx
rename to src/components/ui/tag-input/tag-input.tsx
diff --git a/app/soapbox/components/ui/tag-input/tag.tsx b/src/components/ui/tag-input/tag.tsx
similarity index 100%
rename from app/soapbox/components/ui/tag-input/tag.tsx
rename to src/components/ui/tag-input/tag.tsx
diff --git a/app/soapbox/components/ui/text/text.tsx b/src/components/ui/text/text.tsx
similarity index 100%
rename from app/soapbox/components/ui/text/text.tsx
rename to src/components/ui/text/text.tsx
diff --git a/app/soapbox/components/ui/textarea/textarea.tsx b/src/components/ui/textarea/textarea.tsx
similarity index 100%
rename from app/soapbox/components/ui/textarea/textarea.tsx
rename to src/components/ui/textarea/textarea.tsx
diff --git a/app/soapbox/components/ui/toast/toast.tsx b/src/components/ui/toast/toast.tsx
similarity index 100%
rename from app/soapbox/components/ui/toast/toast.tsx
rename to src/components/ui/toast/toast.tsx
diff --git a/app/soapbox/components/ui/toggle/toggle.tsx b/src/components/ui/toggle/toggle.tsx
similarity index 100%
rename from app/soapbox/components/ui/toggle/toggle.tsx
rename to src/components/ui/toggle/toggle.tsx
diff --git a/app/soapbox/components/ui/tooltip/tooltip.tsx b/src/components/ui/tooltip/tooltip.tsx
similarity index 100%
rename from app/soapbox/components/ui/tooltip/tooltip.tsx
rename to src/components/ui/tooltip/tooltip.tsx
diff --git a/app/soapbox/components/ui/widget/widget.tsx b/src/components/ui/widget/widget.tsx
similarity index 100%
rename from app/soapbox/components/ui/widget/widget.tsx
rename to src/components/ui/widget/widget.tsx
diff --git a/app/soapbox/components/upload-progress.tsx b/src/components/upload-progress.tsx
similarity index 100%
rename from app/soapbox/components/upload-progress.tsx
rename to src/components/upload-progress.tsx
diff --git a/app/soapbox/components/upload.tsx b/src/components/upload.tsx
similarity index 100%
rename from app/soapbox/components/upload.tsx
rename to src/components/upload.tsx
diff --git a/app/soapbox/components/validation-checkmark.tsx b/src/components/validation-checkmark.tsx
similarity index 100%
rename from app/soapbox/components/validation-checkmark.tsx
rename to src/components/validation-checkmark.tsx
diff --git a/app/soapbox/components/verification-badge.tsx b/src/components/verification-badge.tsx
similarity index 90%
rename from app/soapbox/components/verification-badge.tsx
rename to src/components/verification-badge.tsx
index df10acc7b..0d0e67d7c 100644
--- a/app/soapbox/components/verification-badge.tsx
+++ b/src/components/verification-badge.tsx
@@ -18,7 +18,7 @@ const VerificationBadge: React.FC = ({ className }) => {
const soapboxConfig = useSoapboxConfig();
// Prefer a custom icon if found
- const icon = soapboxConfig.verifiedIcon || require('assets/icons/verified.svg');
+ const icon = soapboxConfig.verifiedIcon || require('soapbox/assets/icons/verified.svg');
// Render component based on file extension
const Element = icon.endsWith('.svg') ? Icon : 'img';
diff --git a/app/soapbox/containers/account-container.tsx b/src/containers/account-container.tsx
similarity index 100%
rename from app/soapbox/containers/account-container.tsx
rename to src/containers/account-container.tsx
diff --git a/app/soapbox/containers/soapbox.tsx b/src/containers/soapbox.tsx
similarity index 100%
rename from app/soapbox/containers/soapbox.tsx
rename to src/containers/soapbox.tsx
diff --git a/app/soapbox/containers/status-container.tsx b/src/containers/status-container.tsx
similarity index 100%
rename from app/soapbox/containers/status-container.tsx
rename to src/containers/status-container.tsx
diff --git a/app/soapbox/contexts/chat-context.tsx b/src/contexts/chat-context.tsx
similarity index 100%
rename from app/soapbox/contexts/chat-context.tsx
rename to src/contexts/chat-context.tsx
diff --git a/app/soapbox/contexts/stat-context.tsx b/src/contexts/stat-context.tsx
similarity index 100%
rename from app/soapbox/contexts/stat-context.tsx
rename to src/contexts/stat-context.tsx
diff --git a/app/soapbox/custom.ts b/src/custom.ts
similarity index 83%
rename from app/soapbox/custom.ts
rename to src/custom.ts
index efebce1e2..dcbcba547 100644
--- a/app/soapbox/custom.ts
+++ b/src/custom.ts
@@ -7,7 +7,7 @@ import * as BuildConfig from 'soapbox/build-config';
export const custom = (filename: string, fallback: any = {}): any => {
if (BuildConfig.NODE_ENV === 'test') return fallback;
- const modules = import.meta.glob('../../custom/*.json', { eager: true });
+ const modules = import.meta.glob('../custom/*.json', { eager: true });
const key = `../../custom/${filename}.json`;
return modules[key] ? modules[key] : fallback;
diff --git a/app/soapbox/entity-store/__tests__/reducer.test.ts b/src/entity-store/__tests__/reducer.test.ts
similarity index 100%
rename from app/soapbox/entity-store/__tests__/reducer.test.ts
rename to src/entity-store/__tests__/reducer.test.ts
diff --git a/app/soapbox/entity-store/actions.ts b/src/entity-store/actions.ts
similarity index 100%
rename from app/soapbox/entity-store/actions.ts
rename to src/entity-store/actions.ts
diff --git a/app/soapbox/entity-store/entities.ts b/src/entity-store/entities.ts
similarity index 100%
rename from app/soapbox/entity-store/entities.ts
rename to src/entity-store/entities.ts
diff --git a/app/soapbox/entity-store/hooks/index.ts b/src/entity-store/hooks/index.ts
similarity index 100%
rename from app/soapbox/entity-store/hooks/index.ts
rename to src/entity-store/hooks/index.ts
diff --git a/app/soapbox/entity-store/hooks/types.ts b/src/entity-store/hooks/types.ts
similarity index 100%
rename from app/soapbox/entity-store/hooks/types.ts
rename to src/entity-store/hooks/types.ts
diff --git a/app/soapbox/entity-store/hooks/useBatchedEntities.ts b/src/entity-store/hooks/useBatchedEntities.ts
similarity index 100%
rename from app/soapbox/entity-store/hooks/useBatchedEntities.ts
rename to src/entity-store/hooks/useBatchedEntities.ts
diff --git a/app/soapbox/entity-store/hooks/useChangeEntity.ts b/src/entity-store/hooks/useChangeEntity.ts
similarity index 100%
rename from app/soapbox/entity-store/hooks/useChangeEntity.ts
rename to src/entity-store/hooks/useChangeEntity.ts
diff --git a/app/soapbox/entity-store/hooks/useCreateEntity.ts b/src/entity-store/hooks/useCreateEntity.ts
similarity index 100%
rename from app/soapbox/entity-store/hooks/useCreateEntity.ts
rename to src/entity-store/hooks/useCreateEntity.ts
diff --git a/app/soapbox/entity-store/hooks/useDeleteEntity.ts b/src/entity-store/hooks/useDeleteEntity.ts
similarity index 100%
rename from app/soapbox/entity-store/hooks/useDeleteEntity.ts
rename to src/entity-store/hooks/useDeleteEntity.ts
diff --git a/app/soapbox/entity-store/hooks/useDismissEntity.ts b/src/entity-store/hooks/useDismissEntity.ts
similarity index 100%
rename from app/soapbox/entity-store/hooks/useDismissEntity.ts
rename to src/entity-store/hooks/useDismissEntity.ts
diff --git a/app/soapbox/entity-store/hooks/useEntities.ts b/src/entity-store/hooks/useEntities.ts
similarity index 100%
rename from app/soapbox/entity-store/hooks/useEntities.ts
rename to src/entity-store/hooks/useEntities.ts
diff --git a/app/soapbox/entity-store/hooks/useEntity.ts b/src/entity-store/hooks/useEntity.ts
similarity index 100%
rename from app/soapbox/entity-store/hooks/useEntity.ts
rename to src/entity-store/hooks/useEntity.ts
diff --git a/app/soapbox/entity-store/hooks/useEntityActions.ts b/src/entity-store/hooks/useEntityActions.ts
similarity index 100%
rename from app/soapbox/entity-store/hooks/useEntityActions.ts
rename to src/entity-store/hooks/useEntityActions.ts
diff --git a/app/soapbox/entity-store/hooks/useEntityLookup.ts b/src/entity-store/hooks/useEntityLookup.ts
similarity index 100%
rename from app/soapbox/entity-store/hooks/useEntityLookup.ts
rename to src/entity-store/hooks/useEntityLookup.ts
diff --git a/app/soapbox/entity-store/hooks/useIncrementEntity.ts b/src/entity-store/hooks/useIncrementEntity.ts
similarity index 100%
rename from app/soapbox/entity-store/hooks/useIncrementEntity.ts
rename to src/entity-store/hooks/useIncrementEntity.ts
diff --git a/app/soapbox/entity-store/hooks/useTransaction.ts b/src/entity-store/hooks/useTransaction.ts
similarity index 100%
rename from app/soapbox/entity-store/hooks/useTransaction.ts
rename to src/entity-store/hooks/useTransaction.ts
diff --git a/app/soapbox/entity-store/hooks/utils.ts b/src/entity-store/hooks/utils.ts
similarity index 100%
rename from app/soapbox/entity-store/hooks/utils.ts
rename to src/entity-store/hooks/utils.ts
diff --git a/app/soapbox/entity-store/reducer.ts b/src/entity-store/reducer.ts
similarity index 100%
rename from app/soapbox/entity-store/reducer.ts
rename to src/entity-store/reducer.ts
diff --git a/app/soapbox/entity-store/selectors.ts b/src/entity-store/selectors.ts
similarity index 100%
rename from app/soapbox/entity-store/selectors.ts
rename to src/entity-store/selectors.ts
diff --git a/app/soapbox/entity-store/types.ts b/src/entity-store/types.ts
similarity index 100%
rename from app/soapbox/entity-store/types.ts
rename to src/entity-store/types.ts
diff --git a/app/soapbox/entity-store/utils.ts b/src/entity-store/utils.ts
similarity index 100%
rename from app/soapbox/entity-store/utils.ts
rename to src/entity-store/utils.ts
diff --git a/app/soapbox/features/about/index.tsx b/src/features/about/index.tsx
similarity index 100%
rename from app/soapbox/features/about/index.tsx
rename to src/features/about/index.tsx
diff --git a/app/soapbox/features/account-gallery/components/media-item.tsx b/src/features/account-gallery/components/media-item.tsx
similarity index 100%
rename from app/soapbox/features/account-gallery/components/media-item.tsx
rename to src/features/account-gallery/components/media-item.tsx
diff --git a/app/soapbox/features/account-gallery/index.tsx b/src/features/account-gallery/index.tsx
similarity index 100%
rename from app/soapbox/features/account-gallery/index.tsx
rename to src/features/account-gallery/index.tsx
diff --git a/app/soapbox/features/account-timeline/components/moved-note.tsx b/src/features/account-timeline/components/moved-note.tsx
similarity index 100%
rename from app/soapbox/features/account-timeline/components/moved-note.tsx
rename to src/features/account-timeline/components/moved-note.tsx
diff --git a/app/soapbox/features/account-timeline/index.tsx b/src/features/account-timeline/index.tsx
similarity index 100%
rename from app/soapbox/features/account-timeline/index.tsx
rename to src/features/account-timeline/index.tsx
diff --git a/app/soapbox/features/account/components/header.tsx b/src/features/account/components/header.tsx
similarity index 100%
rename from app/soapbox/features/account/components/header.tsx
rename to src/features/account/components/header.tsx
diff --git a/app/soapbox/features/admin/announcements.tsx b/src/features/admin/announcements.tsx
similarity index 100%
rename from app/soapbox/features/admin/announcements.tsx
rename to src/features/admin/announcements.tsx
diff --git a/app/soapbox/features/admin/components/admin-tabs.tsx b/src/features/admin/components/admin-tabs.tsx
similarity index 100%
rename from app/soapbox/features/admin/components/admin-tabs.tsx
rename to src/features/admin/components/admin-tabs.tsx
diff --git a/app/soapbox/features/admin/components/dashcounter.tsx b/src/features/admin/components/dashcounter.tsx
similarity index 100%
rename from app/soapbox/features/admin/components/dashcounter.tsx
rename to src/features/admin/components/dashcounter.tsx
diff --git a/app/soapbox/features/admin/components/latest-accounts-panel.tsx b/src/features/admin/components/latest-accounts-panel.tsx
similarity index 100%
rename from app/soapbox/features/admin/components/latest-accounts-panel.tsx
rename to src/features/admin/components/latest-accounts-panel.tsx
diff --git a/app/soapbox/features/admin/components/registration-mode-picker.tsx b/src/features/admin/components/registration-mode-picker.tsx
similarity index 100%
rename from app/soapbox/features/admin/components/registration-mode-picker.tsx
rename to src/features/admin/components/registration-mode-picker.tsx
diff --git a/app/soapbox/features/admin/components/report-status.tsx b/src/features/admin/components/report-status.tsx
similarity index 100%
rename from app/soapbox/features/admin/components/report-status.tsx
rename to src/features/admin/components/report-status.tsx
diff --git a/app/soapbox/features/admin/components/report.tsx b/src/features/admin/components/report.tsx
similarity index 100%
rename from app/soapbox/features/admin/components/report.tsx
rename to src/features/admin/components/report.tsx
diff --git a/app/soapbox/features/admin/components/unapproved-account.tsx b/src/features/admin/components/unapproved-account.tsx
similarity index 100%
rename from app/soapbox/features/admin/components/unapproved-account.tsx
rename to src/features/admin/components/unapproved-account.tsx
diff --git a/app/soapbox/features/admin/index.tsx b/src/features/admin/index.tsx
similarity index 100%
rename from app/soapbox/features/admin/index.tsx
rename to src/features/admin/index.tsx
diff --git a/app/soapbox/features/admin/moderation-log.tsx b/src/features/admin/moderation-log.tsx
similarity index 100%
rename from app/soapbox/features/admin/moderation-log.tsx
rename to src/features/admin/moderation-log.tsx
diff --git a/app/soapbox/features/admin/tabs/awaiting-approval.tsx b/src/features/admin/tabs/awaiting-approval.tsx
similarity index 100%
rename from app/soapbox/features/admin/tabs/awaiting-approval.tsx
rename to src/features/admin/tabs/awaiting-approval.tsx
diff --git a/app/soapbox/features/admin/tabs/dashboard.tsx b/src/features/admin/tabs/dashboard.tsx
similarity index 100%
rename from app/soapbox/features/admin/tabs/dashboard.tsx
rename to src/features/admin/tabs/dashboard.tsx
diff --git a/app/soapbox/features/admin/tabs/reports.tsx b/src/features/admin/tabs/reports.tsx
similarity index 100%
rename from app/soapbox/features/admin/tabs/reports.tsx
rename to src/features/admin/tabs/reports.tsx
diff --git a/app/soapbox/features/admin/user-index.tsx b/src/features/admin/user-index.tsx
similarity index 100%
rename from app/soapbox/features/admin/user-index.tsx
rename to src/features/admin/user-index.tsx
diff --git a/app/soapbox/features/ads/components/ad.tsx b/src/features/ads/components/ad.tsx
similarity index 100%
rename from app/soapbox/features/ads/components/ad.tsx
rename to src/features/ads/components/ad.tsx
diff --git a/app/soapbox/features/ads/providers/index.ts b/src/features/ads/providers/index.ts
similarity index 100%
rename from app/soapbox/features/ads/providers/index.ts
rename to src/features/ads/providers/index.ts
diff --git a/app/soapbox/features/ads/providers/soapbox-config.ts b/src/features/ads/providers/soapbox-config.ts
similarity index 100%
rename from app/soapbox/features/ads/providers/soapbox-config.ts
rename to src/features/ads/providers/soapbox-config.ts
diff --git a/app/soapbox/features/ads/providers/truth.ts b/src/features/ads/providers/truth.ts
similarity index 100%
rename from app/soapbox/features/ads/providers/truth.ts
rename to src/features/ads/providers/truth.ts
diff --git a/app/soapbox/features/aliases/components/account.tsx b/src/features/aliases/components/account.tsx
similarity index 100%
rename from app/soapbox/features/aliases/components/account.tsx
rename to src/features/aliases/components/account.tsx
diff --git a/app/soapbox/features/aliases/components/search.tsx b/src/features/aliases/components/search.tsx
similarity index 100%
rename from app/soapbox/features/aliases/components/search.tsx
rename to src/features/aliases/components/search.tsx
diff --git a/app/soapbox/features/aliases/index.tsx b/src/features/aliases/index.tsx
similarity index 100%
rename from app/soapbox/features/aliases/index.tsx
rename to src/features/aliases/index.tsx
diff --git a/app/soapbox/features/audio/index.tsx b/src/features/audio/index.tsx
similarity index 100%
rename from app/soapbox/features/audio/index.tsx
rename to src/features/audio/index.tsx
diff --git a/app/soapbox/features/audio/visualizer.ts b/src/features/audio/visualizer.ts
similarity index 100%
rename from app/soapbox/features/audio/visualizer.ts
rename to src/features/audio/visualizer.ts
diff --git a/app/soapbox/features/auth-layout/index.tsx b/src/features/auth-layout/index.tsx
similarity index 100%
rename from app/soapbox/features/auth-layout/index.tsx
rename to src/features/auth-layout/index.tsx
diff --git a/app/soapbox/features/auth-login/components/__tests__/captcha.test.tsx b/src/features/auth-login/components/__tests__/captcha.test.tsx
similarity index 100%
rename from app/soapbox/features/auth-login/components/__tests__/captcha.test.tsx
rename to src/features/auth-login/components/__tests__/captcha.test.tsx
diff --git a/app/soapbox/features/auth-login/components/__tests__/login-form.test.tsx b/src/features/auth-login/components/__tests__/login-form.test.tsx
similarity index 100%
rename from app/soapbox/features/auth-login/components/__tests__/login-form.test.tsx
rename to src/features/auth-login/components/__tests__/login-form.test.tsx
diff --git a/app/soapbox/features/auth-login/components/__tests__/login-page.test.tsx b/src/features/auth-login/components/__tests__/login-page.test.tsx
similarity index 100%
rename from app/soapbox/features/auth-login/components/__tests__/login-page.test.tsx
rename to src/features/auth-login/components/__tests__/login-page.test.tsx
diff --git a/app/soapbox/features/auth-login/components/__tests__/otp-auth-form.test.tsx b/src/features/auth-login/components/__tests__/otp-auth-form.test.tsx
similarity index 100%
rename from app/soapbox/features/auth-login/components/__tests__/otp-auth-form.test.tsx
rename to src/features/auth-login/components/__tests__/otp-auth-form.test.tsx
diff --git a/app/soapbox/features/auth-login/components/__tests__/password-reset-confirm.test.tsx b/src/features/auth-login/components/__tests__/password-reset-confirm.test.tsx
similarity index 100%
rename from app/soapbox/features/auth-login/components/__tests__/password-reset-confirm.test.tsx
rename to src/features/auth-login/components/__tests__/password-reset-confirm.test.tsx
diff --git a/app/soapbox/features/auth-login/components/captcha.tsx b/src/features/auth-login/components/captcha.tsx
similarity index 100%
rename from app/soapbox/features/auth-login/components/captcha.tsx
rename to src/features/auth-login/components/captcha.tsx
diff --git a/app/soapbox/features/auth-login/components/consumer-button.tsx b/src/features/auth-login/components/consumer-button.tsx
similarity index 100%
rename from app/soapbox/features/auth-login/components/consumer-button.tsx
rename to src/features/auth-login/components/consumer-button.tsx
diff --git a/app/soapbox/features/auth-login/components/consumers-list.tsx b/src/features/auth-login/components/consumers-list.tsx
similarity index 100%
rename from app/soapbox/features/auth-login/components/consumers-list.tsx
rename to src/features/auth-login/components/consumers-list.tsx
diff --git a/app/soapbox/features/auth-login/components/login-form.tsx b/src/features/auth-login/components/login-form.tsx
similarity index 100%
rename from app/soapbox/features/auth-login/components/login-form.tsx
rename to src/features/auth-login/components/login-form.tsx
diff --git a/app/soapbox/features/auth-login/components/login-page.tsx b/src/features/auth-login/components/login-page.tsx
similarity index 100%
rename from app/soapbox/features/auth-login/components/login-page.tsx
rename to src/features/auth-login/components/login-page.tsx
diff --git a/app/soapbox/features/auth-login/components/logout.tsx b/src/features/auth-login/components/logout.tsx
similarity index 100%
rename from app/soapbox/features/auth-login/components/logout.tsx
rename to src/features/auth-login/components/logout.tsx
diff --git a/app/soapbox/features/auth-login/components/otp-auth-form.tsx b/src/features/auth-login/components/otp-auth-form.tsx
similarity index 100%
rename from app/soapbox/features/auth-login/components/otp-auth-form.tsx
rename to src/features/auth-login/components/otp-auth-form.tsx
diff --git a/app/soapbox/features/auth-login/components/password-reset-confirm.tsx b/src/features/auth-login/components/password-reset-confirm.tsx
similarity index 100%
rename from app/soapbox/features/auth-login/components/password-reset-confirm.tsx
rename to src/features/auth-login/components/password-reset-confirm.tsx
diff --git a/app/soapbox/features/auth-login/components/password-reset.tsx b/src/features/auth-login/components/password-reset.tsx
similarity index 100%
rename from app/soapbox/features/auth-login/components/password-reset.tsx
rename to src/features/auth-login/components/password-reset.tsx
diff --git a/app/soapbox/features/auth-login/components/registration-form.tsx b/src/features/auth-login/components/registration-form.tsx
similarity index 100%
rename from app/soapbox/features/auth-login/components/registration-form.tsx
rename to src/features/auth-login/components/registration-form.tsx
diff --git a/app/soapbox/features/auth-token-list/index.tsx b/src/features/auth-token-list/index.tsx
similarity index 100%
rename from app/soapbox/features/auth-token-list/index.tsx
rename to src/features/auth-token-list/index.tsx
diff --git a/app/soapbox/features/backups/index.tsx b/src/features/backups/index.tsx
similarity index 100%
rename from app/soapbox/features/backups/index.tsx
rename to src/features/backups/index.tsx
diff --git a/app/soapbox/features/birthdays/account.tsx b/src/features/birthdays/account.tsx
similarity index 100%
rename from app/soapbox/features/birthdays/account.tsx
rename to src/features/birthdays/account.tsx
diff --git a/app/soapbox/features/birthdays/date-picker.ts b/src/features/birthdays/date-picker.ts
similarity index 100%
rename from app/soapbox/features/birthdays/date-picker.ts
rename to src/features/birthdays/date-picker.ts
diff --git a/app/soapbox/features/blocks/index.tsx b/src/features/blocks/index.tsx
similarity index 100%
rename from app/soapbox/features/blocks/index.tsx
rename to src/features/blocks/index.tsx
diff --git a/app/soapbox/features/bookmarks/index.tsx b/src/features/bookmarks/index.tsx
similarity index 100%
rename from app/soapbox/features/bookmarks/index.tsx
rename to src/features/bookmarks/index.tsx
diff --git a/app/soapbox/features/chats/components/__tests__/chat-list-item.test.tsx b/src/features/chats/components/__tests__/chat-list-item.test.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/__tests__/chat-list-item.test.tsx
rename to src/features/chats/components/__tests__/chat-list-item.test.tsx
diff --git a/app/soapbox/features/chats/components/__tests__/chat-message-list.test.tsx b/src/features/chats/components/__tests__/chat-message-list.test.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/__tests__/chat-message-list.test.tsx
rename to src/features/chats/components/__tests__/chat-message-list.test.tsx
diff --git a/app/soapbox/features/chats/components/__tests__/chat-message-reaction.test.tsx b/src/features/chats/components/__tests__/chat-message-reaction.test.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/__tests__/chat-message-reaction.test.tsx
rename to src/features/chats/components/__tests__/chat-message-reaction.test.tsx
diff --git a/app/soapbox/features/chats/components/__tests__/chat-pane-header.test.tsx b/src/features/chats/components/__tests__/chat-pane-header.test.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/__tests__/chat-pane-header.test.tsx
rename to src/features/chats/components/__tests__/chat-pane-header.test.tsx
diff --git a/app/soapbox/features/chats/components/__tests__/chat-widget.test.tsx b/src/features/chats/components/__tests__/chat-widget.test.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/__tests__/chat-widget.test.tsx
rename to src/features/chats/components/__tests__/chat-widget.test.tsx
diff --git a/app/soapbox/features/chats/components/chat-composer.tsx b/src/features/chats/components/chat-composer.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/chat-composer.tsx
rename to src/features/chats/components/chat-composer.tsx
diff --git a/app/soapbox/features/chats/components/chat-list-item.tsx b/src/features/chats/components/chat-list-item.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/chat-list-item.tsx
rename to src/features/chats/components/chat-list-item.tsx
diff --git a/app/soapbox/features/chats/components/chat-list.tsx b/src/features/chats/components/chat-list.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/chat-list.tsx
rename to src/features/chats/components/chat-list.tsx
diff --git a/app/soapbox/features/chats/components/chat-message-list-intro.tsx b/src/features/chats/components/chat-message-list-intro.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/chat-message-list-intro.tsx
rename to src/features/chats/components/chat-message-list-intro.tsx
diff --git a/app/soapbox/features/chats/components/chat-message-list.tsx b/src/features/chats/components/chat-message-list.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/chat-message-list.tsx
rename to src/features/chats/components/chat-message-list.tsx
diff --git a/app/soapbox/features/chats/components/chat-message-reaction-wrapper/chat-message-reaction-wrapper.tsx b/src/features/chats/components/chat-message-reaction-wrapper/chat-message-reaction-wrapper.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/chat-message-reaction-wrapper/chat-message-reaction-wrapper.tsx
rename to src/features/chats/components/chat-message-reaction-wrapper/chat-message-reaction-wrapper.tsx
diff --git a/app/soapbox/features/chats/components/chat-message-reaction.tsx b/src/features/chats/components/chat-message-reaction.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/chat-message-reaction.tsx
rename to src/features/chats/components/chat-message-reaction.tsx
diff --git a/app/soapbox/features/chats/components/chat-message.tsx b/src/features/chats/components/chat-message.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/chat-message.tsx
rename to src/features/chats/components/chat-message.tsx
diff --git a/app/soapbox/features/chats/components/chat-page/__tests__/chat-page.test.tsx b/src/features/chats/components/chat-page/__tests__/chat-page.test.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/chat-page/__tests__/chat-page.test.tsx
rename to src/features/chats/components/chat-page/__tests__/chat-page.test.tsx
diff --git a/app/soapbox/features/chats/components/chat-page/chat-page.tsx b/src/features/chats/components/chat-page/chat-page.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/chat-page/chat-page.tsx
rename to src/features/chats/components/chat-page/chat-page.tsx
diff --git a/app/soapbox/features/chats/components/chat-page/components/blankslate-empty.tsx b/src/features/chats/components/chat-page/components/blankslate-empty.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/chat-page/components/blankslate-empty.tsx
rename to src/features/chats/components/chat-page/components/blankslate-empty.tsx
diff --git a/app/soapbox/features/chats/components/chat-page/components/blankslate-with-chats.tsx b/src/features/chats/components/chat-page/components/blankslate-with-chats.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/chat-page/components/blankslate-with-chats.tsx
rename to src/features/chats/components/chat-page/components/blankslate-with-chats.tsx
diff --git a/app/soapbox/features/chats/components/chat-page/components/chat-page-main.tsx b/src/features/chats/components/chat-page/components/chat-page-main.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/chat-page/components/chat-page-main.tsx
rename to src/features/chats/components/chat-page/components/chat-page-main.tsx
diff --git a/app/soapbox/features/chats/components/chat-page/components/chat-page-new.tsx b/src/features/chats/components/chat-page/components/chat-page-new.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/chat-page/components/chat-page-new.tsx
rename to src/features/chats/components/chat-page/components/chat-page-new.tsx
diff --git a/app/soapbox/features/chats/components/chat-page/components/chat-page-settings.tsx b/src/features/chats/components/chat-page/components/chat-page-settings.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/chat-page/components/chat-page-settings.tsx
rename to src/features/chats/components/chat-page/components/chat-page-settings.tsx
diff --git a/app/soapbox/features/chats/components/chat-page/components/chat-page-sidebar.tsx b/src/features/chats/components/chat-page/components/chat-page-sidebar.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/chat-page/components/chat-page-sidebar.tsx
rename to src/features/chats/components/chat-page/components/chat-page-sidebar.tsx
diff --git a/app/soapbox/features/chats/components/chat-page/components/welcome.tsx b/src/features/chats/components/chat-page/components/welcome.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/chat-page/components/welcome.tsx
rename to src/features/chats/components/chat-page/components/welcome.tsx
diff --git a/app/soapbox/features/chats/components/chat-pane/__tests__/chat-pane.test.tsx b/src/features/chats/components/chat-pane/__tests__/chat-pane.test.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/chat-pane/__tests__/chat-pane.test.tsx
rename to src/features/chats/components/chat-pane/__tests__/chat-pane.test.tsx
diff --git a/app/soapbox/features/chats/components/chat-pane/blankslate.tsx b/src/features/chats/components/chat-pane/blankslate.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/chat-pane/blankslate.tsx
rename to src/features/chats/components/chat-pane/blankslate.tsx
diff --git a/app/soapbox/features/chats/components/chat-pane/chat-pane.tsx b/src/features/chats/components/chat-pane/chat-pane.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/chat-pane/chat-pane.tsx
rename to src/features/chats/components/chat-pane/chat-pane.tsx
diff --git a/app/soapbox/features/chats/components/chat-pending-upload.tsx b/src/features/chats/components/chat-pending-upload.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/chat-pending-upload.tsx
rename to src/features/chats/components/chat-pending-upload.tsx
diff --git a/app/soapbox/features/chats/components/chat-search-input.tsx b/src/features/chats/components/chat-search-input.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/chat-search-input.tsx
rename to src/features/chats/components/chat-search-input.tsx
diff --git a/app/soapbox/features/chats/components/chat-search/__tests__/chat-search.test.tsx b/src/features/chats/components/chat-search/__tests__/chat-search.test.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/chat-search/__tests__/chat-search.test.tsx
rename to src/features/chats/components/chat-search/__tests__/chat-search.test.tsx
diff --git a/app/soapbox/features/chats/components/chat-search/blankslate.tsx b/src/features/chats/components/chat-search/blankslate.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/chat-search/blankslate.tsx
rename to src/features/chats/components/chat-search/blankslate.tsx
diff --git a/app/soapbox/features/chats/components/chat-search/chat-search.tsx b/src/features/chats/components/chat-search/chat-search.tsx
similarity index 97%
rename from app/soapbox/features/chats/components/chat-search/chat-search.tsx
rename to src/features/chats/components/chat-search/chat-search.tsx
index 8197ac5f5..d93acc348 100644
--- a/app/soapbox/features/chats/components/chat-search/chat-search.tsx
+++ b/src/features/chats/components/chat-search/chat-search.tsx
@@ -7,13 +7,11 @@ import { useHistory } from 'react-router-dom';
import { Icon, Input, Stack } from 'soapbox/components/ui';
import { ChatWidgetScreens, useChatContext } from 'soapbox/contexts/chat-context';
import { useDebounce } from 'soapbox/hooks';
-import { useChats } from 'soapbox/queries/chats';
+import { useChats, ChatKeys } from 'soapbox/queries/chats';
import { queryClient } from 'soapbox/queries/client';
import useAccountSearch from 'soapbox/queries/search';
import toast from 'soapbox/toast';
-import { ChatKeys } from '../../../../queries/chats';
-
import Blankslate from './blankslate';
import EmptyResultsBlankslate from './empty-results-blankslate';
import Results from './results';
diff --git a/app/soapbox/features/chats/components/chat-search/empty-results-blankslate.tsx b/src/features/chats/components/chat-search/empty-results-blankslate.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/chat-search/empty-results-blankslate.tsx
rename to src/features/chats/components/chat-search/empty-results-blankslate.tsx
diff --git a/app/soapbox/features/chats/components/chat-search/results.tsx b/src/features/chats/components/chat-search/results.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/chat-search/results.tsx
rename to src/features/chats/components/chat-search/results.tsx
diff --git a/app/soapbox/features/chats/components/chat-textarea.tsx b/src/features/chats/components/chat-textarea.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/chat-textarea.tsx
rename to src/features/chats/components/chat-textarea.tsx
diff --git a/app/soapbox/features/chats/components/chat-upload-preview.tsx b/src/features/chats/components/chat-upload-preview.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/chat-upload-preview.tsx
rename to src/features/chats/components/chat-upload-preview.tsx
diff --git a/app/soapbox/features/chats/components/chat-upload.tsx b/src/features/chats/components/chat-upload.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/chat-upload.tsx
rename to src/features/chats/components/chat-upload.tsx
diff --git a/app/soapbox/features/chats/components/chat-widget/chat-pane-header.tsx b/src/features/chats/components/chat-widget/chat-pane-header.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/chat-widget/chat-pane-header.tsx
rename to src/features/chats/components/chat-widget/chat-pane-header.tsx
diff --git a/app/soapbox/features/chats/components/chat-widget/chat-settings.tsx b/src/features/chats/components/chat-widget/chat-settings.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/chat-widget/chat-settings.tsx
rename to src/features/chats/components/chat-widget/chat-settings.tsx
diff --git a/app/soapbox/features/chats/components/chat-widget/chat-widget.tsx b/src/features/chats/components/chat-widget/chat-widget.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/chat-widget/chat-widget.tsx
rename to src/features/chats/components/chat-widget/chat-widget.tsx
diff --git a/app/soapbox/features/chats/components/chat-widget/chat-window.tsx b/src/features/chats/components/chat-widget/chat-window.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/chat-widget/chat-window.tsx
rename to src/features/chats/components/chat-widget/chat-window.tsx
diff --git a/app/soapbox/features/chats/components/chat-widget/headers/chat-search-header.tsx b/src/features/chats/components/chat-widget/headers/chat-search-header.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/chat-widget/headers/chat-search-header.tsx
rename to src/features/chats/components/chat-widget/headers/chat-search-header.tsx
diff --git a/app/soapbox/features/chats/components/chat.tsx b/src/features/chats/components/chat.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/chat.tsx
rename to src/features/chats/components/chat.tsx
diff --git a/app/soapbox/features/chats/components/ui/index.ts b/src/features/chats/components/ui/index.ts
similarity index 100%
rename from app/soapbox/features/chats/components/ui/index.ts
rename to src/features/chats/components/ui/index.ts
diff --git a/app/soapbox/features/chats/components/ui/pane.tsx b/src/features/chats/components/ui/pane.tsx
similarity index 100%
rename from app/soapbox/features/chats/components/ui/pane.tsx
rename to src/features/chats/components/ui/pane.tsx
diff --git a/app/soapbox/features/chats/index.tsx b/src/features/chats/index.tsx
similarity index 100%
rename from app/soapbox/features/chats/index.tsx
rename to src/features/chats/index.tsx
diff --git a/app/soapbox/features/community-timeline/index.tsx b/src/features/community-timeline/index.tsx
similarity index 100%
rename from app/soapbox/features/community-timeline/index.tsx
rename to src/features/community-timeline/index.tsx
diff --git a/app/soapbox/features/compose/components/__tests__/search.test.tsx b/src/features/compose/components/__tests__/search.test.tsx
similarity index 100%
rename from app/soapbox/features/compose/components/__tests__/search.test.tsx
rename to src/features/compose/components/__tests__/search.test.tsx
diff --git a/app/soapbox/features/compose/components/autosuggest-account.tsx b/src/features/compose/components/autosuggest-account.tsx
similarity index 100%
rename from app/soapbox/features/compose/components/autosuggest-account.tsx
rename to src/features/compose/components/autosuggest-account.tsx
diff --git a/app/soapbox/features/compose/components/compose-form-button.tsx b/src/features/compose/components/compose-form-button.tsx
similarity index 100%
rename from app/soapbox/features/compose/components/compose-form-button.tsx
rename to src/features/compose/components/compose-form-button.tsx
diff --git a/app/soapbox/features/compose/components/compose-form.tsx b/src/features/compose/components/compose-form.tsx
similarity index 100%
rename from app/soapbox/features/compose/components/compose-form.tsx
rename to src/features/compose/components/compose-form.tsx
diff --git a/app/soapbox/features/compose/components/markdown-button.tsx b/src/features/compose/components/markdown-button.tsx
similarity index 100%
rename from app/soapbox/features/compose/components/markdown-button.tsx
rename to src/features/compose/components/markdown-button.tsx
diff --git a/app/soapbox/features/compose/components/poll-button.tsx b/src/features/compose/components/poll-button.tsx
similarity index 100%
rename from app/soapbox/features/compose/components/poll-button.tsx
rename to src/features/compose/components/poll-button.tsx
diff --git a/app/soapbox/features/compose/components/polls/__tests__/duration-selector.test.tsx b/src/features/compose/components/polls/__tests__/duration-selector.test.tsx
similarity index 100%
rename from app/soapbox/features/compose/components/polls/__tests__/duration-selector.test.tsx
rename to src/features/compose/components/polls/__tests__/duration-selector.test.tsx
diff --git a/app/soapbox/features/compose/components/polls/duration-selector.tsx b/src/features/compose/components/polls/duration-selector.tsx
similarity index 100%
rename from app/soapbox/features/compose/components/polls/duration-selector.tsx
rename to src/features/compose/components/polls/duration-selector.tsx
diff --git a/app/soapbox/features/compose/components/polls/poll-form.tsx b/src/features/compose/components/polls/poll-form.tsx
similarity index 100%
rename from app/soapbox/features/compose/components/polls/poll-form.tsx
rename to src/features/compose/components/polls/poll-form.tsx
diff --git a/app/soapbox/features/compose/components/privacy-dropdown.tsx b/src/features/compose/components/privacy-dropdown.tsx
similarity index 100%
rename from app/soapbox/features/compose/components/privacy-dropdown.tsx
rename to src/features/compose/components/privacy-dropdown.tsx
diff --git a/app/soapbox/features/compose/components/reply-group-indicator.tsx b/src/features/compose/components/reply-group-indicator.tsx
similarity index 100%
rename from app/soapbox/features/compose/components/reply-group-indicator.tsx
rename to src/features/compose/components/reply-group-indicator.tsx
diff --git a/app/soapbox/features/compose/components/reply-indicator.tsx b/src/features/compose/components/reply-indicator.tsx
similarity index 100%
rename from app/soapbox/features/compose/components/reply-indicator.tsx
rename to src/features/compose/components/reply-indicator.tsx
diff --git a/app/soapbox/features/compose/components/reply-mentions.tsx b/src/features/compose/components/reply-mentions.tsx
similarity index 100%
rename from app/soapbox/features/compose/components/reply-mentions.tsx
rename to src/features/compose/components/reply-mentions.tsx
diff --git a/app/soapbox/features/compose/components/schedule-button.tsx b/src/features/compose/components/schedule-button.tsx
similarity index 100%
rename from app/soapbox/features/compose/components/schedule-button.tsx
rename to src/features/compose/components/schedule-button.tsx
diff --git a/app/soapbox/features/compose/components/schedule-form.tsx b/src/features/compose/components/schedule-form.tsx
similarity index 100%
rename from app/soapbox/features/compose/components/schedule-form.tsx
rename to src/features/compose/components/schedule-form.tsx
diff --git a/app/soapbox/features/compose/components/search-results.tsx b/src/features/compose/components/search-results.tsx
similarity index 100%
rename from app/soapbox/features/compose/components/search-results.tsx
rename to src/features/compose/components/search-results.tsx
diff --git a/app/soapbox/features/compose/components/search.tsx b/src/features/compose/components/search.tsx
similarity index 100%
rename from app/soapbox/features/compose/components/search.tsx
rename to src/features/compose/components/search.tsx
diff --git a/app/soapbox/features/compose/components/spoiler-button.tsx b/src/features/compose/components/spoiler-button.tsx
similarity index 100%
rename from app/soapbox/features/compose/components/spoiler-button.tsx
rename to src/features/compose/components/spoiler-button.tsx
diff --git a/app/soapbox/features/compose/components/spoiler-input.tsx b/src/features/compose/components/spoiler-input.tsx
similarity index 100%
rename from app/soapbox/features/compose/components/spoiler-input.tsx
rename to src/features/compose/components/spoiler-input.tsx
diff --git a/app/soapbox/features/compose/components/text-character-counter.tsx b/src/features/compose/components/text-character-counter.tsx
similarity index 100%
rename from app/soapbox/features/compose/components/text-character-counter.tsx
rename to src/features/compose/components/text-character-counter.tsx
diff --git a/app/soapbox/features/compose/components/upload-button.tsx b/src/features/compose/components/upload-button.tsx
similarity index 100%
rename from app/soapbox/features/compose/components/upload-button.tsx
rename to src/features/compose/components/upload-button.tsx
diff --git a/app/soapbox/features/compose/components/upload-form.tsx b/src/features/compose/components/upload-form.tsx
similarity index 100%
rename from app/soapbox/features/compose/components/upload-form.tsx
rename to src/features/compose/components/upload-form.tsx
diff --git a/app/soapbox/features/compose/components/upload-progress.tsx b/src/features/compose/components/upload-progress.tsx
similarity index 100%
rename from app/soapbox/features/compose/components/upload-progress.tsx
rename to src/features/compose/components/upload-progress.tsx
diff --git a/app/soapbox/features/compose/components/upload.tsx b/src/features/compose/components/upload.tsx
similarity index 100%
rename from app/soapbox/features/compose/components/upload.tsx
rename to src/features/compose/components/upload.tsx
diff --git a/app/soapbox/features/compose/components/visual-character-counter.tsx b/src/features/compose/components/visual-character-counter.tsx
similarity index 100%
rename from app/soapbox/features/compose/components/visual-character-counter.tsx
rename to src/features/compose/components/visual-character-counter.tsx
diff --git a/app/soapbox/features/compose/components/warning.tsx b/src/features/compose/components/warning.tsx
similarity index 100%
rename from app/soapbox/features/compose/components/warning.tsx
rename to src/features/compose/components/warning.tsx
diff --git a/app/soapbox/features/compose/containers/quoted-status-container.tsx b/src/features/compose/containers/quoted-status-container.tsx
similarity index 100%
rename from app/soapbox/features/compose/containers/quoted-status-container.tsx
rename to src/features/compose/containers/quoted-status-container.tsx
diff --git a/app/soapbox/features/compose/containers/reply-indicator-container.ts b/src/features/compose/containers/reply-indicator-container.ts
similarity index 100%
rename from app/soapbox/features/compose/containers/reply-indicator-container.ts
rename to src/features/compose/containers/reply-indicator-container.ts
diff --git a/app/soapbox/features/compose/containers/schedule-form-container.tsx b/src/features/compose/containers/schedule-form-container.tsx
similarity index 100%
rename from app/soapbox/features/compose/containers/schedule-form-container.tsx
rename to src/features/compose/containers/schedule-form-container.tsx
diff --git a/app/soapbox/features/compose/containers/upload-button-container.ts b/src/features/compose/containers/upload-button-container.ts
similarity index 100%
rename from app/soapbox/features/compose/containers/upload-button-container.ts
rename to src/features/compose/containers/upload-button-container.ts
diff --git a/app/soapbox/features/compose/containers/warning-container.tsx b/src/features/compose/containers/warning-container.tsx
similarity index 100%
rename from app/soapbox/features/compose/containers/warning-container.tsx
rename to src/features/compose/containers/warning-container.tsx
diff --git a/app/soapbox/features/compose/util/counter.ts b/src/features/compose/util/counter.ts
similarity index 100%
rename from app/soapbox/features/compose/util/counter.ts
rename to src/features/compose/util/counter.ts
diff --git a/app/soapbox/features/compose/util/url-regex.ts b/src/features/compose/util/url-regex.ts
similarity index 100%
rename from app/soapbox/features/compose/util/url-regex.ts
rename to src/features/compose/util/url-regex.ts
diff --git a/app/soapbox/features/conversations/components/conversation.tsx b/src/features/conversations/components/conversation.tsx
similarity index 100%
rename from app/soapbox/features/conversations/components/conversation.tsx
rename to src/features/conversations/components/conversation.tsx
diff --git a/app/soapbox/features/conversations/components/conversations-list.tsx b/src/features/conversations/components/conversations-list.tsx
similarity index 100%
rename from app/soapbox/features/conversations/components/conversations-list.tsx
rename to src/features/conversations/components/conversations-list.tsx
diff --git a/app/soapbox/features/conversations/index.tsx b/src/features/conversations/index.tsx
similarity index 100%
rename from app/soapbox/features/conversations/index.tsx
rename to src/features/conversations/index.tsx
diff --git a/app/soapbox/features/crypto-donate/components/crypto-address.tsx b/src/features/crypto-donate/components/crypto-address.tsx
similarity index 100%
rename from app/soapbox/features/crypto-donate/components/crypto-address.tsx
rename to src/features/crypto-donate/components/crypto-address.tsx
diff --git a/app/soapbox/features/crypto-donate/components/crypto-donate-panel.tsx b/src/features/crypto-donate/components/crypto-donate-panel.tsx
similarity index 100%
rename from app/soapbox/features/crypto-donate/components/crypto-donate-panel.tsx
rename to src/features/crypto-donate/components/crypto-donate-panel.tsx
diff --git a/app/soapbox/features/crypto-donate/components/crypto-icon.tsx b/src/features/crypto-donate/components/crypto-icon.tsx
similarity index 80%
rename from app/soapbox/features/crypto-donate/components/crypto-icon.tsx
rename to src/features/crypto-donate/components/crypto-icon.tsx
index 07f0c9be6..26f51a464 100644
--- a/app/soapbox/features/crypto-donate/components/crypto-icon.tsx
+++ b/src/features/crypto-donate/components/crypto-icon.tsx
@@ -3,8 +3,8 @@ import React from 'react';
/** Get crypto icon URL by ticker symbol, or fall back to generic icon */
const getIcon = (ticker: string): string => {
- const modules: Record = import.meta.glob('../../../../../node_modules/cryptocurrency-icons/svg/color/*.svg', { eager: true });
- const key = `../../../../../node_modules/cryptocurrency-icons/svg/color/${ticker}.svg`;
+ const modules: Record = import.meta.glob('../../../../node_modules/cryptocurrency-icons/svg/color/*.svg', { eager: true });
+ const key = `../../../../node_modules/cryptocurrency-icons/svg/color/${ticker}.svg`;
return modules[key]?.default || genericIcon;
};
diff --git a/app/soapbox/features/crypto-donate/components/detailed-crypto-address.tsx b/src/features/crypto-donate/components/detailed-crypto-address.tsx
similarity index 100%
rename from app/soapbox/features/crypto-donate/components/detailed-crypto-address.tsx
rename to src/features/crypto-donate/components/detailed-crypto-address.tsx
diff --git a/app/soapbox/features/crypto-donate/components/site-wallet.tsx b/src/features/crypto-donate/components/site-wallet.tsx
similarity index 100%
rename from app/soapbox/features/crypto-donate/components/site-wallet.tsx
rename to src/features/crypto-donate/components/site-wallet.tsx
diff --git a/app/soapbox/features/crypto-donate/index.tsx b/src/features/crypto-donate/index.tsx
similarity index 100%
rename from app/soapbox/features/crypto-donate/index.tsx
rename to src/features/crypto-donate/index.tsx
diff --git a/app/soapbox/features/crypto-donate/utils/block-explorer.ts b/src/features/crypto-donate/utils/block-explorer.ts
similarity index 100%
rename from app/soapbox/features/crypto-donate/utils/block-explorer.ts
rename to src/features/crypto-donate/utils/block-explorer.ts
diff --git a/app/soapbox/features/crypto-donate/utils/block-explorers.json b/src/features/crypto-donate/utils/block-explorers.json
similarity index 100%
rename from app/soapbox/features/crypto-donate/utils/block-explorers.json
rename to src/features/crypto-donate/utils/block-explorers.json
diff --git a/app/soapbox/features/crypto-donate/utils/coin-db.ts b/src/features/crypto-donate/utils/coin-db.ts
similarity index 100%
rename from app/soapbox/features/crypto-donate/utils/coin-db.ts
rename to src/features/crypto-donate/utils/coin-db.ts
diff --git a/app/soapbox/features/crypto-donate/utils/manifest-map.ts b/src/features/crypto-donate/utils/manifest-map.ts
similarity index 100%
rename from app/soapbox/features/crypto-donate/utils/manifest-map.ts
rename to src/features/crypto-donate/utils/manifest-map.ts
diff --git a/app/soapbox/features/delete-account/index.tsx b/src/features/delete-account/index.tsx
similarity index 100%
rename from app/soapbox/features/delete-account/index.tsx
rename to src/features/delete-account/index.tsx
diff --git a/app/soapbox/features/developers/apps/create.tsx b/src/features/developers/apps/create.tsx
similarity index 100%
rename from app/soapbox/features/developers/apps/create.tsx
rename to src/features/developers/apps/create.tsx
diff --git a/app/soapbox/features/developers/components/indicator.tsx b/src/features/developers/components/indicator.tsx
similarity index 100%
rename from app/soapbox/features/developers/components/indicator.tsx
rename to src/features/developers/components/indicator.tsx
diff --git a/app/soapbox/features/developers/developers-challenge.tsx b/src/features/developers/developers-challenge.tsx
similarity index 100%
rename from app/soapbox/features/developers/developers-challenge.tsx
rename to src/features/developers/developers-challenge.tsx
diff --git a/app/soapbox/features/developers/developers-menu.tsx b/src/features/developers/developers-menu.tsx
similarity index 100%
rename from app/soapbox/features/developers/developers-menu.tsx
rename to src/features/developers/developers-menu.tsx
diff --git a/app/soapbox/features/developers/index.tsx b/src/features/developers/index.tsx
similarity index 100%
rename from app/soapbox/features/developers/index.tsx
rename to src/features/developers/index.tsx
diff --git a/app/soapbox/features/developers/service-worker-info.tsx b/src/features/developers/service-worker-info.tsx
similarity index 100%
rename from app/soapbox/features/developers/service-worker-info.tsx
rename to src/features/developers/service-worker-info.tsx
diff --git a/app/soapbox/features/developers/settings-store.tsx b/src/features/developers/settings-store.tsx
similarity index 100%
rename from app/soapbox/features/developers/settings-store.tsx
rename to src/features/developers/settings-store.tsx
diff --git a/app/soapbox/features/direct-timeline/index.tsx b/src/features/direct-timeline/index.tsx
similarity index 100%
rename from app/soapbox/features/direct-timeline/index.tsx
rename to src/features/direct-timeline/index.tsx
diff --git a/app/soapbox/features/directory/components/account-card.tsx b/src/features/directory/components/account-card.tsx
similarity index 100%
rename from app/soapbox/features/directory/components/account-card.tsx
rename to src/features/directory/components/account-card.tsx
diff --git a/app/soapbox/features/directory/index.tsx b/src/features/directory/index.tsx
similarity index 100%
rename from app/soapbox/features/directory/index.tsx
rename to src/features/directory/index.tsx
diff --git a/app/soapbox/features/domain-blocks/index.tsx b/src/features/domain-blocks/index.tsx
similarity index 100%
rename from app/soapbox/features/domain-blocks/index.tsx
rename to src/features/domain-blocks/index.tsx
diff --git a/app/soapbox/features/edit-email/index.tsx b/src/features/edit-email/index.tsx
similarity index 100%
rename from app/soapbox/features/edit-email/index.tsx
rename to src/features/edit-email/index.tsx
diff --git a/app/soapbox/features/edit-password/index.tsx b/src/features/edit-password/index.tsx
similarity index 100%
rename from app/soapbox/features/edit-password/index.tsx
rename to src/features/edit-password/index.tsx
diff --git a/app/soapbox/features/edit-profile/components/avatar-picker.tsx b/src/features/edit-profile/components/avatar-picker.tsx
similarity index 100%
rename from app/soapbox/features/edit-profile/components/avatar-picker.tsx
rename to src/features/edit-profile/components/avatar-picker.tsx
diff --git a/app/soapbox/features/edit-profile/components/header-picker.tsx b/src/features/edit-profile/components/header-picker.tsx
similarity index 100%
rename from app/soapbox/features/edit-profile/components/header-picker.tsx
rename to src/features/edit-profile/components/header-picker.tsx
diff --git a/app/soapbox/features/edit-profile/index.tsx b/src/features/edit-profile/index.tsx
similarity index 100%
rename from app/soapbox/features/edit-profile/index.tsx
rename to src/features/edit-profile/index.tsx
diff --git a/app/soapbox/features/email-confirmation/index.tsx b/src/features/email-confirmation/index.tsx
similarity index 100%
rename from app/soapbox/features/email-confirmation/index.tsx
rename to src/features/email-confirmation/index.tsx
diff --git a/app/soapbox/features/embedded-status/index.tsx b/src/features/embedded-status/index.tsx
similarity index 100%
rename from app/soapbox/features/embedded-status/index.tsx
rename to src/features/embedded-status/index.tsx
diff --git a/app/soapbox/features/emoji/__tests__/emoji-index.test.ts b/src/features/emoji/__tests__/emoji-index.test.ts
similarity index 100%
rename from app/soapbox/features/emoji/__tests__/emoji-index.test.ts
rename to src/features/emoji/__tests__/emoji-index.test.ts
diff --git a/app/soapbox/features/emoji/__tests__/emoji.test.ts b/src/features/emoji/__tests__/emoji.test.ts
similarity index 100%
rename from app/soapbox/features/emoji/__tests__/emoji.test.ts
rename to src/features/emoji/__tests__/emoji.test.ts
diff --git a/app/soapbox/features/emoji/components/emoji-picker-dropdown.tsx b/src/features/emoji/components/emoji-picker-dropdown.tsx
similarity index 100%
rename from app/soapbox/features/emoji/components/emoji-picker-dropdown.tsx
rename to src/features/emoji/components/emoji-picker-dropdown.tsx
diff --git a/app/soapbox/features/emoji/components/emoji-picker.tsx b/src/features/emoji/components/emoji-picker.tsx
similarity index 100%
rename from app/soapbox/features/emoji/components/emoji-picker.tsx
rename to src/features/emoji/components/emoji-picker.tsx
diff --git a/app/soapbox/features/emoji/containers/emoji-picker-dropdown-container.tsx b/src/features/emoji/containers/emoji-picker-dropdown-container.tsx
similarity index 100%
rename from app/soapbox/features/emoji/containers/emoji-picker-dropdown-container.tsx
rename to src/features/emoji/containers/emoji-picker-dropdown-container.tsx
diff --git a/app/soapbox/features/emoji/data.ts b/src/features/emoji/data.ts
similarity index 100%
rename from app/soapbox/features/emoji/data.ts
rename to src/features/emoji/data.ts
diff --git a/app/soapbox/features/emoji/index.ts b/src/features/emoji/index.ts
similarity index 100%
rename from app/soapbox/features/emoji/index.ts
rename to src/features/emoji/index.ts
diff --git a/app/soapbox/features/emoji/mapping.ts b/src/features/emoji/mapping.ts
similarity index 100%
rename from app/soapbox/features/emoji/mapping.ts
rename to src/features/emoji/mapping.ts
diff --git a/app/soapbox/features/emoji/search.ts b/src/features/emoji/search.ts
similarity index 100%
rename from app/soapbox/features/emoji/search.ts
rename to src/features/emoji/search.ts
diff --git a/app/soapbox/features/event/components/event-action-button.tsx b/src/features/event/components/event-action-button.tsx
similarity index 100%
rename from app/soapbox/features/event/components/event-action-button.tsx
rename to src/features/event/components/event-action-button.tsx
diff --git a/app/soapbox/features/event/components/event-date.tsx b/src/features/event/components/event-date.tsx
similarity index 100%
rename from app/soapbox/features/event/components/event-date.tsx
rename to src/features/event/components/event-date.tsx
diff --git a/app/soapbox/features/event/components/event-header.tsx b/src/features/event/components/event-header.tsx
similarity index 100%
rename from app/soapbox/features/event/components/event-header.tsx
rename to src/features/event/components/event-header.tsx
diff --git a/app/soapbox/features/event/event-discussion.tsx b/src/features/event/event-discussion.tsx
similarity index 100%
rename from app/soapbox/features/event/event-discussion.tsx
rename to src/features/event/event-discussion.tsx
diff --git a/app/soapbox/features/event/event-information.tsx b/src/features/event/event-information.tsx
similarity index 100%
rename from app/soapbox/features/event/event-information.tsx
rename to src/features/event/event-information.tsx
diff --git a/app/soapbox/features/events/components/event-carousel.tsx b/src/features/events/components/event-carousel.tsx
similarity index 100%
rename from app/soapbox/features/events/components/event-carousel.tsx
rename to src/features/events/components/event-carousel.tsx
diff --git a/app/soapbox/features/events/index.tsx b/src/features/events/index.tsx
similarity index 100%
rename from app/soapbox/features/events/index.tsx
rename to src/features/events/index.tsx
diff --git a/app/soapbox/features/export-data/components/csv-exporter.tsx b/src/features/export-data/components/csv-exporter.tsx
similarity index 100%
rename from app/soapbox/features/export-data/components/csv-exporter.tsx
rename to src/features/export-data/components/csv-exporter.tsx
diff --git a/app/soapbox/features/export-data/index.tsx b/src/features/export-data/index.tsx
similarity index 100%
rename from app/soapbox/features/export-data/index.tsx
rename to src/features/export-data/index.tsx
diff --git a/app/soapbox/features/external-login/components/external-login-form.tsx b/src/features/external-login/components/external-login-form.tsx
similarity index 100%
rename from app/soapbox/features/external-login/components/external-login-form.tsx
rename to src/features/external-login/components/external-login-form.tsx
diff --git a/app/soapbox/features/external-login/index.tsx b/src/features/external-login/index.tsx
similarity index 100%
rename from app/soapbox/features/external-login/index.tsx
rename to src/features/external-login/index.tsx
diff --git a/app/soapbox/features/favourited-statuses/index.tsx b/src/features/favourited-statuses/index.tsx
similarity index 100%
rename from app/soapbox/features/favourited-statuses/index.tsx
rename to src/features/favourited-statuses/index.tsx
diff --git a/app/soapbox/features/federation-restrictions/components/instance-restrictions.tsx b/src/features/federation-restrictions/components/instance-restrictions.tsx
similarity index 100%
rename from app/soapbox/features/federation-restrictions/components/instance-restrictions.tsx
rename to src/features/federation-restrictions/components/instance-restrictions.tsx
diff --git a/app/soapbox/features/federation-restrictions/components/restricted-instance.tsx b/src/features/federation-restrictions/components/restricted-instance.tsx
similarity index 100%
rename from app/soapbox/features/federation-restrictions/components/restricted-instance.tsx
rename to src/features/federation-restrictions/components/restricted-instance.tsx
diff --git a/app/soapbox/features/federation-restrictions/index.tsx b/src/features/federation-restrictions/index.tsx
similarity index 100%
rename from app/soapbox/features/federation-restrictions/index.tsx
rename to src/features/federation-restrictions/index.tsx
diff --git a/app/soapbox/features/feed-filtering/__tests__/feed-carousel.test.tsx b/src/features/feed-filtering/__tests__/feed-carousel.test.tsx
similarity index 100%
rename from app/soapbox/features/feed-filtering/__tests__/feed-carousel.test.tsx
rename to src/features/feed-filtering/__tests__/feed-carousel.test.tsx
diff --git a/app/soapbox/features/feed-filtering/feed-carousel.tsx b/src/features/feed-filtering/feed-carousel.tsx
similarity index 100%
rename from app/soapbox/features/feed-filtering/feed-carousel.tsx
rename to src/features/feed-filtering/feed-carousel.tsx
diff --git a/app/soapbox/features/feed-suggestions/feed-suggestions.tsx b/src/features/feed-suggestions/feed-suggestions.tsx
similarity index 100%
rename from app/soapbox/features/feed-suggestions/feed-suggestions.tsx
rename to src/features/feed-suggestions/feed-suggestions.tsx
diff --git a/app/soapbox/features/filters/edit-filter.tsx b/src/features/filters/edit-filter.tsx
similarity index 100%
rename from app/soapbox/features/filters/edit-filter.tsx
rename to src/features/filters/edit-filter.tsx
diff --git a/app/soapbox/features/filters/index.tsx b/src/features/filters/index.tsx
similarity index 100%
rename from app/soapbox/features/filters/index.tsx
rename to src/features/filters/index.tsx
diff --git a/app/soapbox/features/follow-recommendations/index.tsx b/src/features/follow-recommendations/index.tsx
similarity index 100%
rename from app/soapbox/features/follow-recommendations/index.tsx
rename to src/features/follow-recommendations/index.tsx
diff --git a/app/soapbox/features/follow-requests/components/account-authorize.tsx b/src/features/follow-requests/components/account-authorize.tsx
similarity index 100%
rename from app/soapbox/features/follow-requests/components/account-authorize.tsx
rename to src/features/follow-requests/components/account-authorize.tsx
diff --git a/app/soapbox/features/follow-requests/index.tsx b/src/features/follow-requests/index.tsx
similarity index 100%
rename from app/soapbox/features/follow-requests/index.tsx
rename to src/features/follow-requests/index.tsx
diff --git a/app/soapbox/features/followed-tags/index.tsx b/src/features/followed-tags/index.tsx
similarity index 100%
rename from app/soapbox/features/followed-tags/index.tsx
rename to src/features/followed-tags/index.tsx
diff --git a/app/soapbox/features/followers/index.tsx b/src/features/followers/index.tsx
similarity index 100%
rename from app/soapbox/features/followers/index.tsx
rename to src/features/followers/index.tsx
diff --git a/app/soapbox/features/following/index.tsx b/src/features/following/index.tsx
similarity index 100%
rename from app/soapbox/features/following/index.tsx
rename to src/features/following/index.tsx
diff --git a/app/soapbox/features/forms/index.tsx b/src/features/forms/index.tsx
similarity index 100%
rename from app/soapbox/features/forms/index.tsx
rename to src/features/forms/index.tsx
diff --git a/app/soapbox/features/generic-not-found/index.tsx b/src/features/generic-not-found/index.tsx
similarity index 100%
rename from app/soapbox/features/generic-not-found/index.tsx
rename to src/features/generic-not-found/index.tsx
diff --git a/app/soapbox/features/group/components/__tests__/group-action-button.test.tsx b/src/features/group/components/__tests__/group-action-button.test.tsx
similarity index 100%
rename from app/soapbox/features/group/components/__tests__/group-action-button.test.tsx
rename to src/features/group/components/__tests__/group-action-button.test.tsx
diff --git a/app/soapbox/features/group/components/__tests__/group-header.test.tsx b/src/features/group/components/__tests__/group-header.test.tsx
similarity index 100%
rename from app/soapbox/features/group/components/__tests__/group-header.test.tsx
rename to src/features/group/components/__tests__/group-header.test.tsx
diff --git a/app/soapbox/features/group/components/__tests__/group-member-count.test.tsx b/src/features/group/components/__tests__/group-member-count.test.tsx
similarity index 100%
rename from app/soapbox/features/group/components/__tests__/group-member-count.test.tsx
rename to src/features/group/components/__tests__/group-member-count.test.tsx
diff --git a/app/soapbox/features/group/components/__tests__/group-member-list-item.test.tsx b/src/features/group/components/__tests__/group-member-list-item.test.tsx
similarity index 100%
rename from app/soapbox/features/group/components/__tests__/group-member-list-item.test.tsx
rename to src/features/group/components/__tests__/group-member-list-item.test.tsx
diff --git a/app/soapbox/features/group/components/__tests__/group-options-button.test.tsx b/src/features/group/components/__tests__/group-options-button.test.tsx
similarity index 100%
rename from app/soapbox/features/group/components/__tests__/group-options-button.test.tsx
rename to src/features/group/components/__tests__/group-options-button.test.tsx
diff --git a/app/soapbox/features/group/components/__tests__/group-privacy.test.tsx b/src/features/group/components/__tests__/group-privacy.test.tsx
similarity index 100%
rename from app/soapbox/features/group/components/__tests__/group-privacy.test.tsx
rename to src/features/group/components/__tests__/group-privacy.test.tsx
diff --git a/app/soapbox/features/group/components/__tests__/group-relationship.test.tsx b/src/features/group/components/__tests__/group-relationship.test.tsx
similarity index 100%
rename from app/soapbox/features/group/components/__tests__/group-relationship.test.tsx
rename to src/features/group/components/__tests__/group-relationship.test.tsx
diff --git a/app/soapbox/features/group/components/__tests__/group-tag-list-item.test.tsx b/src/features/group/components/__tests__/group-tag-list-item.test.tsx
similarity index 100%
rename from app/soapbox/features/group/components/__tests__/group-tag-list-item.test.tsx
rename to src/features/group/components/__tests__/group-tag-list-item.test.tsx
diff --git a/app/soapbox/features/group/components/group-action-button.tsx b/src/features/group/components/group-action-button.tsx
similarity index 100%
rename from app/soapbox/features/group/components/group-action-button.tsx
rename to src/features/group/components/group-action-button.tsx
diff --git a/app/soapbox/features/group/components/group-header-image.tsx b/src/features/group/components/group-header-image.tsx
similarity index 100%
rename from app/soapbox/features/group/components/group-header-image.tsx
rename to src/features/group/components/group-header-image.tsx
diff --git a/app/soapbox/features/group/components/group-header.tsx b/src/features/group/components/group-header.tsx
similarity index 100%
rename from app/soapbox/features/group/components/group-header.tsx
rename to src/features/group/components/group-header.tsx
diff --git a/app/soapbox/features/group/components/group-member-count.tsx b/src/features/group/components/group-member-count.tsx
similarity index 100%
rename from app/soapbox/features/group/components/group-member-count.tsx
rename to src/features/group/components/group-member-count.tsx
diff --git a/app/soapbox/features/group/components/group-member-list-item.tsx b/src/features/group/components/group-member-list-item.tsx
similarity index 100%
rename from app/soapbox/features/group/components/group-member-list-item.tsx
rename to src/features/group/components/group-member-list-item.tsx
diff --git a/app/soapbox/features/group/components/group-options-button.tsx b/src/features/group/components/group-options-button.tsx
similarity index 100%
rename from app/soapbox/features/group/components/group-options-button.tsx
rename to src/features/group/components/group-options-button.tsx
diff --git a/app/soapbox/features/group/components/group-privacy.tsx b/src/features/group/components/group-privacy.tsx
similarity index 100%
rename from app/soapbox/features/group/components/group-privacy.tsx
rename to src/features/group/components/group-privacy.tsx
diff --git a/app/soapbox/features/group/components/group-relationship.tsx b/src/features/group/components/group-relationship.tsx
similarity index 100%
rename from app/soapbox/features/group/components/group-relationship.tsx
rename to src/features/group/components/group-relationship.tsx
diff --git a/app/soapbox/features/group/components/group-tag-list-item.tsx b/src/features/group/components/group-tag-list-item.tsx
similarity index 100%
rename from app/soapbox/features/group/components/group-tag-list-item.tsx
rename to src/features/group/components/group-tag-list-item.tsx
diff --git a/app/soapbox/features/group/components/group-tags-field.tsx b/src/features/group/components/group-tags-field.tsx
similarity index 100%
rename from app/soapbox/features/group/components/group-tags-field.tsx
rename to src/features/group/components/group-tags-field.tsx
diff --git a/app/soapbox/features/group/edit-group.tsx b/src/features/group/edit-group.tsx
similarity index 100%
rename from app/soapbox/features/group/edit-group.tsx
rename to src/features/group/edit-group.tsx
diff --git a/app/soapbox/features/group/group-blocked-members.tsx b/src/features/group/group-blocked-members.tsx
similarity index 100%
rename from app/soapbox/features/group/group-blocked-members.tsx
rename to src/features/group/group-blocked-members.tsx
diff --git a/app/soapbox/features/group/group-gallery.tsx b/src/features/group/group-gallery.tsx
similarity index 100%
rename from app/soapbox/features/group/group-gallery.tsx
rename to src/features/group/group-gallery.tsx
diff --git a/app/soapbox/features/group/group-members.tsx b/src/features/group/group-members.tsx
similarity index 100%
rename from app/soapbox/features/group/group-members.tsx
rename to src/features/group/group-members.tsx
diff --git a/app/soapbox/features/group/group-membership-requests.tsx b/src/features/group/group-membership-requests.tsx
similarity index 100%
rename from app/soapbox/features/group/group-membership-requests.tsx
rename to src/features/group/group-membership-requests.tsx
diff --git a/app/soapbox/features/group/group-tag-timeline.tsx b/src/features/group/group-tag-timeline.tsx
similarity index 100%
rename from app/soapbox/features/group/group-tag-timeline.tsx
rename to src/features/group/group-tag-timeline.tsx
diff --git a/app/soapbox/features/group/group-tags.tsx b/src/features/group/group-tags.tsx
similarity index 100%
rename from app/soapbox/features/group/group-tags.tsx
rename to src/features/group/group-tags.tsx
diff --git a/app/soapbox/features/group/group-timeline.tsx b/src/features/group/group-timeline.tsx
similarity index 100%
rename from app/soapbox/features/group/group-timeline.tsx
rename to src/features/group/group-timeline.tsx
diff --git a/app/soapbox/features/group/manage-group.tsx b/src/features/group/manage-group.tsx
similarity index 100%
rename from app/soapbox/features/group/manage-group.tsx
rename to src/features/group/manage-group.tsx
diff --git a/app/soapbox/features/groups/__tests__/discover.test.tsx b/src/features/groups/__tests__/discover.test.tsx
similarity index 100%
rename from app/soapbox/features/groups/__tests__/discover.test.tsx
rename to src/features/groups/__tests__/discover.test.tsx
diff --git a/app/soapbox/features/groups/__tests__/pending-requests.test.tsx b/src/features/groups/__tests__/pending-requests.test.tsx
similarity index 100%
rename from app/soapbox/features/groups/__tests__/pending-requests.test.tsx
rename to src/features/groups/__tests__/pending-requests.test.tsx
diff --git a/app/soapbox/features/groups/components/__tests__/pending-group-rows.test.tsx b/src/features/groups/components/__tests__/pending-group-rows.test.tsx
similarity index 100%
rename from app/soapbox/features/groups/components/__tests__/pending-group-rows.test.tsx
rename to src/features/groups/components/__tests__/pending-group-rows.test.tsx
diff --git a/app/soapbox/features/groups/components/discover/__tests__/group-grid-item.test.tsx b/src/features/groups/components/discover/__tests__/group-grid-item.test.tsx
similarity index 100%
rename from app/soapbox/features/groups/components/discover/__tests__/group-grid-item.test.tsx
rename to src/features/groups/components/discover/__tests__/group-grid-item.test.tsx
diff --git a/app/soapbox/features/groups/components/discover/__tests__/group-list-item.test.tsx b/src/features/groups/components/discover/__tests__/group-list-item.test.tsx
similarity index 100%
rename from app/soapbox/features/groups/components/discover/__tests__/group-list-item.test.tsx
rename to src/features/groups/components/discover/__tests__/group-list-item.test.tsx
diff --git a/app/soapbox/features/groups/components/discover/__tests__/layout-buttons.test.tsx b/src/features/groups/components/discover/__tests__/layout-buttons.test.tsx
similarity index 100%
rename from app/soapbox/features/groups/components/discover/__tests__/layout-buttons.test.tsx
rename to src/features/groups/components/discover/__tests__/layout-buttons.test.tsx
diff --git a/app/soapbox/features/groups/components/discover/__tests__/tag-list-item.test.tsx b/src/features/groups/components/discover/__tests__/tag-list-item.test.tsx
similarity index 100%
rename from app/soapbox/features/groups/components/discover/__tests__/tag-list-item.test.tsx
rename to src/features/groups/components/discover/__tests__/tag-list-item.test.tsx
diff --git a/app/soapbox/features/groups/components/discover/group-grid-item.tsx b/src/features/groups/components/discover/group-grid-item.tsx
similarity index 100%
rename from app/soapbox/features/groups/components/discover/group-grid-item.tsx
rename to src/features/groups/components/discover/group-grid-item.tsx
diff --git a/app/soapbox/features/groups/components/discover/group-list-item.tsx b/src/features/groups/components/discover/group-list-item.tsx
similarity index 100%
rename from app/soapbox/features/groups/components/discover/group-list-item.tsx
rename to src/features/groups/components/discover/group-list-item.tsx
diff --git a/app/soapbox/features/groups/components/discover/layout-buttons.tsx b/src/features/groups/components/discover/layout-buttons.tsx
similarity index 100%
rename from app/soapbox/features/groups/components/discover/layout-buttons.tsx
rename to src/features/groups/components/discover/layout-buttons.tsx
diff --git a/app/soapbox/features/groups/components/discover/popular-groups.tsx b/src/features/groups/components/discover/popular-groups.tsx
similarity index 100%
rename from app/soapbox/features/groups/components/discover/popular-groups.tsx
rename to src/features/groups/components/discover/popular-groups.tsx
diff --git a/app/soapbox/features/groups/components/discover/popular-tags.tsx b/src/features/groups/components/discover/popular-tags.tsx
similarity index 100%
rename from app/soapbox/features/groups/components/discover/popular-tags.tsx
rename to src/features/groups/components/discover/popular-tags.tsx
diff --git a/app/soapbox/features/groups/components/discover/search/__tests__/blankslate.test.tsx b/src/features/groups/components/discover/search/__tests__/blankslate.test.tsx
similarity index 100%
rename from app/soapbox/features/groups/components/discover/search/__tests__/blankslate.test.tsx
rename to src/features/groups/components/discover/search/__tests__/blankslate.test.tsx
diff --git a/app/soapbox/features/groups/components/discover/search/__tests__/recent-searches.test.tsx b/src/features/groups/components/discover/search/__tests__/recent-searches.test.tsx
similarity index 100%
rename from app/soapbox/features/groups/components/discover/search/__tests__/recent-searches.test.tsx
rename to src/features/groups/components/discover/search/__tests__/recent-searches.test.tsx
diff --git a/app/soapbox/features/groups/components/discover/search/__tests__/results.test.tsx b/src/features/groups/components/discover/search/__tests__/results.test.tsx
similarity index 100%
rename from app/soapbox/features/groups/components/discover/search/__tests__/results.test.tsx
rename to src/features/groups/components/discover/search/__tests__/results.test.tsx
diff --git a/app/soapbox/features/groups/components/discover/search/__tests__/search.test.tsx b/src/features/groups/components/discover/search/__tests__/search.test.tsx
similarity index 100%
rename from app/soapbox/features/groups/components/discover/search/__tests__/search.test.tsx
rename to src/features/groups/components/discover/search/__tests__/search.test.tsx
diff --git a/app/soapbox/features/groups/components/discover/search/blankslate.tsx b/src/features/groups/components/discover/search/blankslate.tsx
similarity index 100%
rename from app/soapbox/features/groups/components/discover/search/blankslate.tsx
rename to src/features/groups/components/discover/search/blankslate.tsx
diff --git a/app/soapbox/features/groups/components/discover/search/recent-searches.tsx b/src/features/groups/components/discover/search/recent-searches.tsx
similarity index 100%
rename from app/soapbox/features/groups/components/discover/search/recent-searches.tsx
rename to src/features/groups/components/discover/search/recent-searches.tsx
diff --git a/app/soapbox/features/groups/components/discover/search/results.tsx b/src/features/groups/components/discover/search/results.tsx
similarity index 100%
rename from app/soapbox/features/groups/components/discover/search/results.tsx
rename to src/features/groups/components/discover/search/results.tsx
diff --git a/app/soapbox/features/groups/components/discover/search/search.tsx b/src/features/groups/components/discover/search/search.tsx
similarity index 100%
rename from app/soapbox/features/groups/components/discover/search/search.tsx
rename to src/features/groups/components/discover/search/search.tsx
diff --git a/app/soapbox/features/groups/components/discover/suggested-groups.tsx b/src/features/groups/components/discover/suggested-groups.tsx
similarity index 100%
rename from app/soapbox/features/groups/components/discover/suggested-groups.tsx
rename to src/features/groups/components/discover/suggested-groups.tsx
diff --git a/app/soapbox/features/groups/components/discover/tag-list-item.tsx b/src/features/groups/components/discover/tag-list-item.tsx
similarity index 100%
rename from app/soapbox/features/groups/components/discover/tag-list-item.tsx
rename to src/features/groups/components/discover/tag-list-item.tsx
diff --git a/app/soapbox/features/groups/components/group-link-preview.tsx b/src/features/groups/components/group-link-preview.tsx
similarity index 100%
rename from app/soapbox/features/groups/components/group-link-preview.tsx
rename to src/features/groups/components/group-link-preview.tsx
diff --git a/app/soapbox/features/groups/components/pending-groups-row.tsx b/src/features/groups/components/pending-groups-row.tsx
similarity index 100%
rename from app/soapbox/features/groups/components/pending-groups-row.tsx
rename to src/features/groups/components/pending-groups-row.tsx
diff --git a/app/soapbox/features/groups/components/tab-bar.tsx b/src/features/groups/components/tab-bar.tsx
similarity index 100%
rename from app/soapbox/features/groups/components/tab-bar.tsx
rename to src/features/groups/components/tab-bar.tsx
diff --git a/app/soapbox/features/groups/discover.tsx b/src/features/groups/discover.tsx
similarity index 100%
rename from app/soapbox/features/groups/discover.tsx
rename to src/features/groups/discover.tsx
diff --git a/app/soapbox/features/groups/index.tsx b/src/features/groups/index.tsx
similarity index 100%
rename from app/soapbox/features/groups/index.tsx
rename to src/features/groups/index.tsx
diff --git a/app/soapbox/features/groups/pending-requests.tsx b/src/features/groups/pending-requests.tsx
similarity index 100%
rename from app/soapbox/features/groups/pending-requests.tsx
rename to src/features/groups/pending-requests.tsx
diff --git a/app/soapbox/features/groups/popular.tsx b/src/features/groups/popular.tsx
similarity index 100%
rename from app/soapbox/features/groups/popular.tsx
rename to src/features/groups/popular.tsx
diff --git a/app/soapbox/features/groups/suggested.tsx b/src/features/groups/suggested.tsx
similarity index 100%
rename from app/soapbox/features/groups/suggested.tsx
rename to src/features/groups/suggested.tsx
diff --git a/app/soapbox/features/groups/tag.tsx b/src/features/groups/tag.tsx
similarity index 100%
rename from app/soapbox/features/groups/tag.tsx
rename to src/features/groups/tag.tsx
diff --git a/app/soapbox/features/groups/tags.tsx b/src/features/groups/tags.tsx
similarity index 100%
rename from app/soapbox/features/groups/tags.tsx
rename to src/features/groups/tags.tsx
diff --git a/app/soapbox/features/hashtag-timeline/index.tsx b/src/features/hashtag-timeline/index.tsx
similarity index 100%
rename from app/soapbox/features/hashtag-timeline/index.tsx
rename to src/features/hashtag-timeline/index.tsx
diff --git a/app/soapbox/features/home-timeline/index.tsx b/src/features/home-timeline/index.tsx
similarity index 97%
rename from app/soapbox/features/home-timeline/index.tsx
rename to src/features/home-timeline/index.tsx
index 57c19b777..7f141ad6b 100644
--- a/app/soapbox/features/home-timeline/index.tsx
+++ b/src/features/home-timeline/index.tsx
@@ -4,14 +4,12 @@ import { Link } from 'react-router-dom';
import { fetchRelationships } from 'soapbox/actions/accounts';
import { fetchSuggestionsForTimeline } from 'soapbox/actions/suggestions';
-import { expandHomeTimeline } from 'soapbox/actions/timelines';
+import { expandHomeTimeline, clearFeedAccountId } from 'soapbox/actions/timelines';
import PullToRefresh from 'soapbox/components/pull-to-refresh';
import { Column, Stack, Text } from 'soapbox/components/ui';
import Timeline from 'soapbox/features/ui/components/timeline';
import { useAppSelector, useAppDispatch, useFeatures, useInstance } from 'soapbox/hooks';
-import { clearFeedAccountId } from '../../actions/timelines';
-
const messages = defineMessages({
title: { id: 'column.home', defaultMessage: 'Home' },
});
diff --git a/app/soapbox/features/import-data/components/csv-importer.tsx b/src/features/import-data/components/csv-importer.tsx
similarity index 100%
rename from app/soapbox/features/import-data/components/csv-importer.tsx
rename to src/features/import-data/components/csv-importer.tsx
diff --git a/app/soapbox/features/import-data/index.tsx b/src/features/import-data/index.tsx
similarity index 100%
rename from app/soapbox/features/import-data/index.tsx
rename to src/features/import-data/index.tsx
diff --git a/app/soapbox/features/intentional-error/index.tsx b/src/features/intentional-error/index.tsx
similarity index 100%
rename from app/soapbox/features/intentional-error/index.tsx
rename to src/features/intentional-error/index.tsx
diff --git a/app/soapbox/features/landing-page/__tests__/landing-page.test.tsx b/src/features/landing-page/__tests__/landing-page.test.tsx
similarity index 100%
rename from app/soapbox/features/landing-page/__tests__/landing-page.test.tsx
rename to src/features/landing-page/__tests__/landing-page.test.tsx
diff --git a/app/soapbox/features/landing-page/index.tsx b/src/features/landing-page/index.tsx
similarity index 100%
rename from app/soapbox/features/landing-page/index.tsx
rename to src/features/landing-page/index.tsx
diff --git a/app/soapbox/features/list-adder/components/list.tsx b/src/features/list-adder/components/list.tsx
similarity index 100%
rename from app/soapbox/features/list-adder/components/list.tsx
rename to src/features/list-adder/components/list.tsx
diff --git a/app/soapbox/features/list-adder/index.tsx b/src/features/list-adder/index.tsx
similarity index 100%
rename from app/soapbox/features/list-adder/index.tsx
rename to src/features/list-adder/index.tsx
diff --git a/app/soapbox/features/list-editor/components/account.tsx b/src/features/list-editor/components/account.tsx
similarity index 100%
rename from app/soapbox/features/list-editor/components/account.tsx
rename to src/features/list-editor/components/account.tsx
diff --git a/app/soapbox/features/list-editor/components/edit-list-form.tsx b/src/features/list-editor/components/edit-list-form.tsx
similarity index 100%
rename from app/soapbox/features/list-editor/components/edit-list-form.tsx
rename to src/features/list-editor/components/edit-list-form.tsx
diff --git a/app/soapbox/features/list-editor/components/search.tsx b/src/features/list-editor/components/search.tsx
similarity index 100%
rename from app/soapbox/features/list-editor/components/search.tsx
rename to src/features/list-editor/components/search.tsx
diff --git a/app/soapbox/features/list-editor/index.tsx b/src/features/list-editor/index.tsx
similarity index 100%
rename from app/soapbox/features/list-editor/index.tsx
rename to src/features/list-editor/index.tsx
diff --git a/app/soapbox/features/list-timeline/index.tsx b/src/features/list-timeline/index.tsx
similarity index 100%
rename from app/soapbox/features/list-timeline/index.tsx
rename to src/features/list-timeline/index.tsx
diff --git a/app/soapbox/features/lists/components/new-list-form.tsx b/src/features/lists/components/new-list-form.tsx
similarity index 100%
rename from app/soapbox/features/lists/components/new-list-form.tsx
rename to src/features/lists/components/new-list-form.tsx
diff --git a/app/soapbox/features/lists/index.tsx b/src/features/lists/index.tsx
similarity index 100%
rename from app/soapbox/features/lists/index.tsx
rename to src/features/lists/index.tsx
diff --git a/app/soapbox/features/migration/index.tsx b/src/features/migration/index.tsx
similarity index 100%
rename from app/soapbox/features/migration/index.tsx
rename to src/features/migration/index.tsx
diff --git a/app/soapbox/features/mutes/components/group-list-item.tsx b/src/features/mutes/components/group-list-item.tsx
similarity index 100%
rename from app/soapbox/features/mutes/components/group-list-item.tsx
rename to src/features/mutes/components/group-list-item.tsx
diff --git a/app/soapbox/features/mutes/index.tsx b/src/features/mutes/index.tsx
similarity index 100%
rename from app/soapbox/features/mutes/index.tsx
rename to src/features/mutes/index.tsx
diff --git a/app/soapbox/features/new-status/index.tsx b/src/features/new-status/index.tsx
similarity index 100%
rename from app/soapbox/features/new-status/index.tsx
rename to src/features/new-status/index.tsx
diff --git a/app/soapbox/features/notifications/components/__tests__/notification.test.tsx b/src/features/notifications/components/__tests__/notification.test.tsx
similarity index 100%
rename from app/soapbox/features/notifications/components/__tests__/notification.test.tsx
rename to src/features/notifications/components/__tests__/notification.test.tsx
diff --git a/app/soapbox/features/notifications/components/filter-bar.tsx b/src/features/notifications/components/filter-bar.tsx
similarity index 100%
rename from app/soapbox/features/notifications/components/filter-bar.tsx
rename to src/features/notifications/components/filter-bar.tsx
diff --git a/app/soapbox/features/notifications/components/notification.tsx b/src/features/notifications/components/notification.tsx
similarity index 100%
rename from app/soapbox/features/notifications/components/notification.tsx
rename to src/features/notifications/components/notification.tsx
diff --git a/app/soapbox/features/notifications/components/setting-toggle.tsx b/src/features/notifications/components/setting-toggle.tsx
similarity index 100%
rename from app/soapbox/features/notifications/components/setting-toggle.tsx
rename to src/features/notifications/components/setting-toggle.tsx
diff --git a/app/soapbox/features/notifications/index.tsx b/src/features/notifications/index.tsx
similarity index 100%
rename from app/soapbox/features/notifications/index.tsx
rename to src/features/notifications/index.tsx
diff --git a/app/soapbox/features/onboarding/onboarding-wizard.tsx b/src/features/onboarding/onboarding-wizard.tsx
similarity index 100%
rename from app/soapbox/features/onboarding/onboarding-wizard.tsx
rename to src/features/onboarding/onboarding-wizard.tsx
diff --git a/app/soapbox/features/onboarding/steps/avatar-selection-step.tsx b/src/features/onboarding/steps/avatar-selection-step.tsx
similarity index 100%
rename from app/soapbox/features/onboarding/steps/avatar-selection-step.tsx
rename to src/features/onboarding/steps/avatar-selection-step.tsx
diff --git a/app/soapbox/features/onboarding/steps/bio-step.tsx b/src/features/onboarding/steps/bio-step.tsx
similarity index 100%
rename from app/soapbox/features/onboarding/steps/bio-step.tsx
rename to src/features/onboarding/steps/bio-step.tsx
diff --git a/app/soapbox/features/onboarding/steps/completed-step.tsx b/src/features/onboarding/steps/completed-step.tsx
similarity index 100%
rename from app/soapbox/features/onboarding/steps/completed-step.tsx
rename to src/features/onboarding/steps/completed-step.tsx
diff --git a/app/soapbox/features/onboarding/steps/cover-photo-selection-step.tsx b/src/features/onboarding/steps/cover-photo-selection-step.tsx
similarity index 100%
rename from app/soapbox/features/onboarding/steps/cover-photo-selection-step.tsx
rename to src/features/onboarding/steps/cover-photo-selection-step.tsx
diff --git a/app/soapbox/features/onboarding/steps/display-name-step.tsx b/src/features/onboarding/steps/display-name-step.tsx
similarity index 100%
rename from app/soapbox/features/onboarding/steps/display-name-step.tsx
rename to src/features/onboarding/steps/display-name-step.tsx
diff --git a/app/soapbox/features/onboarding/steps/fediverse-step.tsx b/src/features/onboarding/steps/fediverse-step.tsx
similarity index 100%
rename from app/soapbox/features/onboarding/steps/fediverse-step.tsx
rename to src/features/onboarding/steps/fediverse-step.tsx
diff --git a/app/soapbox/features/onboarding/steps/suggested-accounts-step.tsx b/src/features/onboarding/steps/suggested-accounts-step.tsx
similarity index 100%
rename from app/soapbox/features/onboarding/steps/suggested-accounts-step.tsx
rename to src/features/onboarding/steps/suggested-accounts-step.tsx
diff --git a/app/soapbox/features/pinned-statuses/index.tsx b/src/features/pinned-statuses/index.tsx
similarity index 100%
rename from app/soapbox/features/pinned-statuses/index.tsx
rename to src/features/pinned-statuses/index.tsx
diff --git a/app/soapbox/features/placeholder/components/placeholder-account.tsx b/src/features/placeholder/components/placeholder-account.tsx
similarity index 100%
rename from app/soapbox/features/placeholder/components/placeholder-account.tsx
rename to src/features/placeholder/components/placeholder-account.tsx
diff --git a/app/soapbox/features/placeholder/components/placeholder-avatar.tsx b/src/features/placeholder/components/placeholder-avatar.tsx
similarity index 100%
rename from app/soapbox/features/placeholder/components/placeholder-avatar.tsx
rename to src/features/placeholder/components/placeholder-avatar.tsx
diff --git a/app/soapbox/features/placeholder/components/placeholder-card.tsx b/src/features/placeholder/components/placeholder-card.tsx
similarity index 100%
rename from app/soapbox/features/placeholder/components/placeholder-card.tsx
rename to src/features/placeholder/components/placeholder-card.tsx
diff --git a/app/soapbox/features/placeholder/components/placeholder-chat-message.tsx b/src/features/placeholder/components/placeholder-chat-message.tsx
similarity index 100%
rename from app/soapbox/features/placeholder/components/placeholder-chat-message.tsx
rename to src/features/placeholder/components/placeholder-chat-message.tsx
diff --git a/app/soapbox/features/placeholder/components/placeholder-chat.tsx b/src/features/placeholder/components/placeholder-chat.tsx
similarity index 100%
rename from app/soapbox/features/placeholder/components/placeholder-chat.tsx
rename to src/features/placeholder/components/placeholder-chat.tsx
diff --git a/app/soapbox/features/placeholder/components/placeholder-display-name.tsx b/src/features/placeholder/components/placeholder-display-name.tsx
similarity index 100%
rename from app/soapbox/features/placeholder/components/placeholder-display-name.tsx
rename to src/features/placeholder/components/placeholder-display-name.tsx
diff --git a/app/soapbox/features/placeholder/components/placeholder-event-header.tsx b/src/features/placeholder/components/placeholder-event-header.tsx
similarity index 100%
rename from app/soapbox/features/placeholder/components/placeholder-event-header.tsx
rename to src/features/placeholder/components/placeholder-event-header.tsx
diff --git a/app/soapbox/features/placeholder/components/placeholder-event-preview.tsx b/src/features/placeholder/components/placeholder-event-preview.tsx
similarity index 100%
rename from app/soapbox/features/placeholder/components/placeholder-event-preview.tsx
rename to src/features/placeholder/components/placeholder-event-preview.tsx
diff --git a/app/soapbox/features/placeholder/components/placeholder-group-card.tsx b/src/features/placeholder/components/placeholder-group-card.tsx
similarity index 100%
rename from app/soapbox/features/placeholder/components/placeholder-group-card.tsx
rename to src/features/placeholder/components/placeholder-group-card.tsx
diff --git a/app/soapbox/features/placeholder/components/placeholder-group-discover.tsx b/src/features/placeholder/components/placeholder-group-discover.tsx
similarity index 100%
rename from app/soapbox/features/placeholder/components/placeholder-group-discover.tsx
rename to src/features/placeholder/components/placeholder-group-discover.tsx
diff --git a/app/soapbox/features/placeholder/components/placeholder-group-search.tsx b/src/features/placeholder/components/placeholder-group-search.tsx
similarity index 100%
rename from app/soapbox/features/placeholder/components/placeholder-group-search.tsx
rename to src/features/placeholder/components/placeholder-group-search.tsx
diff --git a/app/soapbox/features/placeholder/components/placeholder-hashtag.tsx b/src/features/placeholder/components/placeholder-hashtag.tsx
similarity index 100%
rename from app/soapbox/features/placeholder/components/placeholder-hashtag.tsx
rename to src/features/placeholder/components/placeholder-hashtag.tsx
diff --git a/app/soapbox/features/placeholder/components/placeholder-material-status.tsx b/src/features/placeholder/components/placeholder-material-status.tsx
similarity index 100%
rename from app/soapbox/features/placeholder/components/placeholder-material-status.tsx
rename to src/features/placeholder/components/placeholder-material-status.tsx
diff --git a/app/soapbox/features/placeholder/components/placeholder-media-gallery.tsx b/src/features/placeholder/components/placeholder-media-gallery.tsx
similarity index 100%
rename from app/soapbox/features/placeholder/components/placeholder-media-gallery.tsx
rename to src/features/placeholder/components/placeholder-media-gallery.tsx
diff --git a/app/soapbox/features/placeholder/components/placeholder-notification.tsx b/src/features/placeholder/components/placeholder-notification.tsx
similarity index 100%
rename from app/soapbox/features/placeholder/components/placeholder-notification.tsx
rename to src/features/placeholder/components/placeholder-notification.tsx
diff --git a/app/soapbox/features/placeholder/components/placeholder-sidebar-suggestions.tsx b/src/features/placeholder/components/placeholder-sidebar-suggestions.tsx
similarity index 100%
rename from app/soapbox/features/placeholder/components/placeholder-sidebar-suggestions.tsx
rename to src/features/placeholder/components/placeholder-sidebar-suggestions.tsx
diff --git a/app/soapbox/features/placeholder/components/placeholder-sidebar-trends.tsx b/src/features/placeholder/components/placeholder-sidebar-trends.tsx
similarity index 100%
rename from app/soapbox/features/placeholder/components/placeholder-sidebar-trends.tsx
rename to src/features/placeholder/components/placeholder-sidebar-trends.tsx
diff --git a/app/soapbox/features/placeholder/components/placeholder-status-content.tsx b/src/features/placeholder/components/placeholder-status-content.tsx
similarity index 100%
rename from app/soapbox/features/placeholder/components/placeholder-status-content.tsx
rename to src/features/placeholder/components/placeholder-status-content.tsx
diff --git a/app/soapbox/features/placeholder/components/placeholder-status.tsx b/src/features/placeholder/components/placeholder-status.tsx
similarity index 100%
rename from app/soapbox/features/placeholder/components/placeholder-status.tsx
rename to src/features/placeholder/components/placeholder-status.tsx
diff --git a/app/soapbox/features/placeholder/utils.ts b/src/features/placeholder/utils.ts
similarity index 100%
rename from app/soapbox/features/placeholder/utils.ts
rename to src/features/placeholder/utils.ts
diff --git a/app/soapbox/features/preferences/index.tsx b/src/features/preferences/index.tsx
similarity index 100%
rename from app/soapbox/features/preferences/index.tsx
rename to src/features/preferences/index.tsx
diff --git a/app/soapbox/features/public-layout/components/__tests__/header.test.tsx b/src/features/public-layout/components/__tests__/header.test.tsx
similarity index 100%
rename from app/soapbox/features/public-layout/components/__tests__/header.test.tsx
rename to src/features/public-layout/components/__tests__/header.test.tsx
diff --git a/app/soapbox/features/public-layout/components/footer.tsx b/src/features/public-layout/components/footer.tsx
similarity index 100%
rename from app/soapbox/features/public-layout/components/footer.tsx
rename to src/features/public-layout/components/footer.tsx
diff --git a/app/soapbox/features/public-layout/components/header.tsx b/src/features/public-layout/components/header.tsx
similarity index 100%
rename from app/soapbox/features/public-layout/components/header.tsx
rename to src/features/public-layout/components/header.tsx
diff --git a/app/soapbox/features/public-layout/components/sonar.tsx b/src/features/public-layout/components/sonar.tsx
similarity index 100%
rename from app/soapbox/features/public-layout/components/sonar.tsx
rename to src/features/public-layout/components/sonar.tsx
diff --git a/app/soapbox/features/public-layout/index.tsx b/src/features/public-layout/index.tsx
similarity index 100%
rename from app/soapbox/features/public-layout/index.tsx
rename to src/features/public-layout/index.tsx
diff --git a/app/soapbox/features/public-timeline/index.tsx b/src/features/public-timeline/index.tsx
similarity index 100%
rename from app/soapbox/features/public-timeline/index.tsx
rename to src/features/public-timeline/index.tsx
diff --git a/app/soapbox/features/quotes/index.tsx b/src/features/quotes/index.tsx
similarity index 100%
rename from app/soapbox/features/quotes/index.tsx
rename to src/features/quotes/index.tsx
diff --git a/app/soapbox/features/register-invite/index.tsx b/src/features/register-invite/index.tsx
similarity index 100%
rename from app/soapbox/features/register-invite/index.tsx
rename to src/features/register-invite/index.tsx
diff --git a/app/soapbox/features/remote-timeline/components/pinned-hosts-picker.tsx b/src/features/remote-timeline/components/pinned-hosts-picker.tsx
similarity index 100%
rename from app/soapbox/features/remote-timeline/components/pinned-hosts-picker.tsx
rename to src/features/remote-timeline/components/pinned-hosts-picker.tsx
diff --git a/app/soapbox/features/remote-timeline/index.tsx b/src/features/remote-timeline/index.tsx
similarity index 100%
rename from app/soapbox/features/remote-timeline/index.tsx
rename to src/features/remote-timeline/index.tsx
diff --git a/app/soapbox/features/reply-mentions/account.tsx b/src/features/reply-mentions/account.tsx
similarity index 100%
rename from app/soapbox/features/reply-mentions/account.tsx
rename to src/features/reply-mentions/account.tsx
diff --git a/app/soapbox/features/report/components/status-check-box.tsx b/src/features/report/components/status-check-box.tsx
similarity index 100%
rename from app/soapbox/features/report/components/status-check-box.tsx
rename to src/features/report/components/status-check-box.tsx
diff --git a/app/soapbox/features/scheduled-statuses/builder.tsx b/src/features/scheduled-statuses/builder.tsx
similarity index 100%
rename from app/soapbox/features/scheduled-statuses/builder.tsx
rename to src/features/scheduled-statuses/builder.tsx
diff --git a/app/soapbox/features/scheduled-statuses/components/scheduled-status-action-bar.tsx b/src/features/scheduled-statuses/components/scheduled-status-action-bar.tsx
similarity index 100%
rename from app/soapbox/features/scheduled-statuses/components/scheduled-status-action-bar.tsx
rename to src/features/scheduled-statuses/components/scheduled-status-action-bar.tsx
diff --git a/app/soapbox/features/scheduled-statuses/components/scheduled-status.tsx b/src/features/scheduled-statuses/components/scheduled-status.tsx
similarity index 100%
rename from app/soapbox/features/scheduled-statuses/components/scheduled-status.tsx
rename to src/features/scheduled-statuses/components/scheduled-status.tsx
diff --git a/app/soapbox/features/scheduled-statuses/index.tsx b/src/features/scheduled-statuses/index.tsx
similarity index 100%
rename from app/soapbox/features/scheduled-statuses/index.tsx
rename to src/features/scheduled-statuses/index.tsx
diff --git a/app/soapbox/features/search/index.tsx b/src/features/search/index.tsx
similarity index 100%
rename from app/soapbox/features/search/index.tsx
rename to src/features/search/index.tsx
diff --git a/app/soapbox/features/security/mfa-form.tsx b/src/features/security/mfa-form.tsx
similarity index 100%
rename from app/soapbox/features/security/mfa-form.tsx
rename to src/features/security/mfa-form.tsx
diff --git a/app/soapbox/features/security/mfa/disable-otp-form.tsx b/src/features/security/mfa/disable-otp-form.tsx
similarity index 100%
rename from app/soapbox/features/security/mfa/disable-otp-form.tsx
rename to src/features/security/mfa/disable-otp-form.tsx
diff --git a/app/soapbox/features/security/mfa/enable-otp-form.tsx b/src/features/security/mfa/enable-otp-form.tsx
similarity index 100%
rename from app/soapbox/features/security/mfa/enable-otp-form.tsx
rename to src/features/security/mfa/enable-otp-form.tsx
diff --git a/app/soapbox/features/security/mfa/otp-confirm-form.tsx b/src/features/security/mfa/otp-confirm-form.tsx
similarity index 100%
rename from app/soapbox/features/security/mfa/otp-confirm-form.tsx
rename to src/features/security/mfa/otp-confirm-form.tsx
diff --git a/app/soapbox/features/server-info/index.tsx b/src/features/server-info/index.tsx
similarity index 100%
rename from app/soapbox/features/server-info/index.tsx
rename to src/features/server-info/index.tsx
diff --git a/app/soapbox/features/settings/components/messages-settings.tsx b/src/features/settings/components/messages-settings.tsx
similarity index 100%
rename from app/soapbox/features/settings/components/messages-settings.tsx
rename to src/features/settings/components/messages-settings.tsx
diff --git a/app/soapbox/features/settings/index.tsx b/src/features/settings/index.tsx
similarity index 100%
rename from app/soapbox/features/settings/index.tsx
rename to src/features/settings/index.tsx
diff --git a/app/soapbox/features/share/index.tsx b/src/features/share/index.tsx
similarity index 100%
rename from app/soapbox/features/share/index.tsx
rename to src/features/share/index.tsx
diff --git a/app/soapbox/features/soapbox-config/components/color-picker.tsx b/src/features/soapbox-config/components/color-picker.tsx
similarity index 100%
rename from app/soapbox/features/soapbox-config/components/color-picker.tsx
rename to src/features/soapbox-config/components/color-picker.tsx
diff --git a/app/soapbox/features/soapbox-config/components/color-with-picker.tsx b/src/features/soapbox-config/components/color-with-picker.tsx
similarity index 100%
rename from app/soapbox/features/soapbox-config/components/color-with-picker.tsx
rename to src/features/soapbox-config/components/color-with-picker.tsx
diff --git a/app/soapbox/features/soapbox-config/components/crypto-address-input.tsx b/src/features/soapbox-config/components/crypto-address-input.tsx
similarity index 100%
rename from app/soapbox/features/soapbox-config/components/crypto-address-input.tsx
rename to src/features/soapbox-config/components/crypto-address-input.tsx
diff --git a/app/soapbox/features/soapbox-config/components/footer-link-input.tsx b/src/features/soapbox-config/components/footer-link-input.tsx
similarity index 100%
rename from app/soapbox/features/soapbox-config/components/footer-link-input.tsx
rename to src/features/soapbox-config/components/footer-link-input.tsx
diff --git a/app/soapbox/features/soapbox-config/components/icon-picker-dropdown.tsx b/src/features/soapbox-config/components/icon-picker-dropdown.tsx
similarity index 100%
rename from app/soapbox/features/soapbox-config/components/icon-picker-dropdown.tsx
rename to src/features/soapbox-config/components/icon-picker-dropdown.tsx
diff --git a/app/soapbox/features/soapbox-config/components/icon-picker-menu.tsx b/src/features/soapbox-config/components/icon-picker-menu.tsx
similarity index 100%
rename from app/soapbox/features/soapbox-config/components/icon-picker-menu.tsx
rename to src/features/soapbox-config/components/icon-picker-menu.tsx
diff --git a/app/soapbox/features/soapbox-config/components/icon-picker.tsx b/src/features/soapbox-config/components/icon-picker.tsx
similarity index 100%
rename from app/soapbox/features/soapbox-config/components/icon-picker.tsx
rename to src/features/soapbox-config/components/icon-picker.tsx
diff --git a/app/soapbox/features/soapbox-config/components/promo-panel-input.tsx b/src/features/soapbox-config/components/promo-panel-input.tsx
similarity index 100%
rename from app/soapbox/features/soapbox-config/components/promo-panel-input.tsx
rename to src/features/soapbox-config/components/promo-panel-input.tsx
diff --git a/app/soapbox/features/soapbox-config/components/site-preview.tsx b/src/features/soapbox-config/components/site-preview.tsx
similarity index 100%
rename from app/soapbox/features/soapbox-config/components/site-preview.tsx
rename to src/features/soapbox-config/components/site-preview.tsx
diff --git a/app/soapbox/features/soapbox-config/forkawesome.json b/src/features/soapbox-config/forkawesome.json
similarity index 100%
rename from app/soapbox/features/soapbox-config/forkawesome.json
rename to src/features/soapbox-config/forkawesome.json
diff --git a/app/soapbox/features/soapbox-config/index.tsx b/src/features/soapbox-config/index.tsx
similarity index 100%
rename from app/soapbox/features/soapbox-config/index.tsx
rename to src/features/soapbox-config/index.tsx
diff --git a/app/soapbox/features/status/components/card.tsx b/src/features/status/components/card.tsx
similarity index 100%
rename from app/soapbox/features/status/components/card.tsx
rename to src/features/status/components/card.tsx
diff --git a/app/soapbox/features/status/components/detailed-status.tsx b/src/features/status/components/detailed-status.tsx
similarity index 100%
rename from app/soapbox/features/status/components/detailed-status.tsx
rename to src/features/status/components/detailed-status.tsx
diff --git a/app/soapbox/features/status/components/status-interaction-bar.tsx b/src/features/status/components/status-interaction-bar.tsx
similarity index 100%
rename from app/soapbox/features/status/components/status-interaction-bar.tsx
rename to src/features/status/components/status-interaction-bar.tsx
diff --git a/app/soapbox/features/status/components/thread-login-cta.tsx b/src/features/status/components/thread-login-cta.tsx
similarity index 100%
rename from app/soapbox/features/status/components/thread-login-cta.tsx
rename to src/features/status/components/thread-login-cta.tsx
diff --git a/app/soapbox/features/status/components/thread-status.tsx b/src/features/status/components/thread-status.tsx
similarity index 100%
rename from app/soapbox/features/status/components/thread-status.tsx
rename to src/features/status/components/thread-status.tsx
diff --git a/app/soapbox/features/status/components/thread.tsx b/src/features/status/components/thread.tsx
similarity index 100%
rename from app/soapbox/features/status/components/thread.tsx
rename to src/features/status/components/thread.tsx
diff --git a/app/soapbox/features/status/containers/quoted-status-container.tsx b/src/features/status/containers/quoted-status-container.tsx
similarity index 100%
rename from app/soapbox/features/status/containers/quoted-status-container.tsx
rename to src/features/status/containers/quoted-status-container.tsx
diff --git a/app/soapbox/features/status/index.tsx b/src/features/status/index.tsx
similarity index 100%
rename from app/soapbox/features/status/index.tsx
rename to src/features/status/index.tsx
diff --git a/app/soapbox/features/test-timeline/index.tsx b/src/features/test-timeline/index.tsx
similarity index 100%
rename from app/soapbox/features/test-timeline/index.tsx
rename to src/features/test-timeline/index.tsx
diff --git a/app/soapbox/features/theme-editor/components/color.tsx b/src/features/theme-editor/components/color.tsx
similarity index 100%
rename from app/soapbox/features/theme-editor/components/color.tsx
rename to src/features/theme-editor/components/color.tsx
diff --git a/app/soapbox/features/theme-editor/components/palette.tsx b/src/features/theme-editor/components/palette.tsx
similarity index 100%
rename from app/soapbox/features/theme-editor/components/palette.tsx
rename to src/features/theme-editor/components/palette.tsx
diff --git a/app/soapbox/features/theme-editor/index.tsx b/src/features/theme-editor/index.tsx
similarity index 100%
rename from app/soapbox/features/theme-editor/index.tsx
rename to src/features/theme-editor/index.tsx
diff --git a/app/soapbox/features/timeline-insertion/__tests__/abovefold.test.ts b/src/features/timeline-insertion/__tests__/abovefold.test.ts
similarity index 100%
rename from app/soapbox/features/timeline-insertion/__tests__/abovefold.test.ts
rename to src/features/timeline-insertion/__tests__/abovefold.test.ts
diff --git a/app/soapbox/features/timeline-insertion/__tests__/linear.test.ts b/src/features/timeline-insertion/__tests__/linear.test.ts
similarity index 100%
rename from app/soapbox/features/timeline-insertion/__tests__/linear.test.ts
rename to src/features/timeline-insertion/__tests__/linear.test.ts
diff --git a/app/soapbox/features/timeline-insertion/abovefold.ts b/src/features/timeline-insertion/abovefold.ts
similarity index 100%
rename from app/soapbox/features/timeline-insertion/abovefold.ts
rename to src/features/timeline-insertion/abovefold.ts
diff --git a/app/soapbox/features/timeline-insertion/index.ts b/src/features/timeline-insertion/index.ts
similarity index 100%
rename from app/soapbox/features/timeline-insertion/index.ts
rename to src/features/timeline-insertion/index.ts
diff --git a/app/soapbox/features/timeline-insertion/linear.ts b/src/features/timeline-insertion/linear.ts
similarity index 100%
rename from app/soapbox/features/timeline-insertion/linear.ts
rename to src/features/timeline-insertion/linear.ts
diff --git a/app/soapbox/features/timeline-insertion/types.ts b/src/features/timeline-insertion/types.ts
similarity index 100%
rename from app/soapbox/features/timeline-insertion/types.ts
rename to src/features/timeline-insertion/types.ts
diff --git a/app/soapbox/features/ui/components/__tests__/compose-button.test.tsx b/src/features/ui/components/__tests__/compose-button.test.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/__tests__/compose-button.test.tsx
rename to src/features/ui/components/__tests__/compose-button.test.tsx
diff --git a/app/soapbox/features/ui/components/__tests__/cta-banner.test.tsx b/src/features/ui/components/__tests__/cta-banner.test.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/__tests__/cta-banner.test.tsx
rename to src/features/ui/components/__tests__/cta-banner.test.tsx
diff --git a/app/soapbox/features/ui/components/__tests__/navbar.test.tsx b/src/features/ui/components/__tests__/navbar.test.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/__tests__/navbar.test.tsx
rename to src/features/ui/components/__tests__/navbar.test.tsx
diff --git a/app/soapbox/features/ui/components/__tests__/subscribe-button.test.tsx b/src/features/ui/components/__tests__/subscribe-button.test.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/__tests__/subscribe-button.test.tsx
rename to src/features/ui/components/__tests__/subscribe-button.test.tsx
diff --git a/app/soapbox/features/ui/components/__tests__/trends-panel.test.tsx b/src/features/ui/components/__tests__/trends-panel.test.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/__tests__/trends-panel.test.tsx
rename to src/features/ui/components/__tests__/trends-panel.test.tsx
diff --git a/app/soapbox/features/ui/components/action-button.tsx b/src/features/ui/components/action-button.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/action-button.tsx
rename to src/features/ui/components/action-button.tsx
diff --git a/app/soapbox/features/ui/components/background-shapes.tsx b/src/features/ui/components/background-shapes.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/background-shapes.tsx
rename to src/features/ui/components/background-shapes.tsx
diff --git a/app/soapbox/features/ui/components/bundle-column-error.tsx b/src/features/ui/components/bundle-column-error.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/bundle-column-error.tsx
rename to src/features/ui/components/bundle-column-error.tsx
diff --git a/app/soapbox/features/ui/components/bundle-modal-error.tsx b/src/features/ui/components/bundle-modal-error.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/bundle-modal-error.tsx
rename to src/features/ui/components/bundle-modal-error.tsx
diff --git a/app/soapbox/features/ui/components/bundle.tsx b/src/features/ui/components/bundle.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/bundle.tsx
rename to src/features/ui/components/bundle.tsx
diff --git a/app/soapbox/features/ui/components/column-forbidden.tsx b/src/features/ui/components/column-forbidden.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/column-forbidden.tsx
rename to src/features/ui/components/column-forbidden.tsx
diff --git a/app/soapbox/features/ui/components/column-loading.tsx b/src/features/ui/components/column-loading.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/column-loading.tsx
rename to src/features/ui/components/column-loading.tsx
diff --git a/app/soapbox/features/ui/components/columns-area.tsx b/src/features/ui/components/columns-area.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/columns-area.tsx
rename to src/features/ui/components/columns-area.tsx
diff --git a/app/soapbox/features/ui/components/compose-button.tsx b/src/features/ui/components/compose-button.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/compose-button.tsx
rename to src/features/ui/components/compose-button.tsx
diff --git a/app/soapbox/features/ui/components/cta-banner.tsx b/src/features/ui/components/cta-banner.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/cta-banner.tsx
rename to src/features/ui/components/cta-banner.tsx
diff --git a/app/soapbox/features/ui/components/floating-action-button.tsx b/src/features/ui/components/floating-action-button.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/floating-action-button.tsx
rename to src/features/ui/components/floating-action-button.tsx
diff --git a/app/soapbox/features/ui/components/funding-panel.tsx b/src/features/ui/components/funding-panel.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/funding-panel.tsx
rename to src/features/ui/components/funding-panel.tsx
diff --git a/app/soapbox/features/ui/components/group-media-panel.tsx b/src/features/ui/components/group-media-panel.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/group-media-panel.tsx
rename to src/features/ui/components/group-media-panel.tsx
diff --git a/app/soapbox/features/ui/components/hotkeys.tsx b/src/features/ui/components/hotkeys.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/hotkeys.tsx
rename to src/features/ui/components/hotkeys.tsx
diff --git a/app/soapbox/features/ui/components/image-loader.tsx b/src/features/ui/components/image-loader.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/image-loader.tsx
rename to src/features/ui/components/image-loader.tsx
diff --git a/app/soapbox/features/ui/components/instance-info-panel.tsx b/src/features/ui/components/instance-info-panel.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/instance-info-panel.tsx
rename to src/features/ui/components/instance-info-panel.tsx
diff --git a/app/soapbox/features/ui/components/instance-moderation-panel.tsx b/src/features/ui/components/instance-moderation-panel.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/instance-moderation-panel.tsx
rename to src/features/ui/components/instance-moderation-panel.tsx
diff --git a/app/soapbox/features/ui/components/link-footer.tsx b/src/features/ui/components/link-footer.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/link-footer.tsx
rename to src/features/ui/components/link-footer.tsx
diff --git a/app/soapbox/features/ui/components/modal-loading.tsx b/src/features/ui/components/modal-loading.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modal-loading.tsx
rename to src/features/ui/components/modal-loading.tsx
diff --git a/app/soapbox/features/ui/components/modal-root.tsx b/src/features/ui/components/modal-root.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modal-root.tsx
rename to src/features/ui/components/modal-root.tsx
diff --git a/app/soapbox/features/ui/components/modals/__tests__/landing-page-modal.test.tsx b/src/features/ui/components/modals/__tests__/landing-page-modal.test.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/__tests__/landing-page-modal.test.tsx
rename to src/features/ui/components/modals/__tests__/landing-page-modal.test.tsx
diff --git a/app/soapbox/features/ui/components/modals/__tests__/unauthorized-modal.test.tsx b/src/features/ui/components/modals/__tests__/unauthorized-modal.test.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/__tests__/unauthorized-modal.test.tsx
rename to src/features/ui/components/modals/__tests__/unauthorized-modal.test.tsx
diff --git a/app/soapbox/features/ui/components/modals/account-moderation-modal/account-moderation-modal.tsx b/src/features/ui/components/modals/account-moderation-modal/account-moderation-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/account-moderation-modal/account-moderation-modal.tsx
rename to src/features/ui/components/modals/account-moderation-modal/account-moderation-modal.tsx
diff --git a/app/soapbox/features/ui/components/modals/account-moderation-modal/badge-input.tsx b/src/features/ui/components/modals/account-moderation-modal/badge-input.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/account-moderation-modal/badge-input.tsx
rename to src/features/ui/components/modals/account-moderation-modal/badge-input.tsx
diff --git a/app/soapbox/features/ui/components/modals/account-moderation-modal/staff-role-picker.tsx b/src/features/ui/components/modals/account-moderation-modal/staff-role-picker.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/account-moderation-modal/staff-role-picker.tsx
rename to src/features/ui/components/modals/account-moderation-modal/staff-role-picker.tsx
diff --git a/app/soapbox/features/ui/components/modals/actions-modal.tsx b/src/features/ui/components/modals/actions-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/actions-modal.tsx
rename to src/features/ui/components/modals/actions-modal.tsx
diff --git a/app/soapbox/features/ui/components/modals/birthdays-modal.tsx b/src/features/ui/components/modals/birthdays-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/birthdays-modal.tsx
rename to src/features/ui/components/modals/birthdays-modal.tsx
diff --git a/app/soapbox/features/ui/components/modals/boost-modal.tsx b/src/features/ui/components/modals/boost-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/boost-modal.tsx
rename to src/features/ui/components/modals/boost-modal.tsx
diff --git a/app/soapbox/features/ui/components/modals/compare-history-modal.tsx b/src/features/ui/components/modals/compare-history-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/compare-history-modal.tsx
rename to src/features/ui/components/modals/compare-history-modal.tsx
diff --git a/app/soapbox/features/ui/components/modals/component-modal.tsx b/src/features/ui/components/modals/component-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/component-modal.tsx
rename to src/features/ui/components/modals/component-modal.tsx
diff --git a/app/soapbox/features/ui/components/modals/compose-event-modal/compose-event-modal.tsx b/src/features/ui/components/modals/compose-event-modal/compose-event-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/compose-event-modal/compose-event-modal.tsx
rename to src/features/ui/components/modals/compose-event-modal/compose-event-modal.tsx
diff --git a/app/soapbox/features/ui/components/modals/compose-event-modal/upload-button.tsx b/src/features/ui/components/modals/compose-event-modal/upload-button.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/compose-event-modal/upload-button.tsx
rename to src/features/ui/components/modals/compose-event-modal/upload-button.tsx
diff --git a/app/soapbox/features/ui/components/modals/compose-modal.tsx b/src/features/ui/components/modals/compose-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/compose-modal.tsx
rename to src/features/ui/components/modals/compose-modal.tsx
diff --git a/app/soapbox/features/ui/components/modals/confirmation-modal.tsx b/src/features/ui/components/modals/confirmation-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/confirmation-modal.tsx
rename to src/features/ui/components/modals/confirmation-modal.tsx
diff --git a/app/soapbox/features/ui/components/modals/crypto-donate-modal.tsx b/src/features/ui/components/modals/crypto-donate-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/crypto-donate-modal.tsx
rename to src/features/ui/components/modals/crypto-donate-modal.tsx
diff --git a/app/soapbox/features/ui/components/modals/dislikes-modal.tsx b/src/features/ui/components/modals/dislikes-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/dislikes-modal.tsx
rename to src/features/ui/components/modals/dislikes-modal.tsx
diff --git a/app/soapbox/features/ui/components/modals/edit-announcement-modal.tsx b/src/features/ui/components/modals/edit-announcement-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/edit-announcement-modal.tsx
rename to src/features/ui/components/modals/edit-announcement-modal.tsx
diff --git a/app/soapbox/features/ui/components/modals/edit-federation-modal.tsx b/src/features/ui/components/modals/edit-federation-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/edit-federation-modal.tsx
rename to src/features/ui/components/modals/edit-federation-modal.tsx
diff --git a/app/soapbox/features/ui/components/modals/embed-modal.tsx b/src/features/ui/components/modals/embed-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/embed-modal.tsx
rename to src/features/ui/components/modals/embed-modal.tsx
diff --git a/app/soapbox/features/ui/components/modals/event-map-modal.tsx b/src/features/ui/components/modals/event-map-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/event-map-modal.tsx
rename to src/features/ui/components/modals/event-map-modal.tsx
diff --git a/app/soapbox/features/ui/components/modals/event-participants-modal.tsx b/src/features/ui/components/modals/event-participants-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/event-participants-modal.tsx
rename to src/features/ui/components/modals/event-participants-modal.tsx
diff --git a/app/soapbox/features/ui/components/modals/familiar-followers-modal.tsx b/src/features/ui/components/modals/familiar-followers-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/familiar-followers-modal.tsx
rename to src/features/ui/components/modals/familiar-followers-modal.tsx
diff --git a/app/soapbox/features/ui/components/modals/favourites-modal.tsx b/src/features/ui/components/modals/favourites-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/favourites-modal.tsx
rename to src/features/ui/components/modals/favourites-modal.tsx
diff --git a/app/soapbox/features/ui/components/modals/hotkeys-modal.tsx b/src/features/ui/components/modals/hotkeys-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/hotkeys-modal.tsx
rename to src/features/ui/components/modals/hotkeys-modal.tsx
diff --git a/app/soapbox/features/ui/components/modals/join-event-modal.tsx b/src/features/ui/components/modals/join-event-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/join-event-modal.tsx
rename to src/features/ui/components/modals/join-event-modal.tsx
diff --git a/app/soapbox/features/ui/components/modals/landing-page-modal.tsx b/src/features/ui/components/modals/landing-page-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/landing-page-modal.tsx
rename to src/features/ui/components/modals/landing-page-modal.tsx
diff --git a/app/soapbox/features/ui/components/modals/manage-group-modal/create-group-modal.tsx b/src/features/ui/components/modals/manage-group-modal/create-group-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/manage-group-modal/create-group-modal.tsx
rename to src/features/ui/components/modals/manage-group-modal/create-group-modal.tsx
diff --git a/app/soapbox/features/ui/components/modals/manage-group-modal/steps/confirmation-step.tsx b/src/features/ui/components/modals/manage-group-modal/steps/confirmation-step.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/manage-group-modal/steps/confirmation-step.tsx
rename to src/features/ui/components/modals/manage-group-modal/steps/confirmation-step.tsx
diff --git a/app/soapbox/features/ui/components/modals/manage-group-modal/steps/details-step.tsx b/src/features/ui/components/modals/manage-group-modal/steps/details-step.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/manage-group-modal/steps/details-step.tsx
rename to src/features/ui/components/modals/manage-group-modal/steps/details-step.tsx
diff --git a/app/soapbox/features/ui/components/modals/manage-group-modal/steps/privacy-step.tsx b/src/features/ui/components/modals/manage-group-modal/steps/privacy-step.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/manage-group-modal/steps/privacy-step.tsx
rename to src/features/ui/components/modals/manage-group-modal/steps/privacy-step.tsx
diff --git a/app/soapbox/features/ui/components/modals/media-modal.tsx b/src/features/ui/components/modals/media-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/media-modal.tsx
rename to src/features/ui/components/modals/media-modal.tsx
diff --git a/app/soapbox/features/ui/components/modals/mentions-modal.tsx b/src/features/ui/components/modals/mentions-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/mentions-modal.tsx
rename to src/features/ui/components/modals/mentions-modal.tsx
diff --git a/app/soapbox/features/ui/components/modals/missing-description-modal.tsx b/src/features/ui/components/modals/missing-description-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/missing-description-modal.tsx
rename to src/features/ui/components/modals/missing-description-modal.tsx
diff --git a/app/soapbox/features/ui/components/modals/mute-modal.tsx b/src/features/ui/components/modals/mute-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/mute-modal.tsx
rename to src/features/ui/components/modals/mute-modal.tsx
diff --git a/app/soapbox/features/ui/components/modals/policy-modal.tsx b/src/features/ui/components/modals/policy-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/policy-modal.tsx
rename to src/features/ui/components/modals/policy-modal.tsx
diff --git a/app/soapbox/features/ui/components/modals/reactions-modal.tsx b/src/features/ui/components/modals/reactions-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/reactions-modal.tsx
rename to src/features/ui/components/modals/reactions-modal.tsx
diff --git a/app/soapbox/features/ui/components/modals/reblogs-modal.tsx b/src/features/ui/components/modals/reblogs-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/reblogs-modal.tsx
rename to src/features/ui/components/modals/reblogs-modal.tsx
diff --git a/app/soapbox/features/ui/components/modals/reply-mentions-modal.tsx b/src/features/ui/components/modals/reply-mentions-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/reply-mentions-modal.tsx
rename to src/features/ui/components/modals/reply-mentions-modal.tsx
diff --git a/app/soapbox/features/ui/components/modals/report-modal/__tests__/report-modal.test.tsx b/src/features/ui/components/modals/report-modal/__tests__/report-modal.test.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/report-modal/__tests__/report-modal.test.tsx
rename to src/features/ui/components/modals/report-modal/__tests__/report-modal.test.tsx
diff --git a/app/soapbox/features/ui/components/modals/report-modal/report-modal.tsx b/src/features/ui/components/modals/report-modal/report-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/report-modal/report-modal.tsx
rename to src/features/ui/components/modals/report-modal/report-modal.tsx
diff --git a/app/soapbox/features/ui/components/modals/report-modal/steps/confirmation-step.tsx b/src/features/ui/components/modals/report-modal/steps/confirmation-step.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/report-modal/steps/confirmation-step.tsx
rename to src/features/ui/components/modals/report-modal/steps/confirmation-step.tsx
diff --git a/app/soapbox/features/ui/components/modals/report-modal/steps/other-actions-step.tsx b/src/features/ui/components/modals/report-modal/steps/other-actions-step.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/report-modal/steps/other-actions-step.tsx
rename to src/features/ui/components/modals/report-modal/steps/other-actions-step.tsx
diff --git a/app/soapbox/features/ui/components/modals/report-modal/steps/reason-step.tsx b/src/features/ui/components/modals/report-modal/steps/reason-step.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/report-modal/steps/reason-step.tsx
rename to src/features/ui/components/modals/report-modal/steps/reason-step.tsx
diff --git a/app/soapbox/features/ui/components/modals/unauthorized-modal.tsx b/src/features/ui/components/modals/unauthorized-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/unauthorized-modal.tsx
rename to src/features/ui/components/modals/unauthorized-modal.tsx
diff --git a/app/soapbox/features/ui/components/modals/verify-sms-modal.tsx b/src/features/ui/components/modals/verify-sms-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/verify-sms-modal.tsx
rename to src/features/ui/components/modals/verify-sms-modal.tsx
diff --git a/app/soapbox/features/ui/components/modals/video-modal.tsx b/src/features/ui/components/modals/video-modal.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/modals/video-modal.tsx
rename to src/features/ui/components/modals/video-modal.tsx
diff --git a/app/soapbox/features/ui/components/navbar.tsx b/src/features/ui/components/navbar.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/navbar.tsx
rename to src/features/ui/components/navbar.tsx
diff --git a/app/soapbox/features/ui/components/panels/__tests__/sign-up-panel.test.tsx b/src/features/ui/components/panels/__tests__/sign-up-panel.test.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/panels/__tests__/sign-up-panel.test.tsx
rename to src/features/ui/components/panels/__tests__/sign-up-panel.test.tsx
diff --git a/app/soapbox/features/ui/components/panels/account-note-panel.tsx b/src/features/ui/components/panels/account-note-panel.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/panels/account-note-panel.tsx
rename to src/features/ui/components/panels/account-note-panel.tsx
diff --git a/app/soapbox/features/ui/components/panels/my-groups-panel.tsx b/src/features/ui/components/panels/my-groups-panel.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/panels/my-groups-panel.tsx
rename to src/features/ui/components/panels/my-groups-panel.tsx
diff --git a/app/soapbox/features/ui/components/panels/new-event-panel.tsx b/src/features/ui/components/panels/new-event-panel.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/panels/new-event-panel.tsx
rename to src/features/ui/components/panels/new-event-panel.tsx
diff --git a/app/soapbox/features/ui/components/panels/new-group-panel.tsx b/src/features/ui/components/panels/new-group-panel.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/panels/new-group-panel.tsx
rename to src/features/ui/components/panels/new-group-panel.tsx
diff --git a/app/soapbox/features/ui/components/panels/sign-up-panel.tsx b/src/features/ui/components/panels/sign-up-panel.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/panels/sign-up-panel.tsx
rename to src/features/ui/components/panels/sign-up-panel.tsx
diff --git a/app/soapbox/features/ui/components/panels/suggested-groups-panel.tsx b/src/features/ui/components/panels/suggested-groups-panel.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/panels/suggested-groups-panel.tsx
rename to src/features/ui/components/panels/suggested-groups-panel.tsx
diff --git a/app/soapbox/features/ui/components/pending-status.tsx b/src/features/ui/components/pending-status.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/pending-status.tsx
rename to src/features/ui/components/pending-status.tsx
diff --git a/app/soapbox/features/ui/components/pinned-accounts-panel.tsx b/src/features/ui/components/pinned-accounts-panel.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/pinned-accounts-panel.tsx
rename to src/features/ui/components/pinned-accounts-panel.tsx
diff --git a/app/soapbox/features/ui/components/poll-preview.tsx b/src/features/ui/components/poll-preview.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/poll-preview.tsx
rename to src/features/ui/components/poll-preview.tsx
diff --git a/app/soapbox/features/ui/components/profile-dropdown.tsx b/src/features/ui/components/profile-dropdown.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/profile-dropdown.tsx
rename to src/features/ui/components/profile-dropdown.tsx
diff --git a/app/soapbox/features/ui/components/profile-familiar-followers.tsx b/src/features/ui/components/profile-familiar-followers.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/profile-familiar-followers.tsx
rename to src/features/ui/components/profile-familiar-followers.tsx
diff --git a/app/soapbox/features/ui/components/profile-field.tsx b/src/features/ui/components/profile-field.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/profile-field.tsx
rename to src/features/ui/components/profile-field.tsx
diff --git a/app/soapbox/features/ui/components/profile-fields-panel.tsx b/src/features/ui/components/profile-fields-panel.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/profile-fields-panel.tsx
rename to src/features/ui/components/profile-fields-panel.tsx
diff --git a/app/soapbox/features/ui/components/profile-info-panel.tsx b/src/features/ui/components/profile-info-panel.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/profile-info-panel.tsx
rename to src/features/ui/components/profile-info-panel.tsx
diff --git a/app/soapbox/features/ui/components/profile-media-panel.tsx b/src/features/ui/components/profile-media-panel.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/profile-media-panel.tsx
rename to src/features/ui/components/profile-media-panel.tsx
diff --git a/app/soapbox/features/ui/components/profile-stats.tsx b/src/features/ui/components/profile-stats.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/profile-stats.tsx
rename to src/features/ui/components/profile-stats.tsx
diff --git a/app/soapbox/features/ui/components/promo-panel.tsx b/src/features/ui/components/promo-panel.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/promo-panel.tsx
rename to src/features/ui/components/promo-panel.tsx
diff --git a/app/soapbox/features/ui/components/subscription-button.tsx b/src/features/ui/components/subscription-button.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/subscription-button.tsx
rename to src/features/ui/components/subscription-button.tsx
diff --git a/app/soapbox/features/ui/components/theme-selector.tsx b/src/features/ui/components/theme-selector.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/theme-selector.tsx
rename to src/features/ui/components/theme-selector.tsx
diff --git a/app/soapbox/features/ui/components/theme-toggle.tsx b/src/features/ui/components/theme-toggle.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/theme-toggle.tsx
rename to src/features/ui/components/theme-toggle.tsx
diff --git a/app/soapbox/features/ui/components/timeline.tsx b/src/features/ui/components/timeline.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/timeline.tsx
rename to src/features/ui/components/timeline.tsx
diff --git a/app/soapbox/features/ui/components/trends-panel.tsx b/src/features/ui/components/trends-panel.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/trends-panel.tsx
rename to src/features/ui/components/trends-panel.tsx
diff --git a/app/soapbox/features/ui/components/user-panel.tsx b/src/features/ui/components/user-panel.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/user-panel.tsx
rename to src/features/ui/components/user-panel.tsx
diff --git a/app/soapbox/features/ui/components/who-to-follow-panel.tsx b/src/features/ui/components/who-to-follow-panel.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/who-to-follow-panel.tsx
rename to src/features/ui/components/who-to-follow-panel.tsx
diff --git a/app/soapbox/features/ui/components/zoomable-image.tsx b/src/features/ui/components/zoomable-image.tsx
similarity index 100%
rename from app/soapbox/features/ui/components/zoomable-image.tsx
rename to src/features/ui/components/zoomable-image.tsx
diff --git a/app/soapbox/features/ui/containers/bundle-container.tsx b/src/features/ui/containers/bundle-container.tsx
similarity index 100%
rename from app/soapbox/features/ui/containers/bundle-container.tsx
rename to src/features/ui/containers/bundle-container.tsx
diff --git a/app/soapbox/features/ui/containers/modal-container.ts b/src/features/ui/containers/modal-container.ts
similarity index 100%
rename from app/soapbox/features/ui/containers/modal-container.ts
rename to src/features/ui/containers/modal-container.ts
diff --git a/app/soapbox/features/ui/index.tsx b/src/features/ui/index.tsx
similarity index 100%
rename from app/soapbox/features/ui/index.tsx
rename to src/features/ui/index.tsx
diff --git a/app/soapbox/features/ui/util/async-components.ts b/src/features/ui/util/async-components.ts
similarity index 100%
rename from app/soapbox/features/ui/util/async-components.ts
rename to src/features/ui/util/async-components.ts
diff --git a/app/soapbox/features/ui/util/fullscreen.ts b/src/features/ui/util/fullscreen.ts
similarity index 100%
rename from app/soapbox/features/ui/util/fullscreen.ts
rename to src/features/ui/util/fullscreen.ts
diff --git a/app/soapbox/features/ui/util/global-hotkeys.tsx b/src/features/ui/util/global-hotkeys.tsx
similarity index 100%
rename from app/soapbox/features/ui/util/global-hotkeys.tsx
rename to src/features/ui/util/global-hotkeys.tsx
diff --git a/app/soapbox/features/ui/util/optional-motion.tsx b/src/features/ui/util/optional-motion.tsx
similarity index 100%
rename from app/soapbox/features/ui/util/optional-motion.tsx
rename to src/features/ui/util/optional-motion.tsx
diff --git a/app/soapbox/features/ui/util/pending-status-builder.ts b/src/features/ui/util/pending-status-builder.ts
similarity index 100%
rename from app/soapbox/features/ui/util/pending-status-builder.ts
rename to src/features/ui/util/pending-status-builder.ts
diff --git a/app/soapbox/features/ui/util/react-router-helpers.tsx b/src/features/ui/util/react-router-helpers.tsx
similarity index 100%
rename from app/soapbox/features/ui/util/react-router-helpers.tsx
rename to src/features/ui/util/react-router-helpers.tsx
diff --git a/app/soapbox/features/ui/util/reduced-motion.tsx b/src/features/ui/util/reduced-motion.tsx
similarity index 100%
rename from app/soapbox/features/ui/util/reduced-motion.tsx
rename to src/features/ui/util/reduced-motion.tsx
diff --git a/app/soapbox/features/verification/__tests__/index.test.tsx b/src/features/verification/__tests__/index.test.tsx
similarity index 100%
rename from app/soapbox/features/verification/__tests__/index.test.tsx
rename to src/features/verification/__tests__/index.test.tsx
diff --git a/app/soapbox/features/verification/__tests__/registration.test.tsx b/src/features/verification/__tests__/registration.test.tsx
similarity index 100%
rename from app/soapbox/features/verification/__tests__/registration.test.tsx
rename to src/features/verification/__tests__/registration.test.tsx
diff --git a/app/soapbox/features/verification/components/password-indicator.tsx b/src/features/verification/components/password-indicator.tsx
similarity index 100%
rename from app/soapbox/features/verification/components/password-indicator.tsx
rename to src/features/verification/components/password-indicator.tsx
diff --git a/app/soapbox/features/verification/email-passthru.tsx b/src/features/verification/email-passthru.tsx
similarity index 100%
rename from app/soapbox/features/verification/email-passthru.tsx
rename to src/features/verification/email-passthru.tsx
diff --git a/app/soapbox/features/verification/index.tsx b/src/features/verification/index.tsx
similarity index 100%
rename from app/soapbox/features/verification/index.tsx
rename to src/features/verification/index.tsx
diff --git a/app/soapbox/features/verification/registration.tsx b/src/features/verification/registration.tsx
similarity index 100%
rename from app/soapbox/features/verification/registration.tsx
rename to src/features/verification/registration.tsx
diff --git a/app/soapbox/features/verification/steps/__tests__/age-verification.test.tsx b/src/features/verification/steps/__tests__/age-verification.test.tsx
similarity index 100%
rename from app/soapbox/features/verification/steps/__tests__/age-verification.test.tsx
rename to src/features/verification/steps/__tests__/age-verification.test.tsx
diff --git a/app/soapbox/features/verification/steps/__tests__/email-verification.test.tsx b/src/features/verification/steps/__tests__/email-verification.test.tsx
similarity index 100%
rename from app/soapbox/features/verification/steps/__tests__/email-verification.test.tsx
rename to src/features/verification/steps/__tests__/email-verification.test.tsx
diff --git a/app/soapbox/features/verification/steps/__tests__/sms-verification.test.tsx b/src/features/verification/steps/__tests__/sms-verification.test.tsx
similarity index 100%
rename from app/soapbox/features/verification/steps/__tests__/sms-verification.test.tsx
rename to src/features/verification/steps/__tests__/sms-verification.test.tsx
diff --git a/app/soapbox/features/verification/steps/age-verification.tsx b/src/features/verification/steps/age-verification.tsx
similarity index 100%
rename from app/soapbox/features/verification/steps/age-verification.tsx
rename to src/features/verification/steps/age-verification.tsx
diff --git a/app/soapbox/features/verification/steps/email-verification.tsx b/src/features/verification/steps/email-verification.tsx
similarity index 100%
rename from app/soapbox/features/verification/steps/email-verification.tsx
rename to src/features/verification/steps/email-verification.tsx
diff --git a/app/soapbox/features/verification/steps/sms-verification.tsx b/src/features/verification/steps/sms-verification.tsx
similarity index 100%
rename from app/soapbox/features/verification/steps/sms-verification.tsx
rename to src/features/verification/steps/sms-verification.tsx
diff --git a/app/soapbox/features/verification/waitlist-page.tsx b/src/features/verification/waitlist-page.tsx
similarity index 100%
rename from app/soapbox/features/verification/waitlist-page.tsx
rename to src/features/verification/waitlist-page.tsx
diff --git a/app/soapbox/features/video/index.tsx b/src/features/video/index.tsx
similarity index 100%
rename from app/soapbox/features/video/index.tsx
rename to src/features/video/index.tsx
diff --git a/app/soapbox/globals.ts b/src/globals.ts
similarity index 100%
rename from app/soapbox/globals.ts
rename to src/globals.ts
diff --git a/app/soapbox/hooks/__mocks__/resize-observer.ts b/src/hooks/__mocks__/resize-observer.ts
similarity index 100%
rename from app/soapbox/hooks/__mocks__/resize-observer.ts
rename to src/hooks/__mocks__/resize-observer.ts
diff --git a/app/soapbox/hooks/__tests__/useDimensions.test.ts b/src/hooks/__tests__/useDimensions.test.ts
similarity index 100%
rename from app/soapbox/hooks/__tests__/useDimensions.test.ts
rename to src/hooks/__tests__/useDimensions.test.ts
diff --git a/app/soapbox/hooks/__tests__/useGroupsPath.test.ts b/src/hooks/__tests__/useGroupsPath.test.ts
similarity index 100%
rename from app/soapbox/hooks/__tests__/useGroupsPath.test.ts
rename to src/hooks/__tests__/useGroupsPath.test.ts
diff --git a/app/soapbox/hooks/__tests__/useRegistrationStatus.test.ts b/src/hooks/__tests__/useRegistrationStatus.test.ts
similarity index 100%
rename from app/soapbox/hooks/__tests__/useRegistrationStatus.test.ts
rename to src/hooks/__tests__/useRegistrationStatus.test.ts
diff --git a/app/soapbox/hooks/forms/index.ts b/src/hooks/forms/index.ts
similarity index 100%
rename from app/soapbox/hooks/forms/index.ts
rename to src/hooks/forms/index.ts
diff --git a/app/soapbox/hooks/forms/useImageField.ts b/src/hooks/forms/useImageField.ts
similarity index 100%
rename from app/soapbox/hooks/forms/useImageField.ts
rename to src/hooks/forms/useImageField.ts
diff --git a/app/soapbox/hooks/forms/usePreview.ts b/src/hooks/forms/usePreview.ts
similarity index 100%
rename from app/soapbox/hooks/forms/usePreview.ts
rename to src/hooks/forms/usePreview.ts
diff --git a/app/soapbox/hooks/forms/useTextField.ts b/src/hooks/forms/useTextField.ts
similarity index 100%
rename from app/soapbox/hooks/forms/useTextField.ts
rename to src/hooks/forms/useTextField.ts
diff --git a/app/soapbox/hooks/index.ts b/src/hooks/index.ts
similarity index 100%
rename from app/soapbox/hooks/index.ts
rename to src/hooks/index.ts
diff --git a/app/soapbox/hooks/useApi.ts b/src/hooks/useApi.ts
similarity index 100%
rename from app/soapbox/hooks/useApi.ts
rename to src/hooks/useApi.ts
diff --git a/app/soapbox/hooks/useAppDispatch.ts b/src/hooks/useAppDispatch.ts
similarity index 100%
rename from app/soapbox/hooks/useAppDispatch.ts
rename to src/hooks/useAppDispatch.ts
diff --git a/app/soapbox/hooks/useAppSelector.ts b/src/hooks/useAppSelector.ts
similarity index 100%
rename from app/soapbox/hooks/useAppSelector.ts
rename to src/hooks/useAppSelector.ts
diff --git a/app/soapbox/hooks/useBackend.ts b/src/hooks/useBackend.ts
similarity index 100%
rename from app/soapbox/hooks/useBackend.ts
rename to src/hooks/useBackend.ts
diff --git a/app/soapbox/hooks/useClickOutside.ts b/src/hooks/useClickOutside.ts
similarity index 100%
rename from app/soapbox/hooks/useClickOutside.ts
rename to src/hooks/useClickOutside.ts
diff --git a/app/soapbox/hooks/useCompose.ts b/src/hooks/useCompose.ts
similarity index 100%
rename from app/soapbox/hooks/useCompose.ts
rename to src/hooks/useCompose.ts
diff --git a/app/soapbox/hooks/useDebounce.ts b/src/hooks/useDebounce.ts
similarity index 100%
rename from app/soapbox/hooks/useDebounce.ts
rename to src/hooks/useDebounce.ts
diff --git a/app/soapbox/hooks/useDimensions.ts b/src/hooks/useDimensions.ts
similarity index 100%
rename from app/soapbox/hooks/useDimensions.ts
rename to src/hooks/useDimensions.ts
diff --git a/app/soapbox/hooks/useDraggedFiles.ts b/src/hooks/useDraggedFiles.ts
similarity index 100%
rename from app/soapbox/hooks/useDraggedFiles.ts
rename to src/hooks/useDraggedFiles.ts
diff --git a/app/soapbox/hooks/useFeatures.ts b/src/hooks/useFeatures.ts
similarity index 100%
rename from app/soapbox/hooks/useFeatures.ts
rename to src/hooks/useFeatures.ts
diff --git a/app/soapbox/hooks/useGetState.ts b/src/hooks/useGetState.ts
similarity index 100%
rename from app/soapbox/hooks/useGetState.ts
rename to src/hooks/useGetState.ts
diff --git a/app/soapbox/hooks/useGroupsPath.ts b/src/hooks/useGroupsPath.ts
similarity index 100%
rename from app/soapbox/hooks/useGroupsPath.ts
rename to src/hooks/useGroupsPath.ts
diff --git a/app/soapbox/hooks/useInstance.ts b/src/hooks/useInstance.ts
similarity index 100%
rename from app/soapbox/hooks/useInstance.ts
rename to src/hooks/useInstance.ts
diff --git a/app/soapbox/hooks/useLoading.ts b/src/hooks/useLoading.ts
similarity index 100%
rename from app/soapbox/hooks/useLoading.ts
rename to src/hooks/useLoading.ts
diff --git a/app/soapbox/hooks/useLocale.ts b/src/hooks/useLocale.ts
similarity index 100%
rename from app/soapbox/hooks/useLocale.ts
rename to src/hooks/useLocale.ts
diff --git a/app/soapbox/hooks/useLoggedIn.ts b/src/hooks/useLoggedIn.ts
similarity index 100%
rename from app/soapbox/hooks/useLoggedIn.ts
rename to src/hooks/useLoggedIn.ts
diff --git a/app/soapbox/hooks/useOnScreen.ts b/src/hooks/useOnScreen.ts
similarity index 100%
rename from app/soapbox/hooks/useOnScreen.ts
rename to src/hooks/useOnScreen.ts
diff --git a/app/soapbox/hooks/useOwnAccount.ts b/src/hooks/useOwnAccount.ts
similarity index 100%
rename from app/soapbox/hooks/useOwnAccount.ts
rename to src/hooks/useOwnAccount.ts
diff --git a/app/soapbox/hooks/usePrevious.ts b/src/hooks/usePrevious.ts
similarity index 100%
rename from app/soapbox/hooks/usePrevious.ts
rename to src/hooks/usePrevious.ts
diff --git a/app/soapbox/hooks/useRefEventHandler.ts b/src/hooks/useRefEventHandler.ts
similarity index 100%
rename from app/soapbox/hooks/useRefEventHandler.ts
rename to src/hooks/useRefEventHandler.ts
diff --git a/app/soapbox/hooks/useRegistrationStatus.ts b/src/hooks/useRegistrationStatus.ts
similarity index 100%
rename from app/soapbox/hooks/useRegistrationStatus.ts
rename to src/hooks/useRegistrationStatus.ts
diff --git a/app/soapbox/hooks/useSettings.ts b/src/hooks/useSettings.ts
similarity index 100%
rename from app/soapbox/hooks/useSettings.ts
rename to src/hooks/useSettings.ts
diff --git a/app/soapbox/hooks/useSoapboxConfig.ts b/src/hooks/useSoapboxConfig.ts
similarity index 100%
rename from app/soapbox/hooks/useSoapboxConfig.ts
rename to src/hooks/useSoapboxConfig.ts
diff --git a/app/soapbox/hooks/useSystemTheme.ts b/src/hooks/useSystemTheme.ts
similarity index 100%
rename from app/soapbox/hooks/useSystemTheme.ts
rename to src/hooks/useSystemTheme.ts
diff --git a/app/soapbox/hooks/useTheme.ts b/src/hooks/useTheme.ts
similarity index 100%
rename from app/soapbox/hooks/useTheme.ts
rename to src/hooks/useTheme.ts
diff --git a/app/soapbox/iframe.ts b/src/iframe.ts
similarity index 100%
rename from app/soapbox/iframe.ts
rename to src/iframe.ts
diff --git a/app/instance/about.example/dmca.html b/src/instance/about.example/dmca.html
similarity index 100%
rename from app/instance/about.example/dmca.html
rename to src/instance/about.example/dmca.html
diff --git a/app/instance/about.example/index.html b/src/instance/about.example/index.html
similarity index 100%
rename from app/instance/about.example/index.html
rename to src/instance/about.example/index.html
diff --git a/app/instance/about.example/privacy.html b/src/instance/about.example/privacy.html
similarity index 100%
rename from app/instance/about.example/privacy.html
rename to src/instance/about.example/privacy.html
diff --git a/app/instance/about.example/tos.html b/src/instance/about.example/tos.html
similarity index 100%
rename from app/instance/about.example/tos.html
rename to src/instance/about.example/tos.html
diff --git a/app/instance/soapbox.example.json b/src/instance/soapbox.example.json
similarity index 100%
rename from app/instance/soapbox.example.json
rename to src/instance/soapbox.example.json
diff --git a/app/soapbox/is-mobile.ts b/src/is-mobile.ts
similarity index 100%
rename from app/soapbox/is-mobile.ts
rename to src/is-mobile.ts
diff --git a/app/soapbox/jest/factory.ts b/src/jest/factory.ts
similarity index 100%
rename from app/soapbox/jest/factory.ts
rename to src/jest/factory.ts
diff --git a/app/soapbox/jest/fixtures/chats.json b/src/jest/fixtures/chats.json
similarity index 100%
rename from app/soapbox/jest/fixtures/chats.json
rename to src/jest/fixtures/chats.json
diff --git a/app/soapbox/jest/mock-stores.tsx b/src/jest/mock-stores.tsx
similarity index 100%
rename from app/soapbox/jest/mock-stores.tsx
rename to src/jest/mock-stores.tsx
diff --git a/app/soapbox/jest/test-helpers.tsx b/src/jest/test-helpers.tsx
similarity index 100%
rename from app/soapbox/jest/test-helpers.tsx
rename to src/jest/test-helpers.tsx
diff --git a/app/soapbox/jest/test-setup.ts b/src/jest/test-setup.ts
similarity index 100%
rename from app/soapbox/jest/test-setup.ts
rename to src/jest/test-setup.ts
diff --git a/app/soapbox/locales/ar.json b/src/locales/ar.json
similarity index 100%
rename from app/soapbox/locales/ar.json
rename to src/locales/ar.json
diff --git a/app/soapbox/locales/ast.json b/src/locales/ast.json
similarity index 100%
rename from app/soapbox/locales/ast.json
rename to src/locales/ast.json
diff --git a/app/soapbox/locales/bg.json b/src/locales/bg.json
similarity index 100%
rename from app/soapbox/locales/bg.json
rename to src/locales/bg.json
diff --git a/app/soapbox/locales/bn.json b/src/locales/bn.json
similarity index 100%
rename from app/soapbox/locales/bn.json
rename to src/locales/bn.json
diff --git a/app/soapbox/locales/br.json b/src/locales/br.json
similarity index 100%
rename from app/soapbox/locales/br.json
rename to src/locales/br.json
diff --git a/app/soapbox/locales/bs.json b/src/locales/bs.json
similarity index 100%
rename from app/soapbox/locales/bs.json
rename to src/locales/bs.json
diff --git a/app/soapbox/locales/ca.json b/src/locales/ca.json
similarity index 100%
rename from app/soapbox/locales/ca.json
rename to src/locales/ca.json
diff --git a/app/soapbox/locales/co.json b/src/locales/co.json
similarity index 100%
rename from app/soapbox/locales/co.json
rename to src/locales/co.json
diff --git a/app/soapbox/locales/cs.json b/src/locales/cs.json
similarity index 100%
rename from app/soapbox/locales/cs.json
rename to src/locales/cs.json
diff --git a/app/soapbox/locales/cy.json b/src/locales/cy.json
similarity index 100%
rename from app/soapbox/locales/cy.json
rename to src/locales/cy.json
diff --git a/app/soapbox/locales/da.json b/src/locales/da.json
similarity index 100%
rename from app/soapbox/locales/da.json
rename to src/locales/da.json
diff --git a/app/soapbox/locales/de.json b/src/locales/de.json
similarity index 100%
rename from app/soapbox/locales/de.json
rename to src/locales/de.json
diff --git a/app/soapbox/locales/el.json b/src/locales/el.json
similarity index 100%
rename from app/soapbox/locales/el.json
rename to src/locales/el.json
diff --git a/app/soapbox/locales/en-Shaw.json b/src/locales/en-Shaw.json
similarity index 100%
rename from app/soapbox/locales/en-Shaw.json
rename to src/locales/en-Shaw.json
diff --git a/app/soapbox/locales/en.json b/src/locales/en.json
similarity index 100%
rename from app/soapbox/locales/en.json
rename to src/locales/en.json
diff --git a/app/soapbox/locales/eo.json b/src/locales/eo.json
similarity index 100%
rename from app/soapbox/locales/eo.json
rename to src/locales/eo.json
diff --git a/app/soapbox/locales/es-AR.json b/src/locales/es-AR.json
similarity index 100%
rename from app/soapbox/locales/es-AR.json
rename to src/locales/es-AR.json
diff --git a/app/soapbox/locales/es.json b/src/locales/es.json
similarity index 100%
rename from app/soapbox/locales/es.json
rename to src/locales/es.json
diff --git a/app/soapbox/locales/et.json b/src/locales/et.json
similarity index 100%
rename from app/soapbox/locales/et.json
rename to src/locales/et.json
diff --git a/app/soapbox/locales/eu.json b/src/locales/eu.json
similarity index 100%
rename from app/soapbox/locales/eu.json
rename to src/locales/eu.json
diff --git a/app/soapbox/locales/fa.json b/src/locales/fa.json
similarity index 100%
rename from app/soapbox/locales/fa.json
rename to src/locales/fa.json
diff --git a/app/soapbox/locales/fi.json b/src/locales/fi.json
similarity index 100%
rename from app/soapbox/locales/fi.json
rename to src/locales/fi.json
diff --git a/app/soapbox/locales/fr.json b/src/locales/fr.json
similarity index 100%
rename from app/soapbox/locales/fr.json
rename to src/locales/fr.json
diff --git a/app/soapbox/locales/ga.json b/src/locales/ga.json
similarity index 100%
rename from app/soapbox/locales/ga.json
rename to src/locales/ga.json
diff --git a/app/soapbox/locales/gl.json b/src/locales/gl.json
similarity index 100%
rename from app/soapbox/locales/gl.json
rename to src/locales/gl.json
diff --git a/app/soapbox/locales/he.json b/src/locales/he.json
similarity index 100%
rename from app/soapbox/locales/he.json
rename to src/locales/he.json
diff --git a/app/soapbox/locales/hi.json b/src/locales/hi.json
similarity index 100%
rename from app/soapbox/locales/hi.json
rename to src/locales/hi.json
diff --git a/app/soapbox/locales/hr.json b/src/locales/hr.json
similarity index 100%
rename from app/soapbox/locales/hr.json
rename to src/locales/hr.json
diff --git a/app/soapbox/locales/hu.json b/src/locales/hu.json
similarity index 100%
rename from app/soapbox/locales/hu.json
rename to src/locales/hu.json
diff --git a/app/soapbox/locales/hy.json b/src/locales/hy.json
similarity index 100%
rename from app/soapbox/locales/hy.json
rename to src/locales/hy.json
diff --git a/app/soapbox/locales/id.json b/src/locales/id.json
similarity index 100%
rename from app/soapbox/locales/id.json
rename to src/locales/id.json
diff --git a/app/soapbox/locales/io.json b/src/locales/io.json
similarity index 100%
rename from app/soapbox/locales/io.json
rename to src/locales/io.json
diff --git a/app/soapbox/locales/is.json b/src/locales/is.json
similarity index 100%
rename from app/soapbox/locales/is.json
rename to src/locales/is.json
diff --git a/app/soapbox/locales/it.json b/src/locales/it.json
similarity index 100%
rename from app/soapbox/locales/it.json
rename to src/locales/it.json
diff --git a/app/soapbox/locales/ja.json b/src/locales/ja.json
similarity index 100%
rename from app/soapbox/locales/ja.json
rename to src/locales/ja.json
diff --git a/app/soapbox/locales/ka.json b/src/locales/ka.json
similarity index 100%
rename from app/soapbox/locales/ka.json
rename to src/locales/ka.json
diff --git a/app/soapbox/locales/kk.json b/src/locales/kk.json
similarity index 100%
rename from app/soapbox/locales/kk.json
rename to src/locales/kk.json
diff --git a/app/soapbox/locales/ko.json b/src/locales/ko.json
similarity index 100%
rename from app/soapbox/locales/ko.json
rename to src/locales/ko.json
diff --git a/app/soapbox/locales/lt.json b/src/locales/lt.json
similarity index 100%
rename from app/soapbox/locales/lt.json
rename to src/locales/lt.json
diff --git a/app/soapbox/locales/lv.json b/src/locales/lv.json
similarity index 100%
rename from app/soapbox/locales/lv.json
rename to src/locales/lv.json
diff --git a/app/soapbox/locales/mk.json b/src/locales/mk.json
similarity index 100%
rename from app/soapbox/locales/mk.json
rename to src/locales/mk.json
diff --git a/app/soapbox/locales/ms.json b/src/locales/ms.json
similarity index 100%
rename from app/soapbox/locales/ms.json
rename to src/locales/ms.json
diff --git a/app/soapbox/locales/nl.json b/src/locales/nl.json
similarity index 100%
rename from app/soapbox/locales/nl.json
rename to src/locales/nl.json
diff --git a/app/soapbox/locales/nn.json b/src/locales/nn.json
similarity index 100%
rename from app/soapbox/locales/nn.json
rename to src/locales/nn.json
diff --git a/app/soapbox/locales/no.json b/src/locales/no.json
similarity index 100%
rename from app/soapbox/locales/no.json
rename to src/locales/no.json
diff --git a/app/soapbox/locales/oc.json b/src/locales/oc.json
similarity index 100%
rename from app/soapbox/locales/oc.json
rename to src/locales/oc.json
diff --git a/app/soapbox/locales/pl.json b/src/locales/pl.json
similarity index 100%
rename from app/soapbox/locales/pl.json
rename to src/locales/pl.json
diff --git a/app/soapbox/locales/pt-BR.json b/src/locales/pt-BR.json
similarity index 100%
rename from app/soapbox/locales/pt-BR.json
rename to src/locales/pt-BR.json
diff --git a/app/soapbox/locales/pt.json b/src/locales/pt.json
similarity index 100%
rename from app/soapbox/locales/pt.json
rename to src/locales/pt.json
diff --git a/app/soapbox/locales/ro.json b/src/locales/ro.json
similarity index 100%
rename from app/soapbox/locales/ro.json
rename to src/locales/ro.json
diff --git a/app/soapbox/locales/ru.json b/src/locales/ru.json
similarity index 100%
rename from app/soapbox/locales/ru.json
rename to src/locales/ru.json
diff --git a/app/soapbox/locales/sk.json b/src/locales/sk.json
similarity index 100%
rename from app/soapbox/locales/sk.json
rename to src/locales/sk.json
diff --git a/app/soapbox/locales/sl.json b/src/locales/sl.json
similarity index 100%
rename from app/soapbox/locales/sl.json
rename to src/locales/sl.json
diff --git a/app/soapbox/locales/sq.json b/src/locales/sq.json
similarity index 100%
rename from app/soapbox/locales/sq.json
rename to src/locales/sq.json
diff --git a/app/soapbox/locales/sr-Latn.json b/src/locales/sr-Latn.json
similarity index 100%
rename from app/soapbox/locales/sr-Latn.json
rename to src/locales/sr-Latn.json
diff --git a/app/soapbox/locales/sr.json b/src/locales/sr.json
similarity index 100%
rename from app/soapbox/locales/sr.json
rename to src/locales/sr.json
diff --git a/app/soapbox/locales/sv.json b/src/locales/sv.json
similarity index 100%
rename from app/soapbox/locales/sv.json
rename to src/locales/sv.json
diff --git a/app/soapbox/locales/ta.json b/src/locales/ta.json
similarity index 100%
rename from app/soapbox/locales/ta.json
rename to src/locales/ta.json
diff --git a/app/soapbox/locales/te.json b/src/locales/te.json
similarity index 100%
rename from app/soapbox/locales/te.json
rename to src/locales/te.json
diff --git a/app/soapbox/locales/th.json b/src/locales/th.json
similarity index 100%
rename from app/soapbox/locales/th.json
rename to src/locales/th.json
diff --git a/app/soapbox/locales/tr.json b/src/locales/tr.json
similarity index 100%
rename from app/soapbox/locales/tr.json
rename to src/locales/tr.json
diff --git a/app/soapbox/locales/uk.json b/src/locales/uk.json
similarity index 100%
rename from app/soapbox/locales/uk.json
rename to src/locales/uk.json
diff --git a/app/soapbox/locales/whitelist_ar.json b/src/locales/whitelist_ar.json
similarity index 100%
rename from app/soapbox/locales/whitelist_ar.json
rename to src/locales/whitelist_ar.json
diff --git a/app/soapbox/locales/whitelist_ast.json b/src/locales/whitelist_ast.json
similarity index 100%
rename from app/soapbox/locales/whitelist_ast.json
rename to src/locales/whitelist_ast.json
diff --git a/app/soapbox/locales/whitelist_bg.json b/src/locales/whitelist_bg.json
similarity index 100%
rename from app/soapbox/locales/whitelist_bg.json
rename to src/locales/whitelist_bg.json
diff --git a/app/soapbox/locales/whitelist_bn.json b/src/locales/whitelist_bn.json
similarity index 100%
rename from app/soapbox/locales/whitelist_bn.json
rename to src/locales/whitelist_bn.json
diff --git a/app/soapbox/locales/whitelist_br.json b/src/locales/whitelist_br.json
similarity index 100%
rename from app/soapbox/locales/whitelist_br.json
rename to src/locales/whitelist_br.json
diff --git a/app/soapbox/locales/whitelist_ca.json b/src/locales/whitelist_ca.json
similarity index 100%
rename from app/soapbox/locales/whitelist_ca.json
rename to src/locales/whitelist_ca.json
diff --git a/app/soapbox/locales/whitelist_co.json b/src/locales/whitelist_co.json
similarity index 100%
rename from app/soapbox/locales/whitelist_co.json
rename to src/locales/whitelist_co.json
diff --git a/app/soapbox/locales/whitelist_cs.json b/src/locales/whitelist_cs.json
similarity index 100%
rename from app/soapbox/locales/whitelist_cs.json
rename to src/locales/whitelist_cs.json
diff --git a/app/soapbox/locales/whitelist_cy.json b/src/locales/whitelist_cy.json
similarity index 100%
rename from app/soapbox/locales/whitelist_cy.json
rename to src/locales/whitelist_cy.json
diff --git a/app/soapbox/locales/whitelist_da.json b/src/locales/whitelist_da.json
similarity index 100%
rename from app/soapbox/locales/whitelist_da.json
rename to src/locales/whitelist_da.json
diff --git a/app/soapbox/locales/whitelist_de.json b/src/locales/whitelist_de.json
similarity index 100%
rename from app/soapbox/locales/whitelist_de.json
rename to src/locales/whitelist_de.json
diff --git a/app/soapbox/locales/whitelist_el.json b/src/locales/whitelist_el.json
similarity index 100%
rename from app/soapbox/locales/whitelist_el.json
rename to src/locales/whitelist_el.json
diff --git a/app/soapbox/locales/whitelist_en-Shaw.json b/src/locales/whitelist_en-Shaw.json
similarity index 100%
rename from app/soapbox/locales/whitelist_en-Shaw.json
rename to src/locales/whitelist_en-Shaw.json
diff --git a/app/soapbox/locales/whitelist_en.json b/src/locales/whitelist_en.json
similarity index 100%
rename from app/soapbox/locales/whitelist_en.json
rename to src/locales/whitelist_en.json
diff --git a/app/soapbox/locales/whitelist_eo.json b/src/locales/whitelist_eo.json
similarity index 100%
rename from app/soapbox/locales/whitelist_eo.json
rename to src/locales/whitelist_eo.json
diff --git a/app/soapbox/locales/whitelist_es-AR.json b/src/locales/whitelist_es-AR.json
similarity index 100%
rename from app/soapbox/locales/whitelist_es-AR.json
rename to src/locales/whitelist_es-AR.json
diff --git a/app/soapbox/locales/whitelist_es.json b/src/locales/whitelist_es.json
similarity index 100%
rename from app/soapbox/locales/whitelist_es.json
rename to src/locales/whitelist_es.json
diff --git a/app/soapbox/locales/whitelist_et.json b/src/locales/whitelist_et.json
similarity index 100%
rename from app/soapbox/locales/whitelist_et.json
rename to src/locales/whitelist_et.json
diff --git a/app/soapbox/locales/whitelist_eu.json b/src/locales/whitelist_eu.json
similarity index 100%
rename from app/soapbox/locales/whitelist_eu.json
rename to src/locales/whitelist_eu.json
diff --git a/app/soapbox/locales/whitelist_fa.json b/src/locales/whitelist_fa.json
similarity index 100%
rename from app/soapbox/locales/whitelist_fa.json
rename to src/locales/whitelist_fa.json
diff --git a/app/soapbox/locales/whitelist_fi.json b/src/locales/whitelist_fi.json
similarity index 100%
rename from app/soapbox/locales/whitelist_fi.json
rename to src/locales/whitelist_fi.json
diff --git a/app/soapbox/locales/whitelist_fr.json b/src/locales/whitelist_fr.json
similarity index 100%
rename from app/soapbox/locales/whitelist_fr.json
rename to src/locales/whitelist_fr.json
diff --git a/app/soapbox/locales/whitelist_ga.json b/src/locales/whitelist_ga.json
similarity index 100%
rename from app/soapbox/locales/whitelist_ga.json
rename to src/locales/whitelist_ga.json
diff --git a/app/soapbox/locales/whitelist_gl.json b/src/locales/whitelist_gl.json
similarity index 100%
rename from app/soapbox/locales/whitelist_gl.json
rename to src/locales/whitelist_gl.json
diff --git a/app/soapbox/locales/whitelist_he.json b/src/locales/whitelist_he.json
similarity index 100%
rename from app/soapbox/locales/whitelist_he.json
rename to src/locales/whitelist_he.json
diff --git a/app/soapbox/locales/whitelist_hi.json b/src/locales/whitelist_hi.json
similarity index 100%
rename from app/soapbox/locales/whitelist_hi.json
rename to src/locales/whitelist_hi.json
diff --git a/app/soapbox/locales/whitelist_hr.json b/src/locales/whitelist_hr.json
similarity index 100%
rename from app/soapbox/locales/whitelist_hr.json
rename to src/locales/whitelist_hr.json
diff --git a/app/soapbox/locales/whitelist_hu.json b/src/locales/whitelist_hu.json
similarity index 100%
rename from app/soapbox/locales/whitelist_hu.json
rename to src/locales/whitelist_hu.json
diff --git a/app/soapbox/locales/whitelist_hy.json b/src/locales/whitelist_hy.json
similarity index 100%
rename from app/soapbox/locales/whitelist_hy.json
rename to src/locales/whitelist_hy.json
diff --git a/app/soapbox/locales/whitelist_id.json b/src/locales/whitelist_id.json
similarity index 100%
rename from app/soapbox/locales/whitelist_id.json
rename to src/locales/whitelist_id.json
diff --git a/app/soapbox/locales/whitelist_io.json b/src/locales/whitelist_io.json
similarity index 100%
rename from app/soapbox/locales/whitelist_io.json
rename to src/locales/whitelist_io.json
diff --git a/app/soapbox/locales/whitelist_is.json b/src/locales/whitelist_is.json
similarity index 100%
rename from app/soapbox/locales/whitelist_is.json
rename to src/locales/whitelist_is.json
diff --git a/app/soapbox/locales/whitelist_it.json b/src/locales/whitelist_it.json
similarity index 100%
rename from app/soapbox/locales/whitelist_it.json
rename to src/locales/whitelist_it.json
diff --git a/app/soapbox/locales/whitelist_ja.json b/src/locales/whitelist_ja.json
similarity index 100%
rename from app/soapbox/locales/whitelist_ja.json
rename to src/locales/whitelist_ja.json
diff --git a/app/soapbox/locales/whitelist_ka.json b/src/locales/whitelist_ka.json
similarity index 100%
rename from app/soapbox/locales/whitelist_ka.json
rename to src/locales/whitelist_ka.json
diff --git a/app/soapbox/locales/whitelist_kk.json b/src/locales/whitelist_kk.json
similarity index 100%
rename from app/soapbox/locales/whitelist_kk.json
rename to src/locales/whitelist_kk.json
diff --git a/app/soapbox/locales/whitelist_ko.json b/src/locales/whitelist_ko.json
similarity index 100%
rename from app/soapbox/locales/whitelist_ko.json
rename to src/locales/whitelist_ko.json
diff --git a/app/soapbox/locales/whitelist_lt.json b/src/locales/whitelist_lt.json
similarity index 100%
rename from app/soapbox/locales/whitelist_lt.json
rename to src/locales/whitelist_lt.json
diff --git a/app/soapbox/locales/whitelist_lv.json b/src/locales/whitelist_lv.json
similarity index 100%
rename from app/soapbox/locales/whitelist_lv.json
rename to src/locales/whitelist_lv.json
diff --git a/app/soapbox/locales/whitelist_mk.json b/src/locales/whitelist_mk.json
similarity index 100%
rename from app/soapbox/locales/whitelist_mk.json
rename to src/locales/whitelist_mk.json
diff --git a/app/soapbox/locales/whitelist_ms.json b/src/locales/whitelist_ms.json
similarity index 100%
rename from app/soapbox/locales/whitelist_ms.json
rename to src/locales/whitelist_ms.json
diff --git a/app/soapbox/locales/whitelist_nl.json b/src/locales/whitelist_nl.json
similarity index 100%
rename from app/soapbox/locales/whitelist_nl.json
rename to src/locales/whitelist_nl.json
diff --git a/app/soapbox/locales/whitelist_nn.json b/src/locales/whitelist_nn.json
similarity index 100%
rename from app/soapbox/locales/whitelist_nn.json
rename to src/locales/whitelist_nn.json
diff --git a/app/soapbox/locales/whitelist_no.json b/src/locales/whitelist_no.json
similarity index 100%
rename from app/soapbox/locales/whitelist_no.json
rename to src/locales/whitelist_no.json
diff --git a/app/soapbox/locales/whitelist_oc.json b/src/locales/whitelist_oc.json
similarity index 100%
rename from app/soapbox/locales/whitelist_oc.json
rename to src/locales/whitelist_oc.json
diff --git a/app/soapbox/locales/whitelist_pl.json b/src/locales/whitelist_pl.json
similarity index 100%
rename from app/soapbox/locales/whitelist_pl.json
rename to src/locales/whitelist_pl.json
diff --git a/app/soapbox/locales/whitelist_pt-BR.json b/src/locales/whitelist_pt-BR.json
similarity index 100%
rename from app/soapbox/locales/whitelist_pt-BR.json
rename to src/locales/whitelist_pt-BR.json
diff --git a/app/soapbox/locales/whitelist_pt.json b/src/locales/whitelist_pt.json
similarity index 100%
rename from app/soapbox/locales/whitelist_pt.json
rename to src/locales/whitelist_pt.json
diff --git a/app/soapbox/locales/whitelist_ro.json b/src/locales/whitelist_ro.json
similarity index 100%
rename from app/soapbox/locales/whitelist_ro.json
rename to src/locales/whitelist_ro.json
diff --git a/app/soapbox/locales/whitelist_ru.json b/src/locales/whitelist_ru.json
similarity index 100%
rename from app/soapbox/locales/whitelist_ru.json
rename to src/locales/whitelist_ru.json
diff --git a/app/soapbox/locales/whitelist_sk.json b/src/locales/whitelist_sk.json
similarity index 100%
rename from app/soapbox/locales/whitelist_sk.json
rename to src/locales/whitelist_sk.json
diff --git a/app/soapbox/locales/whitelist_sl.json b/src/locales/whitelist_sl.json
similarity index 100%
rename from app/soapbox/locales/whitelist_sl.json
rename to src/locales/whitelist_sl.json
diff --git a/app/soapbox/locales/whitelist_sq.json b/src/locales/whitelist_sq.json
similarity index 100%
rename from app/soapbox/locales/whitelist_sq.json
rename to src/locales/whitelist_sq.json
diff --git a/app/soapbox/locales/whitelist_sr-Latn.json b/src/locales/whitelist_sr-Latn.json
similarity index 100%
rename from app/soapbox/locales/whitelist_sr-Latn.json
rename to src/locales/whitelist_sr-Latn.json
diff --git a/app/soapbox/locales/whitelist_sr.json b/src/locales/whitelist_sr.json
similarity index 100%
rename from app/soapbox/locales/whitelist_sr.json
rename to src/locales/whitelist_sr.json
diff --git a/app/soapbox/locales/whitelist_sv.json b/src/locales/whitelist_sv.json
similarity index 100%
rename from app/soapbox/locales/whitelist_sv.json
rename to src/locales/whitelist_sv.json
diff --git a/app/soapbox/locales/whitelist_ta.json b/src/locales/whitelist_ta.json
similarity index 100%
rename from app/soapbox/locales/whitelist_ta.json
rename to src/locales/whitelist_ta.json
diff --git a/app/soapbox/locales/whitelist_te.json b/src/locales/whitelist_te.json
similarity index 100%
rename from app/soapbox/locales/whitelist_te.json
rename to src/locales/whitelist_te.json
diff --git a/app/soapbox/locales/whitelist_th.json b/src/locales/whitelist_th.json
similarity index 100%
rename from app/soapbox/locales/whitelist_th.json
rename to src/locales/whitelist_th.json
diff --git a/app/soapbox/locales/whitelist_tr.json b/src/locales/whitelist_tr.json
similarity index 100%
rename from app/soapbox/locales/whitelist_tr.json
rename to src/locales/whitelist_tr.json
diff --git a/app/soapbox/locales/whitelist_uk.json b/src/locales/whitelist_uk.json
similarity index 100%
rename from app/soapbox/locales/whitelist_uk.json
rename to src/locales/whitelist_uk.json
diff --git a/app/soapbox/locales/whitelist_zh-CN.json b/src/locales/whitelist_zh-CN.json
similarity index 100%
rename from app/soapbox/locales/whitelist_zh-CN.json
rename to src/locales/whitelist_zh-CN.json
diff --git a/app/soapbox/locales/whitelist_zh-HK.json b/src/locales/whitelist_zh-HK.json
similarity index 100%
rename from app/soapbox/locales/whitelist_zh-HK.json
rename to src/locales/whitelist_zh-HK.json
diff --git a/app/soapbox/locales/whitelist_zh-TW.json b/src/locales/whitelist_zh-TW.json
similarity index 100%
rename from app/soapbox/locales/whitelist_zh-TW.json
rename to src/locales/whitelist_zh-TW.json
diff --git a/app/soapbox/locales/zh-CN.json b/src/locales/zh-CN.json
similarity index 100%
rename from app/soapbox/locales/zh-CN.json
rename to src/locales/zh-CN.json
diff --git a/app/soapbox/locales/zh-HK.json b/src/locales/zh-HK.json
similarity index 100%
rename from app/soapbox/locales/zh-HK.json
rename to src/locales/zh-HK.json
diff --git a/app/soapbox/locales/zh-TW.json b/src/locales/zh-TW.json
similarity index 100%
rename from app/soapbox/locales/zh-TW.json
rename to src/locales/zh-TW.json
diff --git a/app/soapbox/main.tsx b/src/main.tsx
similarity index 91%
rename from app/soapbox/main.tsx
rename to src/main.tsx
index 7045b0637..74d967b01 100644
--- a/app/soapbox/main.tsx
+++ b/src/main.tsx
@@ -17,9 +17,9 @@ import '@fontsource/roboto-mono/400.css';
import 'line-awesome/dist/font-awesome-line-awesome/css/all.css';
import 'react-datepicker/dist/react-datepicker.css';
-import '../soapbox/iframe';
-import '../styles/application.scss';
-import '../styles/tailwind.css';
+import './iframe';
+import './styles/application.scss';
+import './styles/tailwind.css';
import './precheck';
import { default as Soapbox } from './containers/soapbox';
diff --git a/app/soapbox/messages.ts b/src/messages.ts
similarity index 95%
rename from app/soapbox/messages.ts
rename to src/messages.ts
index c7aebb4d4..e180908ec 100644
--- a/app/soapbox/messages.ts
+++ b/src/messages.ts
@@ -4,7 +4,7 @@ type MessageModule = { default: MessageJson };
/** Import custom messages */
const importCustom = async (locale: string): Promise => {
try {
- return await import(`../../custom/locales/${locale}.json`);
+ return await import(`../custom/locales/${locale}.json`);
} catch {
return ({ default: {} });
}
diff --git a/app/soapbox/middleware/errors.ts b/src/middleware/errors.ts
similarity index 100%
rename from app/soapbox/middleware/errors.ts
rename to src/middleware/errors.ts
diff --git a/app/soapbox/middleware/sounds.ts b/src/middleware/sounds.ts
similarity index 100%
rename from app/soapbox/middleware/sounds.ts
rename to src/middleware/sounds.ts
diff --git a/app/soapbox/monitoring.ts b/src/monitoring.ts
similarity index 100%
rename from app/soapbox/monitoring.ts
rename to src/monitoring.ts
diff --git a/app/soapbox/normalizers/__tests__/account.test.ts b/src/normalizers/__tests__/account.test.ts
similarity index 97%
rename from app/soapbox/normalizers/__tests__/account.test.ts
rename to src/normalizers/__tests__/account.test.ts
index 6c2abc2b3..a51917866 100644
--- a/app/soapbox/normalizers/__tests__/account.test.ts
+++ b/src/normalizers/__tests__/account.test.ts
@@ -2,8 +2,8 @@ import { Record as ImmutableRecord, fromJS } from 'immutable';
import { normalizeAccount } from '../account';
-const AVATAR_MISSING = require('assets/images/avatar-missing.png');
-const HEADER_MISSING = require('assets/images/header-missing.png');
+const AVATAR_MISSING = require('soapbox/assets/images/avatar-missing.png');
+const HEADER_MISSING = require('soapbox/assets/images/header-missing.png');
describe('normalizeAccount()', () => {
it('adds base fields', () => {
diff --git a/app/soapbox/normalizers/__tests__/attachment.test.ts b/src/normalizers/__tests__/attachment.test.ts
similarity index 100%
rename from app/soapbox/normalizers/__tests__/attachment.test.ts
rename to src/normalizers/__tests__/attachment.test.ts
diff --git a/app/soapbox/normalizers/__tests__/chat-message.test.ts b/src/normalizers/__tests__/chat-message.test.ts
similarity index 100%
rename from app/soapbox/normalizers/__tests__/chat-message.test.ts
rename to src/normalizers/__tests__/chat-message.test.ts
diff --git a/app/soapbox/normalizers/__tests__/instance.test.ts b/src/normalizers/__tests__/instance.test.ts
similarity index 100%
rename from app/soapbox/normalizers/__tests__/instance.test.ts
rename to src/normalizers/__tests__/instance.test.ts
diff --git a/app/soapbox/normalizers/__tests__/mention.test.ts b/src/normalizers/__tests__/mention.test.ts
similarity index 100%
rename from app/soapbox/normalizers/__tests__/mention.test.ts
rename to src/normalizers/__tests__/mention.test.ts
diff --git a/app/soapbox/normalizers/__tests__/notification.test.ts b/src/normalizers/__tests__/notification.test.ts
similarity index 100%
rename from app/soapbox/normalizers/__tests__/notification.test.ts
rename to src/normalizers/__tests__/notification.test.ts
diff --git a/app/soapbox/normalizers/__tests__/status.test.ts b/src/normalizers/__tests__/status.test.ts
similarity index 100%
rename from app/soapbox/normalizers/__tests__/status.test.ts
rename to src/normalizers/__tests__/status.test.ts
diff --git a/app/soapbox/normalizers/account.ts b/src/normalizers/account.ts
similarity index 98%
rename from app/soapbox/normalizers/account.ts
rename to src/normalizers/account.ts
index 21c15dc68..74a84e46b 100644
--- a/app/soapbox/normalizers/account.ts
+++ b/src/normalizers/account.ts
@@ -100,7 +100,7 @@ const normalizePleromaLegacyFields = (account: ImmutableMap) => {
const normalizeAvatar = (account: ImmutableMap) => {
const avatar = account.get('avatar');
const avatarStatic = account.get('avatar_static');
- const missing = require('assets/images/avatar-missing.png');
+ const missing = require('soapbox/assets/images/avatar-missing.png');
return account.withMutations(account => {
account.set('avatar', avatar || avatarStatic || missing);
@@ -112,7 +112,7 @@ const normalizeAvatar = (account: ImmutableMap) => {
const normalizeHeader = (account: ImmutableMap) => {
const header = account.get('header');
const headerStatic = account.get('header_static');
- const missing = require('assets/images/header-missing.png');
+ const missing = require('soapbox/assets/images/header-missing.png');
return account.withMutations(account => {
account.set('header', header || headerStatic || missing);
diff --git a/app/soapbox/normalizers/admin-account.ts b/src/normalizers/admin-account.ts
similarity index 100%
rename from app/soapbox/normalizers/admin-account.ts
rename to src/normalizers/admin-account.ts
diff --git a/app/soapbox/normalizers/admin-report.ts b/src/normalizers/admin-report.ts
similarity index 100%
rename from app/soapbox/normalizers/admin-report.ts
rename to src/normalizers/admin-report.ts
diff --git a/app/soapbox/normalizers/announcement-reaction.ts b/src/normalizers/announcement-reaction.ts
similarity index 100%
rename from app/soapbox/normalizers/announcement-reaction.ts
rename to src/normalizers/announcement-reaction.ts
diff --git a/app/soapbox/normalizers/announcement.ts b/src/normalizers/announcement.ts
similarity index 100%
rename from app/soapbox/normalizers/announcement.ts
rename to src/normalizers/announcement.ts
diff --git a/app/soapbox/normalizers/attachment.ts b/src/normalizers/attachment.ts
similarity index 100%
rename from app/soapbox/normalizers/attachment.ts
rename to src/normalizers/attachment.ts
diff --git a/app/soapbox/normalizers/chat-message.ts b/src/normalizers/chat-message.ts
similarity index 100%
rename from app/soapbox/normalizers/chat-message.ts
rename to src/normalizers/chat-message.ts
diff --git a/app/soapbox/normalizers/chat.ts b/src/normalizers/chat.ts
similarity index 100%
rename from app/soapbox/normalizers/chat.ts
rename to src/normalizers/chat.ts
diff --git a/app/soapbox/normalizers/emoji.ts b/src/normalizers/emoji.ts
similarity index 100%
rename from app/soapbox/normalizers/emoji.ts
rename to src/normalizers/emoji.ts
diff --git a/app/soapbox/normalizers/filter-keyword.ts b/src/normalizers/filter-keyword.ts
similarity index 100%
rename from app/soapbox/normalizers/filter-keyword.ts
rename to src/normalizers/filter-keyword.ts
diff --git a/app/soapbox/normalizers/filter-result.ts b/src/normalizers/filter-result.ts
similarity index 100%
rename from app/soapbox/normalizers/filter-result.ts
rename to src/normalizers/filter-result.ts
diff --git a/app/soapbox/normalizers/filter-status.ts b/src/normalizers/filter-status.ts
similarity index 100%
rename from app/soapbox/normalizers/filter-status.ts
rename to src/normalizers/filter-status.ts
diff --git a/app/soapbox/normalizers/filter.ts b/src/normalizers/filter.ts
similarity index 100%
rename from app/soapbox/normalizers/filter.ts
rename to src/normalizers/filter.ts
diff --git a/app/soapbox/normalizers/group-relationship.ts b/src/normalizers/group-relationship.ts
similarity index 100%
rename from app/soapbox/normalizers/group-relationship.ts
rename to src/normalizers/group-relationship.ts
diff --git a/app/soapbox/normalizers/group.ts b/src/normalizers/group.ts
similarity index 97%
rename from app/soapbox/normalizers/group.ts
rename to src/normalizers/group.ts
index c5f34aafb..ebe10ed89 100644
--- a/app/soapbox/normalizers/group.ts
+++ b/src/normalizers/group.ts
@@ -53,7 +53,7 @@ export const GroupRecord = ImmutableRecord({
const normalizeAvatar = (group: ImmutableMap) => {
const avatar = group.get('avatar');
const avatarStatic = group.get('avatar_static');
- const missing = require('assets/images/avatar-missing.png');
+ const missing = require('soapbox/assets/images/avatar-missing.png');
return group.withMutations(group => {
group.set('avatar', avatar || avatarStatic || missing);
@@ -65,7 +65,7 @@ const normalizeAvatar = (group: ImmutableMap) => {
const normalizeHeader = (group: ImmutableMap) => {
const header = group.get('header');
const headerStatic = group.get('header_static');
- const missing = require('assets/images/header-missing.png');
+ const missing = require('soapbox/assets/images/header-missing.png');
return group.withMutations(group => {
group.set('header', header || headerStatic || missing);
diff --git a/app/soapbox/normalizers/history.ts b/src/normalizers/history.ts
similarity index 100%
rename from app/soapbox/normalizers/history.ts
rename to src/normalizers/history.ts
diff --git a/app/soapbox/normalizers/index.ts b/src/normalizers/index.ts
similarity index 100%
rename from app/soapbox/normalizers/index.ts
rename to src/normalizers/index.ts
diff --git a/app/soapbox/normalizers/instance.ts b/src/normalizers/instance.ts
similarity index 100%
rename from app/soapbox/normalizers/instance.ts
rename to src/normalizers/instance.ts
diff --git a/app/soapbox/normalizers/list.ts b/src/normalizers/list.ts
similarity index 100%
rename from app/soapbox/normalizers/list.ts
rename to src/normalizers/list.ts
diff --git a/app/soapbox/normalizers/location.ts b/src/normalizers/location.ts
similarity index 100%
rename from app/soapbox/normalizers/location.ts
rename to src/normalizers/location.ts
diff --git a/app/soapbox/normalizers/mention.ts b/src/normalizers/mention.ts
similarity index 100%
rename from app/soapbox/normalizers/mention.ts
rename to src/normalizers/mention.ts
diff --git a/app/soapbox/normalizers/notification.ts b/src/normalizers/notification.ts
similarity index 100%
rename from app/soapbox/normalizers/notification.ts
rename to src/normalizers/notification.ts
diff --git a/app/soapbox/normalizers/soapbox/__tests__/soapbox-config.test.ts b/src/normalizers/soapbox/__tests__/soapbox-config.test.ts
similarity index 100%
rename from app/soapbox/normalizers/soapbox/__tests__/soapbox-config.test.ts
rename to src/normalizers/soapbox/__tests__/soapbox-config.test.ts
diff --git a/app/soapbox/normalizers/soapbox/soapbox-config.ts b/src/normalizers/soapbox/soapbox-config.ts
similarity index 100%
rename from app/soapbox/normalizers/soapbox/soapbox-config.ts
rename to src/normalizers/soapbox/soapbox-config.ts
diff --git a/app/soapbox/normalizers/status-edit.ts b/src/normalizers/status-edit.ts
similarity index 100%
rename from app/soapbox/normalizers/status-edit.ts
rename to src/normalizers/status-edit.ts
diff --git a/app/soapbox/normalizers/status.ts b/src/normalizers/status.ts
similarity index 100%
rename from app/soapbox/normalizers/status.ts
rename to src/normalizers/status.ts
diff --git a/app/soapbox/normalizers/tag.ts b/src/normalizers/tag.ts
similarity index 100%
rename from app/soapbox/normalizers/tag.ts
rename to src/normalizers/tag.ts
diff --git a/app/soapbox/pages/admin-page.tsx b/src/pages/admin-page.tsx
similarity index 100%
rename from app/soapbox/pages/admin-page.tsx
rename to src/pages/admin-page.tsx
diff --git a/app/soapbox/pages/chats-page.tsx b/src/pages/chats-page.tsx
similarity index 100%
rename from app/soapbox/pages/chats-page.tsx
rename to src/pages/chats-page.tsx
diff --git a/app/soapbox/pages/default-page.tsx b/src/pages/default-page.tsx
similarity index 100%
rename from app/soapbox/pages/default-page.tsx
rename to src/pages/default-page.tsx
diff --git a/app/soapbox/pages/empty-page.tsx b/src/pages/empty-page.tsx
similarity index 100%
rename from app/soapbox/pages/empty-page.tsx
rename to src/pages/empty-page.tsx
diff --git a/app/soapbox/pages/event-page.tsx b/src/pages/event-page.tsx
similarity index 100%
rename from app/soapbox/pages/event-page.tsx
rename to src/pages/event-page.tsx
diff --git a/app/soapbox/pages/events-page.tsx b/src/pages/events-page.tsx
similarity index 100%
rename from app/soapbox/pages/events-page.tsx
rename to src/pages/events-page.tsx
diff --git a/app/soapbox/pages/group-page.tsx b/src/pages/group-page.tsx
similarity index 97%
rename from app/soapbox/pages/group-page.tsx
rename to src/pages/group-page.tsx
index 8983b57e2..85dc8b9db 100644
--- a/app/soapbox/pages/group-page.tsx
+++ b/src/pages/group-page.tsx
@@ -4,7 +4,7 @@ import { useRouteMatch } from 'react-router-dom';
import { useGroup, useGroupMembershipRequests } from 'soapbox/api/hooks';
import GroupLookupHoc from 'soapbox/components/hoc/group-lookup-hoc';
-import { Column, Icon, Layout, Stack, Text } from 'soapbox/components/ui';
+import { Column, Icon, Layout, Stack, Text, Tabs } from 'soapbox/components/ui';
import GroupHeader from 'soapbox/features/group/components/group-header';
import LinkFooter from 'soapbox/features/ui/components/link-footer';
import BundleContainer from 'soapbox/features/ui/containers/bundle-container';
@@ -16,8 +16,6 @@ import {
} from 'soapbox/features/ui/util/async-components';
import { useFeatures, useOwnAccount } from 'soapbox/hooks';
-import { Tabs } from '../components/ui';
-
import type { Group } from 'soapbox/schemas';
const messages = defineMessages({
diff --git a/app/soapbox/pages/groups-page.tsx b/src/pages/groups-page.tsx
similarity index 100%
rename from app/soapbox/pages/groups-page.tsx
rename to src/pages/groups-page.tsx
diff --git a/app/soapbox/pages/groups-pending-page.tsx b/src/pages/groups-pending-page.tsx
similarity index 100%
rename from app/soapbox/pages/groups-pending-page.tsx
rename to src/pages/groups-pending-page.tsx
diff --git a/app/soapbox/pages/home-page.tsx b/src/pages/home-page.tsx
similarity index 100%
rename from app/soapbox/pages/home-page.tsx
rename to src/pages/home-page.tsx
diff --git a/app/soapbox/pages/manage-groups-page.tsx b/src/pages/manage-groups-page.tsx
similarity index 100%
rename from app/soapbox/pages/manage-groups-page.tsx
rename to src/pages/manage-groups-page.tsx
diff --git a/app/soapbox/pages/profile-page.tsx b/src/pages/profile-page.tsx
similarity index 100%
rename from app/soapbox/pages/profile-page.tsx
rename to src/pages/profile-page.tsx
diff --git a/app/soapbox/pages/remote-instance-page.tsx b/src/pages/remote-instance-page.tsx
similarity index 100%
rename from app/soapbox/pages/remote-instance-page.tsx
rename to src/pages/remote-instance-page.tsx
diff --git a/app/soapbox/pages/search-page.tsx b/src/pages/search-page.tsx
similarity index 100%
rename from app/soapbox/pages/search-page.tsx
rename to src/pages/search-page.tsx
diff --git a/app/soapbox/pages/status-page.tsx b/src/pages/status-page.tsx
similarity index 100%
rename from app/soapbox/pages/status-page.tsx
rename to src/pages/status-page.tsx
diff --git a/app/soapbox/polyfills.ts b/src/polyfills.ts
similarity index 100%
rename from app/soapbox/polyfills.ts
rename to src/polyfills.ts
diff --git a/app/soapbox/precheck.ts b/src/precheck.ts
similarity index 100%
rename from app/soapbox/precheck.ts
rename to src/precheck.ts
diff --git a/app/soapbox/queries/__mocks__/client.ts b/src/queries/__mocks__/client.ts
similarity index 100%
rename from app/soapbox/queries/__mocks__/client.ts
rename to src/queries/__mocks__/client.ts
diff --git a/app/soapbox/queries/__tests__/carousels.test.ts b/src/queries/__tests__/carousels.test.ts
similarity index 100%
rename from app/soapbox/queries/__tests__/carousels.test.ts
rename to src/queries/__tests__/carousels.test.ts
diff --git a/app/soapbox/queries/__tests__/chats.test.ts b/src/queries/__tests__/chats.test.ts
similarity index 100%
rename from app/soapbox/queries/__tests__/chats.test.ts
rename to src/queries/__tests__/chats.test.ts
diff --git a/app/soapbox/queries/__tests__/relationships.test.ts b/src/queries/__tests__/relationships.test.ts
similarity index 100%
rename from app/soapbox/queries/__tests__/relationships.test.ts
rename to src/queries/__tests__/relationships.test.ts
diff --git a/app/soapbox/queries/__tests__/suggestions.test.ts b/src/queries/__tests__/suggestions.test.ts
similarity index 100%
rename from app/soapbox/queries/__tests__/suggestions.test.ts
rename to src/queries/__tests__/suggestions.test.ts
diff --git a/app/soapbox/queries/__tests__/trends.test.ts b/src/queries/__tests__/trends.test.ts
similarity index 100%
rename from app/soapbox/queries/__tests__/trends.test.ts
rename to src/queries/__tests__/trends.test.ts
diff --git a/app/soapbox/queries/accounts.ts b/src/queries/accounts.ts
similarity index 100%
rename from app/soapbox/queries/accounts.ts
rename to src/queries/accounts.ts
diff --git a/app/soapbox/queries/ads.ts b/src/queries/ads.ts
similarity index 100%
rename from app/soapbox/queries/ads.ts
rename to src/queries/ads.ts
diff --git a/app/soapbox/queries/carousels.ts b/src/queries/carousels.ts
similarity index 100%
rename from app/soapbox/queries/carousels.ts
rename to src/queries/carousels.ts
diff --git a/app/soapbox/queries/chats.ts b/src/queries/chats.ts
similarity index 100%
rename from app/soapbox/queries/chats.ts
rename to src/queries/chats.ts
diff --git a/app/soapbox/queries/client.ts b/src/queries/client.ts
similarity index 100%
rename from app/soapbox/queries/client.ts
rename to src/queries/client.ts
diff --git a/app/soapbox/queries/embed.ts b/src/queries/embed.ts
similarity index 100%
rename from app/soapbox/queries/embed.ts
rename to src/queries/embed.ts
diff --git a/app/soapbox/queries/policies.ts b/src/queries/policies.ts
similarity index 100%
rename from app/soapbox/queries/policies.ts
rename to src/queries/policies.ts
diff --git a/app/soapbox/queries/relationships.ts b/src/queries/relationships.ts
similarity index 100%
rename from app/soapbox/queries/relationships.ts
rename to src/queries/relationships.ts
diff --git a/app/soapbox/queries/search.ts b/src/queries/search.ts
similarity index 100%
rename from app/soapbox/queries/search.ts
rename to src/queries/search.ts
diff --git a/app/soapbox/queries/suggestions.ts b/src/queries/suggestions.ts
similarity index 100%
rename from app/soapbox/queries/suggestions.ts
rename to src/queries/suggestions.ts
diff --git a/app/soapbox/queries/trends.ts b/src/queries/trends.ts
similarity index 100%
rename from app/soapbox/queries/trends.ts
rename to src/queries/trends.ts
diff --git a/app/soapbox/ready.ts b/src/ready.ts
similarity index 100%
rename from app/soapbox/ready.ts
rename to src/ready.ts
diff --git a/app/soapbox/reducers/__tests__/admin.test.ts b/src/reducers/__tests__/admin.test.ts
similarity index 100%
rename from app/soapbox/reducers/__tests__/admin.test.ts
rename to src/reducers/__tests__/admin.test.ts
diff --git a/app/soapbox/reducers/__tests__/announcements.test.ts b/src/reducers/__tests__/announcements.test.ts
similarity index 100%
rename from app/soapbox/reducers/__tests__/announcements.test.ts
rename to src/reducers/__tests__/announcements.test.ts
diff --git a/app/soapbox/reducers/__tests__/auth.test.ts b/src/reducers/__tests__/auth.test.ts
similarity index 98%
rename from app/soapbox/reducers/__tests__/auth.test.ts
rename to src/reducers/__tests__/auth.test.ts
index d461b3ddd..b6daa1614 100644
--- a/app/soapbox/reducers/__tests__/auth.test.ts
+++ b/src/reducers/__tests__/auth.test.ts
@@ -11,9 +11,8 @@ import {
import { ME_FETCH_SKIP } from 'soapbox/actions/me';
import { MASTODON_PRELOAD_IMPORT } from 'soapbox/actions/preload';
import { buildAccount } from 'soapbox/jest/factory';
-import { AuthAppRecord, AuthTokenRecord, AuthUserRecord, ReducerRecord } from 'soapbox/reducers/auth';
-import reducer from '../auth';
+import reducer, { AuthAppRecord, AuthTokenRecord, AuthUserRecord, ReducerRecord } from '../auth';
describe('auth reducer', () => {
it('should return the initial state', () => {
diff --git a/app/soapbox/reducers/__tests__/compose.test.ts b/src/reducers/__tests__/compose.test.ts
similarity index 100%
rename from app/soapbox/reducers/__tests__/compose.test.ts
rename to src/reducers/__tests__/compose.test.ts
diff --git a/app/soapbox/reducers/__tests__/contexts.test.ts b/src/reducers/__tests__/contexts.test.ts
similarity index 100%
rename from app/soapbox/reducers/__tests__/contexts.test.ts
rename to src/reducers/__tests__/contexts.test.ts
diff --git a/app/soapbox/reducers/__tests__/conversations.test.ts b/src/reducers/__tests__/conversations.test.ts
similarity index 100%
rename from app/soapbox/reducers/__tests__/conversations.test.ts
rename to src/reducers/__tests__/conversations.test.ts
diff --git a/app/soapbox/reducers/__tests__/custom-emojis.test.ts b/src/reducers/__tests__/custom-emojis.test.ts
similarity index 100%
rename from app/soapbox/reducers/__tests__/custom-emojis.test.ts
rename to src/reducers/__tests__/custom-emojis.test.ts
diff --git a/app/soapbox/reducers/__tests__/domain-lists.test.ts b/src/reducers/__tests__/domain-lists.test.ts
similarity index 100%
rename from app/soapbox/reducers/__tests__/domain-lists.test.ts
rename to src/reducers/__tests__/domain-lists.test.ts
diff --git a/app/soapbox/reducers/__tests__/dropdown-menu.test.ts b/src/reducers/__tests__/dropdown-menu.test.ts
similarity index 100%
rename from app/soapbox/reducers/__tests__/dropdown-menu.test.ts
rename to src/reducers/__tests__/dropdown-menu.test.ts
diff --git a/app/soapbox/reducers/__tests__/filters.test.ts b/src/reducers/__tests__/filters.test.ts
similarity index 100%
rename from app/soapbox/reducers/__tests__/filters.test.ts
rename to src/reducers/__tests__/filters.test.ts
diff --git a/app/soapbox/reducers/__tests__/index.test.ts b/src/reducers/__tests__/index.test.ts
similarity index 100%
rename from app/soapbox/reducers/__tests__/index.test.ts
rename to src/reducers/__tests__/index.test.ts
diff --git a/app/soapbox/reducers/__tests__/instance.test.ts b/src/reducers/__tests__/instance.test.ts
similarity index 100%
rename from app/soapbox/reducers/__tests__/instance.test.ts
rename to src/reducers/__tests__/instance.test.ts
diff --git a/app/soapbox/reducers/__tests__/list-adder.test.ts b/src/reducers/__tests__/list-adder.test.ts
similarity index 100%
rename from app/soapbox/reducers/__tests__/list-adder.test.ts
rename to src/reducers/__tests__/list-adder.test.ts
diff --git a/app/soapbox/reducers/__tests__/lists.test.ts b/src/reducers/__tests__/lists.test.ts
similarity index 100%
rename from app/soapbox/reducers/__tests__/lists.test.ts
rename to src/reducers/__tests__/lists.test.ts
diff --git a/app/soapbox/reducers/__tests__/me.test.ts b/src/reducers/__tests__/me.test.ts
similarity index 100%
rename from app/soapbox/reducers/__tests__/me.test.ts
rename to src/reducers/__tests__/me.test.ts
diff --git a/app/soapbox/reducers/__tests__/meta.test.ts b/src/reducers/__tests__/meta.test.ts
similarity index 100%
rename from app/soapbox/reducers/__tests__/meta.test.ts
rename to src/reducers/__tests__/meta.test.ts
diff --git a/app/soapbox/reducers/__tests__/modals.test.ts b/src/reducers/__tests__/modals.test.ts
similarity index 100%
rename from app/soapbox/reducers/__tests__/modals.test.ts
rename to src/reducers/__tests__/modals.test.ts
diff --git a/app/soapbox/reducers/__tests__/mutes.test.ts b/src/reducers/__tests__/mutes.test.ts
similarity index 100%
rename from app/soapbox/reducers/__tests__/mutes.test.ts
rename to src/reducers/__tests__/mutes.test.ts
diff --git a/app/soapbox/reducers/__tests__/onboarding.test.ts b/src/reducers/__tests__/onboarding.test.ts
similarity index 100%
rename from app/soapbox/reducers/__tests__/onboarding.test.ts
rename to src/reducers/__tests__/onboarding.test.ts
diff --git a/app/soapbox/reducers/__tests__/polls.test.ts b/src/reducers/__tests__/polls.test.ts
similarity index 100%
rename from app/soapbox/reducers/__tests__/polls.test.ts
rename to src/reducers/__tests__/polls.test.ts
diff --git a/app/soapbox/reducers/__tests__/push-notifications.test.ts b/src/reducers/__tests__/push-notifications.test.ts
similarity index 100%
rename from app/soapbox/reducers/__tests__/push-notifications.test.ts
rename to src/reducers/__tests__/push-notifications.test.ts
diff --git a/app/soapbox/reducers/__tests__/relationships.test.ts b/src/reducers/__tests__/relationships.test.ts
similarity index 100%
rename from app/soapbox/reducers/__tests__/relationships.test.ts
rename to src/reducers/__tests__/relationships.test.ts
diff --git a/app/soapbox/reducers/__tests__/reports.test.ts b/src/reducers/__tests__/reports.test.ts
similarity index 100%
rename from app/soapbox/reducers/__tests__/reports.test.ts
rename to src/reducers/__tests__/reports.test.ts
diff --git a/app/soapbox/reducers/__tests__/rules.test.ts b/src/reducers/__tests__/rules.test.ts
similarity index 100%
rename from app/soapbox/reducers/__tests__/rules.test.ts
rename to src/reducers/__tests__/rules.test.ts
diff --git a/app/soapbox/reducers/__tests__/settings.test.ts b/src/reducers/__tests__/settings.test.ts
similarity index 100%
rename from app/soapbox/reducers/__tests__/settings.test.ts
rename to src/reducers/__tests__/settings.test.ts
diff --git a/app/soapbox/reducers/__tests__/sidebar.test.ts b/src/reducers/__tests__/sidebar.test.ts
similarity index 100%
rename from app/soapbox/reducers/__tests__/sidebar.test.ts
rename to src/reducers/__tests__/sidebar.test.ts
diff --git a/app/soapbox/reducers/__tests__/soapbox.test.ts b/src/reducers/__tests__/soapbox.test.ts
similarity index 100%
rename from app/soapbox/reducers/__tests__/soapbox.test.ts
rename to src/reducers/__tests__/soapbox.test.ts
diff --git a/app/soapbox/reducers/__tests__/status-hover-card.test.tsx b/src/reducers/__tests__/status-hover-card.test.tsx
similarity index 100%
rename from app/soapbox/reducers/__tests__/status-hover-card.test.tsx
rename to src/reducers/__tests__/status-hover-card.test.tsx
diff --git a/app/soapbox/reducers/__tests__/status-lists.test.ts b/src/reducers/__tests__/status-lists.test.ts
similarity index 100%
rename from app/soapbox/reducers/__tests__/status-lists.test.ts
rename to src/reducers/__tests__/status-lists.test.ts
diff --git a/app/soapbox/reducers/__tests__/statuses.test.ts b/src/reducers/__tests__/statuses.test.ts
similarity index 100%
rename from app/soapbox/reducers/__tests__/statuses.test.ts
rename to src/reducers/__tests__/statuses.test.ts
diff --git a/app/soapbox/reducers/__tests__/suggestions.test.ts b/src/reducers/__tests__/suggestions.test.ts
similarity index 100%
rename from app/soapbox/reducers/__tests__/suggestions.test.ts
rename to src/reducers/__tests__/suggestions.test.ts
diff --git a/app/soapbox/reducers/__tests__/timelines.test.ts b/src/reducers/__tests__/timelines.test.ts
similarity index 100%
rename from app/soapbox/reducers/__tests__/timelines.test.ts
rename to src/reducers/__tests__/timelines.test.ts
diff --git a/app/soapbox/reducers/__tests__/trends.test.ts b/src/reducers/__tests__/trends.test.ts
similarity index 100%
rename from app/soapbox/reducers/__tests__/trends.test.ts
rename to src/reducers/__tests__/trends.test.ts
diff --git a/app/soapbox/reducers/__tests__/user-lists.test.ts b/src/reducers/__tests__/user-lists.test.ts
similarity index 100%
rename from app/soapbox/reducers/__tests__/user-lists.test.ts
rename to src/reducers/__tests__/user-lists.test.ts
diff --git a/app/soapbox/reducers/__tests__/verification.test.ts b/src/reducers/__tests__/verification.test.ts
similarity index 100%
rename from app/soapbox/reducers/__tests__/verification.test.ts
rename to src/reducers/__tests__/verification.test.ts
diff --git a/app/soapbox/reducers/accounts-meta.ts b/src/reducers/accounts-meta.ts
similarity index 100%
rename from app/soapbox/reducers/accounts-meta.ts
rename to src/reducers/accounts-meta.ts
diff --git a/app/soapbox/reducers/accounts.ts b/src/reducers/accounts.ts
similarity index 100%
rename from app/soapbox/reducers/accounts.ts
rename to src/reducers/accounts.ts
diff --git a/app/soapbox/reducers/admin-announcements.ts b/src/reducers/admin-announcements.ts
similarity index 100%
rename from app/soapbox/reducers/admin-announcements.ts
rename to src/reducers/admin-announcements.ts
diff --git a/app/soapbox/reducers/admin-log.ts b/src/reducers/admin-log.ts
similarity index 100%
rename from app/soapbox/reducers/admin-log.ts
rename to src/reducers/admin-log.ts
diff --git a/app/soapbox/reducers/admin-user-index.ts b/src/reducers/admin-user-index.ts
similarity index 100%
rename from app/soapbox/reducers/admin-user-index.ts
rename to src/reducers/admin-user-index.ts
diff --git a/app/soapbox/reducers/admin.ts b/src/reducers/admin.ts
similarity index 100%
rename from app/soapbox/reducers/admin.ts
rename to src/reducers/admin.ts
diff --git a/app/soapbox/reducers/aliases.ts b/src/reducers/aliases.ts
similarity index 100%
rename from app/soapbox/reducers/aliases.ts
rename to src/reducers/aliases.ts
diff --git a/app/soapbox/reducers/announcements.ts b/src/reducers/announcements.ts
similarity index 100%
rename from app/soapbox/reducers/announcements.ts
rename to src/reducers/announcements.ts
diff --git a/app/soapbox/reducers/auth.ts b/src/reducers/auth.ts
similarity index 100%
rename from app/soapbox/reducers/auth.ts
rename to src/reducers/auth.ts
diff --git a/app/soapbox/reducers/backups.tsx b/src/reducers/backups.tsx
similarity index 100%
rename from app/soapbox/reducers/backups.tsx
rename to src/reducers/backups.tsx
diff --git a/app/soapbox/reducers/chat-message-lists.ts b/src/reducers/chat-message-lists.ts
similarity index 100%
rename from app/soapbox/reducers/chat-message-lists.ts
rename to src/reducers/chat-message-lists.ts
diff --git a/app/soapbox/reducers/chat-messages.ts b/src/reducers/chat-messages.ts
similarity index 100%
rename from app/soapbox/reducers/chat-messages.ts
rename to src/reducers/chat-messages.ts
diff --git a/app/soapbox/reducers/chats.ts b/src/reducers/chats.ts
similarity index 100%
rename from app/soapbox/reducers/chats.ts
rename to src/reducers/chats.ts
diff --git a/app/soapbox/reducers/compose-event.ts b/src/reducers/compose-event.ts
similarity index 100%
rename from app/soapbox/reducers/compose-event.ts
rename to src/reducers/compose-event.ts
diff --git a/app/soapbox/reducers/compose.ts b/src/reducers/compose.ts
similarity index 100%
rename from app/soapbox/reducers/compose.ts
rename to src/reducers/compose.ts
diff --git a/app/soapbox/reducers/contexts.ts b/src/reducers/contexts.ts
similarity index 100%
rename from app/soapbox/reducers/contexts.ts
rename to src/reducers/contexts.ts
diff --git a/app/soapbox/reducers/conversations.ts b/src/reducers/conversations.ts
similarity index 100%
rename from app/soapbox/reducers/conversations.ts
rename to src/reducers/conversations.ts
diff --git a/app/soapbox/reducers/custom-emojis.ts b/src/reducers/custom-emojis.ts
similarity index 100%
rename from app/soapbox/reducers/custom-emojis.ts
rename to src/reducers/custom-emojis.ts
diff --git a/app/soapbox/reducers/domain-lists.ts b/src/reducers/domain-lists.ts
similarity index 100%
rename from app/soapbox/reducers/domain-lists.ts
rename to src/reducers/domain-lists.ts
diff --git a/app/soapbox/reducers/dropdown-menu.ts b/src/reducers/dropdown-menu.ts
similarity index 100%
rename from app/soapbox/reducers/dropdown-menu.ts
rename to src/reducers/dropdown-menu.ts
diff --git a/app/soapbox/reducers/filters.ts b/src/reducers/filters.ts
similarity index 100%
rename from app/soapbox/reducers/filters.ts
rename to src/reducers/filters.ts
diff --git a/app/soapbox/reducers/followed-tags.ts b/src/reducers/followed-tags.ts
similarity index 100%
rename from app/soapbox/reducers/followed-tags.ts
rename to src/reducers/followed-tags.ts
diff --git a/app/soapbox/reducers/group-memberships.ts b/src/reducers/group-memberships.ts
similarity index 100%
rename from app/soapbox/reducers/group-memberships.ts
rename to src/reducers/group-memberships.ts
diff --git a/app/soapbox/reducers/group-relationships.ts b/src/reducers/group-relationships.ts
similarity index 100%
rename from app/soapbox/reducers/group-relationships.ts
rename to src/reducers/group-relationships.ts
diff --git a/app/soapbox/reducers/groups.ts b/src/reducers/groups.ts
similarity index 100%
rename from app/soapbox/reducers/groups.ts
rename to src/reducers/groups.ts
diff --git a/app/soapbox/reducers/history.ts b/src/reducers/history.ts
similarity index 100%
rename from app/soapbox/reducers/history.ts
rename to src/reducers/history.ts
diff --git a/app/soapbox/reducers/index.ts b/src/reducers/index.ts
similarity index 100%
rename from app/soapbox/reducers/index.ts
rename to src/reducers/index.ts
diff --git a/app/soapbox/reducers/instance.ts b/src/reducers/instance.ts
similarity index 100%
rename from app/soapbox/reducers/instance.ts
rename to src/reducers/instance.ts
diff --git a/app/soapbox/reducers/list-adder.ts b/src/reducers/list-adder.ts
similarity index 100%
rename from app/soapbox/reducers/list-adder.ts
rename to src/reducers/list-adder.ts
diff --git a/app/soapbox/reducers/list-editor.ts b/src/reducers/list-editor.ts
similarity index 100%
rename from app/soapbox/reducers/list-editor.ts
rename to src/reducers/list-editor.ts
diff --git a/app/soapbox/reducers/lists.ts b/src/reducers/lists.ts
similarity index 100%
rename from app/soapbox/reducers/lists.ts
rename to src/reducers/lists.ts
diff --git a/app/soapbox/reducers/locations.ts b/src/reducers/locations.ts
similarity index 100%
rename from app/soapbox/reducers/locations.ts
rename to src/reducers/locations.ts
diff --git a/app/soapbox/reducers/me.ts b/src/reducers/me.ts
similarity index 100%
rename from app/soapbox/reducers/me.ts
rename to src/reducers/me.ts
diff --git a/app/soapbox/reducers/meta.ts b/src/reducers/meta.ts
similarity index 100%
rename from app/soapbox/reducers/meta.ts
rename to src/reducers/meta.ts
diff --git a/app/soapbox/reducers/modals.ts b/src/reducers/modals.ts
similarity index 100%
rename from app/soapbox/reducers/modals.ts
rename to src/reducers/modals.ts
diff --git a/app/soapbox/reducers/mutes.ts b/src/reducers/mutes.ts
similarity index 100%
rename from app/soapbox/reducers/mutes.ts
rename to src/reducers/mutes.ts
diff --git a/app/soapbox/reducers/notifications.ts b/src/reducers/notifications.ts
similarity index 100%
rename from app/soapbox/reducers/notifications.ts
rename to src/reducers/notifications.ts
diff --git a/app/soapbox/reducers/onboarding.ts b/src/reducers/onboarding.ts
similarity index 100%
rename from app/soapbox/reducers/onboarding.ts
rename to src/reducers/onboarding.ts
diff --git a/app/soapbox/reducers/patron.ts b/src/reducers/patron.ts
similarity index 100%
rename from app/soapbox/reducers/patron.ts
rename to src/reducers/patron.ts
diff --git a/app/soapbox/reducers/pending-statuses.ts b/src/reducers/pending-statuses.ts
similarity index 100%
rename from app/soapbox/reducers/pending-statuses.ts
rename to src/reducers/pending-statuses.ts
diff --git a/app/soapbox/reducers/polls.ts b/src/reducers/polls.ts
similarity index 100%
rename from app/soapbox/reducers/polls.ts
rename to src/reducers/polls.ts
diff --git a/app/soapbox/reducers/profile-hover-card.ts b/src/reducers/profile-hover-card.ts
similarity index 100%
rename from app/soapbox/reducers/profile-hover-card.ts
rename to src/reducers/profile-hover-card.ts
diff --git a/app/soapbox/reducers/push-notifications.ts b/src/reducers/push-notifications.ts
similarity index 100%
rename from app/soapbox/reducers/push-notifications.ts
rename to src/reducers/push-notifications.ts
diff --git a/app/soapbox/reducers/relationships.ts b/src/reducers/relationships.ts
similarity index 100%
rename from app/soapbox/reducers/relationships.ts
rename to src/reducers/relationships.ts
diff --git a/app/soapbox/reducers/reports.ts b/src/reducers/reports.ts
similarity index 100%
rename from app/soapbox/reducers/reports.ts
rename to src/reducers/reports.ts
diff --git a/app/soapbox/reducers/rules.ts b/src/reducers/rules.ts
similarity index 100%
rename from app/soapbox/reducers/rules.ts
rename to src/reducers/rules.ts
diff --git a/app/soapbox/reducers/scheduled-statuses.ts b/src/reducers/scheduled-statuses.ts
similarity index 100%
rename from app/soapbox/reducers/scheduled-statuses.ts
rename to src/reducers/scheduled-statuses.ts
diff --git a/app/soapbox/reducers/search.ts b/src/reducers/search.ts
similarity index 100%
rename from app/soapbox/reducers/search.ts
rename to src/reducers/search.ts
diff --git a/app/soapbox/reducers/security.ts b/src/reducers/security.ts
similarity index 100%
rename from app/soapbox/reducers/security.ts
rename to src/reducers/security.ts
diff --git a/app/soapbox/reducers/settings.ts b/src/reducers/settings.ts
similarity index 100%
rename from app/soapbox/reducers/settings.ts
rename to src/reducers/settings.ts
diff --git a/app/soapbox/reducers/sidebar.ts b/src/reducers/sidebar.ts
similarity index 100%
rename from app/soapbox/reducers/sidebar.ts
rename to src/reducers/sidebar.ts
diff --git a/app/soapbox/reducers/soapbox.ts b/src/reducers/soapbox.ts
similarity index 100%
rename from app/soapbox/reducers/soapbox.ts
rename to src/reducers/soapbox.ts
diff --git a/app/soapbox/reducers/status-hover-card.ts b/src/reducers/status-hover-card.ts
similarity index 100%
rename from app/soapbox/reducers/status-hover-card.ts
rename to src/reducers/status-hover-card.ts
diff --git a/app/soapbox/reducers/status-lists.ts b/src/reducers/status-lists.ts
similarity index 100%
rename from app/soapbox/reducers/status-lists.ts
rename to src/reducers/status-lists.ts
diff --git a/app/soapbox/reducers/statuses.ts b/src/reducers/statuses.ts
similarity index 100%
rename from app/soapbox/reducers/statuses.ts
rename to src/reducers/statuses.ts
diff --git a/app/soapbox/reducers/suggestions.ts b/src/reducers/suggestions.ts
similarity index 98%
rename from app/soapbox/reducers/suggestions.ts
rename to src/reducers/suggestions.ts
index 81d0d9a2f..52fbb2a0d 100644
--- a/app/soapbox/reducers/suggestions.ts
+++ b/src/reducers/suggestions.ts
@@ -11,10 +11,9 @@ import {
SUGGESTIONS_V2_FETCH_SUCCESS,
SUGGESTIONS_V2_FETCH_FAIL,
SUGGESTIONS_TRUTH_FETCH_SUCCESS,
+ type SuggestedProfile,
} from 'soapbox/actions/suggestions';
-import { SuggestedProfile } from '../actions/suggestions';
-
import type { AnyAction } from 'redux';
import type { APIEntity } from 'soapbox/types/entities';
diff --git a/app/soapbox/reducers/tags.ts b/src/reducers/tags.ts
similarity index 100%
rename from app/soapbox/reducers/tags.ts
rename to src/reducers/tags.ts
diff --git a/app/soapbox/reducers/timelines.ts b/src/reducers/timelines.ts
similarity index 100%
rename from app/soapbox/reducers/timelines.ts
rename to src/reducers/timelines.ts
diff --git a/app/soapbox/reducers/trending-statuses.ts b/src/reducers/trending-statuses.ts
similarity index 100%
rename from app/soapbox/reducers/trending-statuses.ts
rename to src/reducers/trending-statuses.ts
diff --git a/app/soapbox/reducers/trends.ts b/src/reducers/trends.ts
similarity index 100%
rename from app/soapbox/reducers/trends.ts
rename to src/reducers/trends.ts
diff --git a/app/soapbox/reducers/user-lists.ts b/src/reducers/user-lists.ts
similarity index 100%
rename from app/soapbox/reducers/user-lists.ts
rename to src/reducers/user-lists.ts
diff --git a/app/soapbox/reducers/verification.ts b/src/reducers/verification.ts
similarity index 100%
rename from app/soapbox/reducers/verification.ts
rename to src/reducers/verification.ts
diff --git a/app/soapbox/rtl.ts b/src/rtl.ts
similarity index 100%
rename from app/soapbox/rtl.ts
rename to src/rtl.ts
diff --git a/app/soapbox/schemas/__tests__/card.test.ts b/src/schemas/__tests__/card.test.ts
similarity index 100%
rename from app/soapbox/schemas/__tests__/card.test.ts
rename to src/schemas/__tests__/card.test.ts
diff --git a/app/soapbox/schemas/__tests__/group.test.ts b/src/schemas/__tests__/group.test.ts
similarity index 100%
rename from app/soapbox/schemas/__tests__/group.test.ts
rename to src/schemas/__tests__/group.test.ts
diff --git a/app/soapbox/schemas/__tests__/poll.test.ts b/src/schemas/__tests__/poll.test.ts
similarity index 100%
rename from app/soapbox/schemas/__tests__/poll.test.ts
rename to src/schemas/__tests__/poll.test.ts
diff --git a/app/soapbox/schemas/account.ts b/src/schemas/account.ts
similarity index 96%
rename from app/soapbox/schemas/account.ts
rename to src/schemas/account.ts
index a4881f4bc..88128c35e 100644
--- a/app/soapbox/schemas/account.ts
+++ b/src/schemas/account.ts
@@ -10,8 +10,8 @@ import { contentSchema, filteredArray, makeCustomEmojiMap } from './utils';
import type { Resolve } from 'soapbox/utils/types';
-const avatarMissing = require('assets/images/avatar-missing.png');
-const headerMissing = require('assets/images/header-missing.png');
+const avatarMissing = require('soapbox/assets/images/avatar-missing.png');
+const headerMissing = require('soapbox/assets/images/header-missing.png');
const birthdaySchema = z.string().regex(/^\d{4}-\d{2}-\d{2}$/);
diff --git a/app/soapbox/schemas/attachment.ts b/src/schemas/attachment.ts
similarity index 100%
rename from app/soapbox/schemas/attachment.ts
rename to src/schemas/attachment.ts
diff --git a/app/soapbox/schemas/card.ts b/src/schemas/card.ts
similarity index 100%
rename from app/soapbox/schemas/card.ts
rename to src/schemas/card.ts
diff --git a/app/soapbox/schemas/chat-message.ts b/src/schemas/chat-message.ts
similarity index 100%
rename from app/soapbox/schemas/chat-message.ts
rename to src/schemas/chat-message.ts
diff --git a/app/soapbox/schemas/custom-emoji.ts b/src/schemas/custom-emoji.ts
similarity index 100%
rename from app/soapbox/schemas/custom-emoji.ts
rename to src/schemas/custom-emoji.ts
diff --git a/app/soapbox/schemas/emoji-reaction.ts b/src/schemas/emoji-reaction.ts
similarity index 100%
rename from app/soapbox/schemas/emoji-reaction.ts
rename to src/schemas/emoji-reaction.ts
diff --git a/app/soapbox/schemas/event.ts b/src/schemas/event.ts
similarity index 100%
rename from app/soapbox/schemas/event.ts
rename to src/schemas/event.ts
diff --git a/app/soapbox/schemas/group-member.ts b/src/schemas/group-member.ts
similarity index 100%
rename from app/soapbox/schemas/group-member.ts
rename to src/schemas/group-member.ts
diff --git a/app/soapbox/schemas/group-relationship.ts b/src/schemas/group-relationship.ts
similarity index 100%
rename from app/soapbox/schemas/group-relationship.ts
rename to src/schemas/group-relationship.ts
diff --git a/app/soapbox/schemas/group-tag.ts b/src/schemas/group-tag.ts
similarity index 100%
rename from app/soapbox/schemas/group-tag.ts
rename to src/schemas/group-tag.ts
diff --git a/app/soapbox/schemas/group.ts b/src/schemas/group.ts
similarity index 93%
rename from app/soapbox/schemas/group.ts
rename to src/schemas/group.ts
index be9238308..9d97a4047 100644
--- a/app/soapbox/schemas/group.ts
+++ b/src/schemas/group.ts
@@ -9,8 +9,8 @@ import { groupRelationshipSchema } from './group-relationship';
import { groupTagSchema } from './group-tag';
import { filteredArray, makeCustomEmojiMap } from './utils';
-const avatarMissing = require('assets/images/avatar-missing.png');
-const headerMissing = require('assets/images/header-missing.png');
+const avatarMissing = require('soapbox/assets/images/avatar-missing.png');
+const headerMissing = require('soapbox/assets/images/header-missing.png');
const groupSchema = z.object({
avatar: z.string().catch(avatarMissing),
diff --git a/app/soapbox/schemas/index.ts b/src/schemas/index.ts
similarity index 100%
rename from app/soapbox/schemas/index.ts
rename to src/schemas/index.ts
diff --git a/app/soapbox/schemas/location.ts b/src/schemas/location.ts
similarity index 100%
rename from app/soapbox/schemas/location.ts
rename to src/schemas/location.ts
diff --git a/app/soapbox/schemas/mention.ts b/src/schemas/mention.ts
similarity index 100%
rename from app/soapbox/schemas/mention.ts
rename to src/schemas/mention.ts
diff --git a/app/soapbox/schemas/nostr.ts b/src/schemas/nostr.ts
similarity index 100%
rename from app/soapbox/schemas/nostr.ts
rename to src/schemas/nostr.ts
diff --git a/app/soapbox/schemas/notification.ts b/src/schemas/notification.ts
similarity index 100%
rename from app/soapbox/schemas/notification.ts
rename to src/schemas/notification.ts
diff --git a/app/soapbox/schemas/patron.ts b/src/schemas/patron.ts
similarity index 100%
rename from app/soapbox/schemas/patron.ts
rename to src/schemas/patron.ts
diff --git a/app/soapbox/schemas/poll.ts b/src/schemas/poll.ts
similarity index 100%
rename from app/soapbox/schemas/poll.ts
rename to src/schemas/poll.ts
diff --git a/app/soapbox/schemas/relationship.ts b/src/schemas/relationship.ts
similarity index 100%
rename from app/soapbox/schemas/relationship.ts
rename to src/schemas/relationship.ts
diff --git a/app/soapbox/schemas/soapbox/ad.ts b/src/schemas/soapbox/ad.ts
similarity index 100%
rename from app/soapbox/schemas/soapbox/ad.ts
rename to src/schemas/soapbox/ad.ts
diff --git a/app/soapbox/schemas/soapbox/settings.ts b/src/schemas/soapbox/settings.ts
similarity index 100%
rename from app/soapbox/schemas/soapbox/settings.ts
rename to src/schemas/soapbox/settings.ts
diff --git a/app/soapbox/schemas/status.ts b/src/schemas/status.ts
similarity index 100%
rename from app/soapbox/schemas/status.ts
rename to src/schemas/status.ts
diff --git a/app/soapbox/schemas/tag.ts b/src/schemas/tag.ts
similarity index 100%
rename from app/soapbox/schemas/tag.ts
rename to src/schemas/tag.ts
diff --git a/app/soapbox/schemas/tombstone.ts b/src/schemas/tombstone.ts
similarity index 100%
rename from app/soapbox/schemas/tombstone.ts
rename to src/schemas/tombstone.ts
diff --git a/app/soapbox/schemas/utils.ts b/src/schemas/utils.ts
similarity index 100%
rename from app/soapbox/schemas/utils.ts
rename to src/schemas/utils.ts
diff --git a/app/soapbox/selectors/index.ts b/src/selectors/index.ts
similarity index 100%
rename from app/soapbox/selectors/index.ts
rename to src/selectors/index.ts
diff --git a/app/soapbox/service-worker/sw.ts b/src/service-worker/sw.ts
similarity index 100%
rename from app/soapbox/service-worker/sw.ts
rename to src/service-worker/sw.ts
diff --git a/app/soapbox/service-worker/web-push-locales.ts b/src/service-worker/web-push-locales.ts
similarity index 100%
rename from app/soapbox/service-worker/web-push-locales.ts
rename to src/service-worker/web-push-locales.ts
diff --git a/app/soapbox/settings.ts b/src/settings.ts
similarity index 100%
rename from app/soapbox/settings.ts
rename to src/settings.ts
diff --git a/app/soapbox/storage/kv-store.ts b/src/storage/kv-store.ts
similarity index 100%
rename from app/soapbox/storage/kv-store.ts
rename to src/storage/kv-store.ts
diff --git a/app/soapbox/store.ts b/src/store.ts
similarity index 100%
rename from app/soapbox/store.ts
rename to src/store.ts
diff --git a/app/soapbox/stream.ts b/src/stream.ts
similarity index 100%
rename from app/soapbox/stream.ts
rename to src/stream.ts
diff --git a/app/styles/accessibility.scss b/src/styles/accessibility.scss
similarity index 100%
rename from app/styles/accessibility.scss
rename to src/styles/accessibility.scss
diff --git a/app/styles/application.scss b/src/styles/application.scss
similarity index 100%
rename from app/styles/application.scss
rename to src/styles/application.scss
diff --git a/app/styles/autosuggest.scss b/src/styles/autosuggest.scss
similarity index 100%
rename from app/styles/autosuggest.scss
rename to src/styles/autosuggest.scss
diff --git a/app/styles/basics.scss b/src/styles/basics.scss
similarity index 100%
rename from app/styles/basics.scss
rename to src/styles/basics.scss
diff --git a/app/styles/components/aliases.scss b/src/styles/components/aliases.scss
similarity index 100%
rename from app/styles/components/aliases.scss
rename to src/styles/components/aliases.scss
diff --git a/app/styles/components/audio-player.scss b/src/styles/components/audio-player.scss
similarity index 100%
rename from app/styles/components/audio-player.scss
rename to src/styles/components/audio-player.scss
diff --git a/app/styles/components/buttons.scss b/src/styles/components/buttons.scss
similarity index 100%
rename from app/styles/components/buttons.scss
rename to src/styles/components/buttons.scss
diff --git a/app/styles/components/columns.scss b/src/styles/components/columns.scss
similarity index 100%
rename from app/styles/components/columns.scss
rename to src/styles/components/columns.scss
diff --git a/app/styles/components/compose-form.scss b/src/styles/components/compose-form.scss
similarity index 100%
rename from app/styles/components/compose-form.scss
rename to src/styles/components/compose-form.scss
diff --git a/app/styles/components/crypto-donate.scss b/src/styles/components/crypto-donate.scss
similarity index 100%
rename from app/styles/components/crypto-donate.scss
rename to src/styles/components/crypto-donate.scss
diff --git a/app/styles/components/datepicker.scss b/src/styles/components/datepicker.scss
similarity index 100%
rename from app/styles/components/datepicker.scss
rename to src/styles/components/datepicker.scss
diff --git a/app/styles/components/detailed-status.scss b/src/styles/components/detailed-status.scss
similarity index 100%
rename from app/styles/components/detailed-status.scss
rename to src/styles/components/detailed-status.scss
diff --git a/app/styles/components/display-name.scss b/src/styles/components/display-name.scss
similarity index 100%
rename from app/styles/components/display-name.scss
rename to src/styles/components/display-name.scss
diff --git a/app/styles/components/icon.scss b/src/styles/components/icon.scss
similarity index 100%
rename from app/styles/components/icon.scss
rename to src/styles/components/icon.scss
diff --git a/app/styles/components/media-gallery.scss b/src/styles/components/media-gallery.scss
similarity index 100%
rename from app/styles/components/media-gallery.scss
rename to src/styles/components/media-gallery.scss
diff --git a/app/styles/components/modal.scss b/src/styles/components/modal.scss
similarity index 100%
rename from app/styles/components/modal.scss
rename to src/styles/components/modal.scss
diff --git a/app/styles/components/notification.scss b/src/styles/components/notification.scss
similarity index 100%
rename from app/styles/components/notification.scss
rename to src/styles/components/notification.scss
diff --git a/app/styles/components/reply-mentions.scss b/src/styles/components/reply-mentions.scss
similarity index 100%
rename from app/styles/components/reply-mentions.scss
rename to src/styles/components/reply-mentions.scss
diff --git a/app/styles/components/search.scss b/src/styles/components/search.scss
similarity index 100%
rename from app/styles/components/search.scss
rename to src/styles/components/search.scss
diff --git a/app/styles/components/status.scss b/src/styles/components/status.scss
similarity index 100%
rename from app/styles/components/status.scss
rename to src/styles/components/status.scss
diff --git a/app/styles/components/video-player.scss b/src/styles/components/video-player.scss
similarity index 100%
rename from app/styles/components/video-player.scss
rename to src/styles/components/video-player.scss
diff --git a/app/styles/emoji-picker.scss b/src/styles/emoji-picker.scss
similarity index 100%
rename from app/styles/emoji-picker.scss
rename to src/styles/emoji-picker.scss
diff --git a/app/styles/fonts.scss b/src/styles/fonts.scss
similarity index 100%
rename from app/styles/fonts.scss
rename to src/styles/fonts.scss
diff --git a/app/styles/forms.scss b/src/styles/forms.scss
similarity index 100%
rename from app/styles/forms.scss
rename to src/styles/forms.scss
diff --git a/app/styles/loading.scss b/src/styles/loading.scss
similarity index 100%
rename from app/styles/loading.scss
rename to src/styles/loading.scss
diff --git a/app/styles/navigation.scss b/src/styles/navigation.scss
similarity index 100%
rename from app/styles/navigation.scss
rename to src/styles/navigation.scss
diff --git a/app/styles/rtl.scss b/src/styles/rtl.scss
similarity index 100%
rename from app/styles/rtl.scss
rename to src/styles/rtl.scss
diff --git a/app/styles/tailwind.css b/src/styles/tailwind.css
similarity index 100%
rename from app/styles/tailwind.css
rename to src/styles/tailwind.css
diff --git a/app/styles/ui.scss b/src/styles/ui.scss
similarity index 100%
rename from app/styles/ui.scss
rename to src/styles/ui.scss
diff --git a/app/styles/utilities.scss b/src/styles/utilities.scss
similarity index 100%
rename from app/styles/utilities.scss
rename to src/styles/utilities.scss
diff --git a/app/styles/variables.scss b/src/styles/variables.scss
similarity index 100%
rename from app/styles/variables.scss
rename to src/styles/variables.scss
diff --git a/app/soapbox/toast.tsx b/src/toast.tsx
similarity index 100%
rename from app/soapbox/toast.tsx
rename to src/toast.tsx
diff --git a/app/soapbox/types/colors.ts b/src/types/colors.ts
similarity index 100%
rename from app/soapbox/types/colors.ts
rename to src/types/colors.ts
diff --git a/app/soapbox/types/entities.ts b/src/types/entities.ts
similarity index 100%
rename from app/soapbox/types/entities.ts
rename to src/types/entities.ts
diff --git a/app/soapbox/types/history.ts b/src/types/history.ts
similarity index 100%
rename from app/soapbox/types/history.ts
rename to src/types/history.ts
diff --git a/app/soapbox/types/nostr.ts b/src/types/nostr.ts
similarity index 100%
rename from app/soapbox/types/nostr.ts
rename to src/types/nostr.ts
diff --git a/app/soapbox/types/soapbox.ts b/src/types/soapbox.ts
similarity index 100%
rename from app/soapbox/types/soapbox.ts
rename to src/types/soapbox.ts
diff --git a/app/soapbox/types/window.d.ts b/src/types/window.d.ts
similarity index 100%
rename from app/soapbox/types/window.d.ts
rename to src/types/window.d.ts
diff --git a/app/soapbox/utils/__tests__/accounts.test.ts b/src/utils/__tests__/accounts.test.ts
similarity index 100%
rename from app/soapbox/utils/__tests__/accounts.test.ts
rename to src/utils/__tests__/accounts.test.ts
diff --git a/app/soapbox/utils/__tests__/ads.test.ts b/src/utils/__tests__/ads.test.ts
similarity index 100%
rename from app/soapbox/utils/__tests__/ads.test.ts
rename to src/utils/__tests__/ads.test.ts
diff --git a/app/soapbox/utils/__tests__/badges.test.ts b/src/utils/__tests__/badges.test.ts
similarity index 100%
rename from app/soapbox/utils/__tests__/badges.test.ts
rename to src/utils/__tests__/badges.test.ts
diff --git a/app/soapbox/utils/__tests__/base64.test.ts b/src/utils/__tests__/base64.test.ts
similarity index 100%
rename from app/soapbox/utils/__tests__/base64.test.ts
rename to src/utils/__tests__/base64.test.ts
diff --git a/app/soapbox/utils/__tests__/chats.test.ts b/src/utils/__tests__/chats.test.ts
similarity index 100%
rename from app/soapbox/utils/__tests__/chats.test.ts
rename to src/utils/__tests__/chats.test.ts
diff --git a/app/soapbox/utils/__tests__/colors.test.ts b/src/utils/__tests__/colors.test.ts
similarity index 100%
rename from app/soapbox/utils/__tests__/colors.test.ts
rename to src/utils/__tests__/colors.test.ts
diff --git a/app/soapbox/utils/__tests__/comparators.test.ts b/src/utils/__tests__/comparators.test.ts
similarity index 100%
rename from app/soapbox/utils/__tests__/comparators.test.ts
rename to src/utils/__tests__/comparators.test.ts
diff --git a/app/soapbox/utils/__tests__/config-db.test.ts b/src/utils/__tests__/config-db.test.ts
similarity index 100%
rename from app/soapbox/utils/__tests__/config-db.test.ts
rename to src/utils/__tests__/config-db.test.ts
diff --git a/app/soapbox/utils/__tests__/emoji-reacts.test.ts b/src/utils/__tests__/emoji-reacts.test.ts
similarity index 100%
rename from app/soapbox/utils/__tests__/emoji-reacts.test.ts
rename to src/utils/__tests__/emoji-reacts.test.ts
diff --git a/app/soapbox/utils/__tests__/emoji.test.ts b/src/utils/__tests__/emoji.test.ts
similarity index 100%
rename from app/soapbox/utils/__tests__/emoji.test.ts
rename to src/utils/__tests__/emoji.test.ts
diff --git a/app/soapbox/utils/__tests__/features.test.ts b/src/utils/__tests__/features.test.ts
similarity index 100%
rename from app/soapbox/utils/__tests__/features.test.ts
rename to src/utils/__tests__/features.test.ts
diff --git a/app/soapbox/utils/__tests__/html.test.ts b/src/utils/__tests__/html.test.ts
similarity index 100%
rename from app/soapbox/utils/__tests__/html.test.ts
rename to src/utils/__tests__/html.test.ts
diff --git a/app/soapbox/utils/__tests__/input.test.ts b/src/utils/__tests__/input.test.ts
similarity index 100%
rename from app/soapbox/utils/__tests__/input.test.ts
rename to src/utils/__tests__/input.test.ts
diff --git a/app/soapbox/utils/__tests__/media.test.ts b/src/utils/__tests__/media.test.ts
similarity index 100%
rename from app/soapbox/utils/__tests__/media.test.ts
rename to src/utils/__tests__/media.test.ts
diff --git a/app/soapbox/utils/__tests__/numbers.test.tsx b/src/utils/__tests__/numbers.test.tsx
similarity index 100%
rename from app/soapbox/utils/__tests__/numbers.test.tsx
rename to src/utils/__tests__/numbers.test.tsx
diff --git a/app/soapbox/utils/__tests__/queries.test.ts b/src/utils/__tests__/queries.test.ts
similarity index 100%
rename from app/soapbox/utils/__tests__/queries.test.ts
rename to src/utils/__tests__/queries.test.ts
diff --git a/app/soapbox/utils/__tests__/status.test.ts b/src/utils/__tests__/status.test.ts
similarity index 100%
rename from app/soapbox/utils/__tests__/status.test.ts
rename to src/utils/__tests__/status.test.ts
diff --git a/app/soapbox/utils/__tests__/tailwind.test.ts b/src/utils/__tests__/tailwind.test.ts
similarity index 100%
rename from app/soapbox/utils/__tests__/tailwind.test.ts
rename to src/utils/__tests__/tailwind.test.ts
diff --git a/app/soapbox/utils/__tests__/timelines.test.ts b/src/utils/__tests__/timelines.test.ts
similarity index 100%
rename from app/soapbox/utils/__tests__/timelines.test.ts
rename to src/utils/__tests__/timelines.test.ts
diff --git a/app/soapbox/utils/accounts.ts b/src/utils/accounts.ts
similarity index 90%
rename from app/soapbox/utils/accounts.ts
rename to src/utils/accounts.ts
index a51ed9aad..51122dfc5 100644
--- a/app/soapbox/utils/accounts.ts
+++ b/src/utils/accounts.ts
@@ -37,7 +37,7 @@ export const isRemote = (account: Pick): boolean => !isLocal(ac
const DEFAULT_HEADERS: string[] = [
'/headers/original/missing.png', // Mastodon
'/images/banner.png', // Pleroma
- require('assets/images/header-missing.png'), // header not provided by backend
+ require('soapbox/assets/images/header-missing.png'), // header not provided by backend
];
/** Check if the avatar is a default avatar */
@@ -49,7 +49,7 @@ export const isDefaultHeader = (url: string) => {
const DEFAULT_AVATARS = [
'/avatars/original/missing.png', // Mastodon
'/images/avi.png', // Pleroma
- require('assets/images/avatar-missing.png'), // avatar not provided by backend
+ require('soapbox/assets/images/avatar-missing.png'), // avatar not provided by backend
];
/** Check if the avatar is a default avatar */
diff --git a/app/soapbox/utils/ads.ts b/src/utils/ads.ts
similarity index 100%
rename from app/soapbox/utils/ads.ts
rename to src/utils/ads.ts
diff --git a/app/soapbox/utils/auth.ts b/src/utils/auth.ts
similarity index 100%
rename from app/soapbox/utils/auth.ts
rename to src/utils/auth.ts
diff --git a/app/soapbox/utils/badges.ts b/src/utils/badges.ts
similarity index 100%
rename from app/soapbox/utils/badges.ts
rename to src/utils/badges.ts
diff --git a/app/soapbox/utils/base64.ts b/src/utils/base64.ts
similarity index 100%
rename from app/soapbox/utils/base64.ts
rename to src/utils/base64.ts
diff --git a/app/soapbox/utils/chats.ts b/src/utils/chats.ts
similarity index 100%
rename from app/soapbox/utils/chats.ts
rename to src/utils/chats.ts
diff --git a/app/soapbox/utils/code-compiletime.ts b/src/utils/code-compiletime.ts
similarity index 96%
rename from app/soapbox/utils/code-compiletime.ts
rename to src/utils/code-compiletime.ts
index 7b19b7ec2..b43c1d86e 100644
--- a/app/soapbox/utils/code-compiletime.ts
+++ b/src/utils/code-compiletime.ts
@@ -1,6 +1,6 @@
import { execSync } from 'node:child_process';
-import pkg from '../../../package.json';
+import pkg from '../../package.json';
const { CI_COMMIT_TAG, CI_COMMIT_REF_NAME, CI_COMMIT_SHA } = process.env;
diff --git a/app/soapbox/utils/code.ts b/src/utils/code.ts
similarity index 100%
rename from app/soapbox/utils/code.ts
rename to src/utils/code.ts
diff --git a/app/soapbox/utils/colors.ts b/src/utils/colors.ts
similarity index 100%
rename from app/soapbox/utils/colors.ts
rename to src/utils/colors.ts
diff --git a/app/soapbox/utils/comparators.ts b/src/utils/comparators.ts
similarity index 100%
rename from app/soapbox/utils/comparators.ts
rename to src/utils/comparators.ts
diff --git a/app/soapbox/utils/config-db.ts b/src/utils/config-db.ts
similarity index 100%
rename from app/soapbox/utils/config-db.ts
rename to src/utils/config-db.ts
diff --git a/app/soapbox/utils/console.ts b/src/utils/console.ts
similarity index 100%
rename from app/soapbox/utils/console.ts
rename to src/utils/console.ts
diff --git a/app/soapbox/utils/copy.ts b/src/utils/copy.ts
similarity index 100%
rename from app/soapbox/utils/copy.ts
rename to src/utils/copy.ts
diff --git a/app/soapbox/utils/download.ts b/src/utils/download.ts
similarity index 100%
rename from app/soapbox/utils/download.ts
rename to src/utils/download.ts
diff --git a/app/soapbox/utils/emoji-reacts.ts b/src/utils/emoji-reacts.ts
similarity index 100%
rename from app/soapbox/utils/emoji-reacts.ts
rename to src/utils/emoji-reacts.ts
diff --git a/app/soapbox/utils/emoji.ts b/src/utils/emoji.ts
similarity index 100%
rename from app/soapbox/utils/emoji.ts
rename to src/utils/emoji.ts
diff --git a/app/soapbox/utils/errors.ts b/src/utils/errors.ts
similarity index 100%
rename from app/soapbox/utils/errors.ts
rename to src/utils/errors.ts
diff --git a/app/soapbox/utils/ethereum.ts b/src/utils/ethereum.ts
similarity index 100%
rename from app/soapbox/utils/ethereum.ts
rename to src/utils/ethereum.ts
diff --git a/app/soapbox/utils/favicon-service.ts b/src/utils/favicon-service.ts
similarity index 100%
rename from app/soapbox/utils/favicon-service.ts
rename to src/utils/favicon-service.ts
diff --git a/app/soapbox/utils/features.ts b/src/utils/features.ts
similarity index 100%
rename from app/soapbox/utils/features.ts
rename to src/utils/features.ts
diff --git a/app/soapbox/utils/groups.ts b/src/utils/groups.ts
similarity index 100%
rename from app/soapbox/utils/groups.ts
rename to src/utils/groups.ts
diff --git a/app/soapbox/utils/html.ts b/src/utils/html.ts
similarity index 100%
rename from app/soapbox/utils/html.ts
rename to src/utils/html.ts
diff --git a/app/soapbox/utils/input.ts b/src/utils/input.ts
similarity index 100%
rename from app/soapbox/utils/input.ts
rename to src/utils/input.ts
diff --git a/app/soapbox/utils/legacy.ts b/src/utils/legacy.ts
similarity index 100%
rename from app/soapbox/utils/legacy.ts
rename to src/utils/legacy.ts
diff --git a/app/soapbox/utils/media-aspect-ratio.ts b/src/utils/media-aspect-ratio.ts
similarity index 100%
rename from app/soapbox/utils/media-aspect-ratio.ts
rename to src/utils/media-aspect-ratio.ts
diff --git a/app/soapbox/utils/media.ts b/src/utils/media.ts
similarity index 100%
rename from app/soapbox/utils/media.ts
rename to src/utils/media.ts
diff --git a/app/soapbox/utils/normalizers.ts b/src/utils/normalizers.ts
similarity index 100%
rename from app/soapbox/utils/normalizers.ts
rename to src/utils/normalizers.ts
diff --git a/app/soapbox/utils/nostr.ts b/src/utils/nostr.ts
similarity index 100%
rename from app/soapbox/utils/nostr.ts
rename to src/utils/nostr.ts
diff --git a/app/soapbox/utils/notification.ts b/src/utils/notification.ts
similarity index 100%
rename from app/soapbox/utils/notification.ts
rename to src/utils/notification.ts
diff --git a/app/soapbox/utils/numbers.tsx b/src/utils/numbers.tsx
similarity index 100%
rename from app/soapbox/utils/numbers.tsx
rename to src/utils/numbers.tsx
diff --git a/app/soapbox/utils/permissions.ts b/src/utils/permissions.ts
similarity index 100%
rename from app/soapbox/utils/permissions.ts
rename to src/utils/permissions.ts
diff --git a/app/soapbox/utils/phone.ts b/src/utils/phone.ts
similarity index 100%
rename from app/soapbox/utils/phone.ts
rename to src/utils/phone.ts
diff --git a/app/soapbox/utils/queries.ts b/src/utils/queries.ts
similarity index 100%
rename from app/soapbox/utils/queries.ts
rename to src/utils/queries.ts
diff --git a/app/soapbox/utils/quirks.ts b/src/utils/quirks.ts
similarity index 100%
rename from app/soapbox/utils/quirks.ts
rename to src/utils/quirks.ts
diff --git a/app/soapbox/utils/redirect.ts b/src/utils/redirect.ts
similarity index 100%
rename from app/soapbox/utils/redirect.ts
rename to src/utils/redirect.ts
diff --git a/app/soapbox/utils/resize-image.ts b/src/utils/resize-image.ts
similarity index 100%
rename from app/soapbox/utils/resize-image.ts
rename to src/utils/resize-image.ts
diff --git a/app/soapbox/utils/rich-content.ts b/src/utils/rich-content.ts
similarity index 100%
rename from app/soapbox/utils/rich-content.ts
rename to src/utils/rich-content.ts
diff --git a/app/soapbox/utils/scopes.ts b/src/utils/scopes.ts
similarity index 100%
rename from app/soapbox/utils/scopes.ts
rename to src/utils/scopes.ts
diff --git a/app/soapbox/utils/sounds.ts b/src/utils/sounds.ts
similarity index 82%
rename from app/soapbox/utils/sounds.ts
rename to src/utils/sounds.ts
index ad4c58250..0beab3e75 100644
--- a/app/soapbox/utils/sounds.ts
+++ b/src/utils/sounds.ts
@@ -35,21 +35,21 @@ const play = (audio: HTMLAudioElement): void => {
const soundCache: Record = {
boop: createAudio([
{
- src: require('../../assets/sounds/boop.ogg'),
+ src: require('../assets/sounds/boop.ogg'),
type: 'audio/ogg',
},
{
- src: require('../../assets/sounds/boop.mp3'),
+ src: require('../assets/sounds/boop.mp3'),
type: 'audio/mpeg',
},
]),
chat: createAudio([
{
- src: require('../../assets/sounds/chat.oga'),
+ src: require('../assets/sounds/chat.oga'),
type: 'audio/ogg',
},
{
- src: require('../../assets/sounds/chat.mp3'),
+ src: require('../assets/sounds/chat.mp3'),
type: 'audio/mpeg',
},
]),
diff --git a/app/soapbox/utils/state.ts b/src/utils/state.ts
similarity index 100%
rename from app/soapbox/utils/state.ts
rename to src/utils/state.ts
diff --git a/app/soapbox/utils/static.ts b/src/utils/static.ts
similarity index 100%
rename from app/soapbox/utils/static.ts
rename to src/utils/static.ts
diff --git a/app/soapbox/utils/status.ts b/src/utils/status.ts
similarity index 100%
rename from app/soapbox/utils/status.ts
rename to src/utils/status.ts
diff --git a/app/soapbox/utils/strings.ts b/src/utils/strings.ts
similarity index 100%
rename from app/soapbox/utils/strings.ts
rename to src/utils/strings.ts
diff --git a/app/soapbox/utils/suggestions.ts b/src/utils/suggestions.ts
similarity index 100%
rename from app/soapbox/utils/suggestions.ts
rename to src/utils/suggestions.ts
diff --git a/app/soapbox/utils/sw.ts b/src/utils/sw.ts
similarity index 100%
rename from app/soapbox/utils/sw.ts
rename to src/utils/sw.ts
diff --git a/app/soapbox/utils/tailwind.ts b/src/utils/tailwind.ts
similarity index 100%
rename from app/soapbox/utils/tailwind.ts
rename to src/utils/tailwind.ts
diff --git a/app/soapbox/utils/theme.ts b/src/utils/theme.ts
similarity index 100%
rename from app/soapbox/utils/theme.ts
rename to src/utils/theme.ts
diff --git a/app/soapbox/utils/timelines.ts b/src/utils/timelines.ts
similarity index 100%
rename from app/soapbox/utils/timelines.ts
rename to src/utils/timelines.ts
diff --git a/app/soapbox/utils/types.ts b/src/utils/types.ts
similarity index 100%
rename from app/soapbox/utils/types.ts
rename to src/utils/types.ts
diff --git a/tailwind.config.cjs b/tailwind.config.cjs
index a59998396..57ff65f3c 100644
--- a/tailwind.config.cjs
+++ b/tailwind.config.cjs
@@ -2,7 +2,7 @@ const { parseColorMatrix } = require('./tailwind/colors.cjs');
/** @type {import('tailwindcss').Config} */
module.exports = {
- content: ['./app/**/*.{html,js,ts,tsx}', './custom/instance/**/*.html', './app/index.ejs'],
+ content: ['./src/**/*.{html,js,ts,tsx}', './custom/instance/**/*.html', './src/index.html'],
darkMode: 'class',
theme: {
screens: {
diff --git a/tsconfig.json b/tsconfig.json
index 14215616d..c7f16ba8a 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,7 +1,7 @@
{
"compilerOptions": {
- "baseUrl": "app/",
- "outDir": "build/",
+ "baseUrl": "./",
+ "outDir": "dist",
"sourceMap": true,
"strict": true,
"module": "ESNext",
@@ -12,8 +12,11 @@
"moduleResolution": "node",
"resolveJsonModule": true,
"esModuleInterop": true,
+ "paths": {
+ "soapbox/*": ["src/*"],
+ },
"typeRoots": [
- "./types",
+ "./src/types",
"./node_modules/@types",
"./node_modules"
],
diff --git a/vite.config.ts b/vite.config.ts
index b9369a895..263f6a20b 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -1,5 +1,5 @@
///
-import path from 'path';
+import { fileURLToPath, URL } from 'node:url';
import react from '@vitejs/plugin-react';
import { visualizer } from 'rollup-plugin-visualizer';
@@ -11,10 +11,7 @@ import vitePluginRequire from 'vite-plugin-require';
import { viteStaticCopy } from 'vite-plugin-static-copy';
export default defineConfig({
- root: 'app',
build: {
- // Relative to the root
- outDir: '../dist',
assetsDir: 'packs',
assetsInlineLimit: 0,
rollupOptions: {
@@ -25,6 +22,7 @@ export default defineConfig({
},
},
},
+ assetsInclude: ['**/*.oga'],
server: {
port: 3036,
},
@@ -62,13 +60,16 @@ export default defineConfig({
short_name: 'Soapbox',
description: 'A social media frontend with a focus on custom branding and ease of use.',
},
- srcDir: 'soapbox/service-worker',
+ srcDir: 'src/service-worker',
filename: 'sw.ts',
}),
viteStaticCopy({
targets: [{
- src: '../node_modules/twemoji/assets/svg/*',
+ src: './node_modules/twemoji/assets/svg/*',
dest: 'packs/emoji/',
+ }, {
+ src: './src/instance',
+ dest: '.',
}],
}),
visualizer({
@@ -79,17 +80,12 @@ export default defineConfig({
],
resolve: {
alias: [
- { find: 'soapbox', replacement: path.resolve(__dirname, 'app', 'soapbox') },
- { find: 'assets', replacement: path.resolve(__dirname, 'app', 'assets') },
+ { find: 'soapbox', replacement: fileURLToPath(new URL('./src', import.meta.url)) },
],
},
- assetsInclude: ['**/*.oga'],
test: {
globals: true,
environment: 'jsdom',
- cache: {
- dir: '../node_modules/.vitest',
- },
- setupFiles: 'soapbox/jest/test-setup.ts',
+ setupFiles: 'src/jest/test-setup.ts',
},
});
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index 042e5e38d..5fa9df298 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -4322,7 +4322,7 @@ end-of-stream@^1.1.0, end-of-stream@^1.4.4:
dependencies:
once "^1.4.0"
-enhanced-resolve@^5.15.0:
+enhanced-resolve@^5.12.0, enhanced-resolve@^5.15.0:
version "5.15.0"
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35"
integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==
@@ -4546,7 +4546,20 @@ eslint-import-resolver-node@^0.3.7:
is-core-module "^2.13.0"
resolve "^1.22.4"
-eslint-module-utils@^2.8.0:
+eslint-import-resolver-typescript@^3.6.0:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.0.tgz#36f93e1eb65a635e688e16cae4bead54552e3bbd"
+ integrity sha512-QTHR9ddNnn35RTxlaEnx2gCxqFlF2SEN0SE2d17SqwyM7YOSI2GHWRYp5BiRkObTUNYPupC/3Fq2a0PpT+EKpg==
+ dependencies:
+ debug "^4.3.4"
+ enhanced-resolve "^5.12.0"
+ eslint-module-utils "^2.7.4"
+ fast-glob "^3.3.1"
+ get-tsconfig "^4.5.0"
+ is-core-module "^2.11.0"
+ is-glob "^4.0.3"
+
+eslint-module-utils@^2.7.4, eslint-module-utils@^2.8.0:
version "2.8.0"
resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz#e439fee65fc33f6bba630ff621efc38ec0375c49"
integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==
@@ -5110,6 +5123,13 @@ get-symbol-description@^1.0.0:
call-bind "^1.0.2"
get-intrinsic "^1.1.1"
+get-tsconfig@^4.5.0:
+ version "4.7.0"
+ resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.7.0.tgz#06ce112a1463e93196aa90320c35df5039147e34"
+ integrity sha512-pmjiZ7xtB8URYm74PlGJozDNyhvsVLUcpBa8DZBG3bWHwaHa9bPiRpiSfovw+fjhwONSCWKRyk+JQHEGZmMrzw==
+ dependencies:
+ resolve-pkg-maps "^1.0.0"
+
git-config-path@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/git-config-path/-/git-config-path-1.0.1.tgz#6d33f7ed63db0d0e118131503bab3aca47d54664"
@@ -5688,7 +5708,7 @@ is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7:
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055"
integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==
-is-core-module@^2.13.0, is-core-module@^2.5.0, is-core-module@^2.9.0:
+is-core-module@^2.11.0, is-core-module@^2.13.0, is-core-module@^2.5.0, is-core-module@^2.9.0:
version "2.13.0"
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db"
integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==
@@ -8157,6 +8177,11 @@ resolve-pathname@^3.0.0:
resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd"
integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==
+resolve-pkg-maps@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz#616b3dc2c57056b5588c31cdf4b3d64db133720f"
+ integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==
+
resolve@^1.1.7, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.22.2, resolve@^1.22.4:
version "1.22.6"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.6.tgz#dd209739eca3aef739c626fea1b4f3c506195362"