diff --git a/app/soapbox/components/sidebar-menu.tsx b/app/soapbox/components/sidebar-menu.tsx
index f77e9f5ed..11786f4ad 100644
--- a/app/soapbox/components/sidebar-menu.tsx
+++ b/app/soapbox/components/sidebar-menu.tsx
@@ -28,6 +28,7 @@ const messages = defineMessages({
domainBlocks: { id: 'navigation_bar.domain_blocks', defaultMessage: 'Hidden domains' },
mutes: { id: 'navigation_bar.mutes', defaultMessage: 'Muted users' },
filters: { id: 'navigation_bar.filters', defaultMessage: 'Muted words' },
+ followedTags: { id: 'navigation_bar.followed_tags', defaultMessage: 'Followed hashtags' },
soapboxConfig: { id: 'navigation_bar.soapbox_config', defaultMessage: 'Soapbox config' },
accountMigration: { id: 'navigation_bar.account_migration', defaultMessage: 'Move account' },
accountAliases: { id: 'navigation_bar.account_aliases', defaultMessage: 'Account aliases' },
@@ -305,6 +306,15 @@ const SidebarMenu: React.FC = (): JSX.Element | null => {
/>
)}
+ {features.followedHashtagsList && (
+
+ )}
+
{account.admin && (
{
{(features.filters || features.filtersV2) && (
)}
+ {features.followedHashtagsList && (
+
+ )}
{features.federating && (
)}
diff --git a/app/soapbox/features/ui/index.tsx b/app/soapbox/features/ui/index.tsx
index 847b29d26..f0cc8c561 100644
--- a/app/soapbox/features/ui/index.tsx
+++ b/app/soapbox/features/ui/index.tsx
@@ -135,6 +135,7 @@ import {
GroupMembershipRequests,
Announcements,
EditGroup,
+ FollowedTags,
} from './util/async-components';
import { WrappedRoute } from './util/react-router-helpers';
@@ -293,6 +294,7 @@ const SwitchingColumnsArea: React.FC = ({ children }) =>
{(features.filters || features.filtersV2) && }
{(features.filters || features.filtersV2) && }
{(features.filters || features.filtersV2) && }
+ {(features.followedHashtagsList) && }
diff --git a/app/soapbox/features/ui/util/async-components.ts b/app/soapbox/features/ui/util/async-components.ts
index 0b50f0194..4891185fa 100644
--- a/app/soapbox/features/ui/util/async-components.ts
+++ b/app/soapbox/features/ui/util/async-components.ts
@@ -637,3 +637,7 @@ export function Announcements() {
export function EditAnnouncementModal() {
return import(/* webpackChunkName: "features/admin/announcements" */'../components/modals/edit-announcement-modal');
}
+
+export function FollowedTags() {
+ return import(/* webpackChunkName: "features/followed-tags" */'../../followed-tags');
+}
diff --git a/app/soapbox/locales/en.json b/app/soapbox/locales/en.json
index d863da71e..123d02398 100644
--- a/app/soapbox/locales/en.json
+++ b/app/soapbox/locales/en.json
@@ -350,6 +350,7 @@
"column.filters.title": "Title",
"column.filters.whole_word": "Whole word",
"column.follow_requests": "Follow requests",
+ "column.followed_tags": "Followed hashtags",
"column.followers": "Followers",
"column.following": "Following",
"column.group_blocked_members": "Banned Members",
@@ -676,6 +677,7 @@
"empty_column.filters": "You haven't created any muted words yet.",
"empty_column.follow_recommendations": "Looks like no suggestions could be generated for you. You can try using search to look for people you might know or explore trending hashtags.",
"empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.",
+ "empty_column.followed_tags": "You haven't followed any hashtag yet.",
"empty_column.group": "There are no posts in this group yet.",
"empty_column.group_blocks": "The group hasn't banned any users yet.",
"empty_column.group_membership_requests": "There are no pending membership requests for this group.",
@@ -1083,6 +1085,7 @@
"navigation_bar.favourites": "Likes",
"navigation_bar.filters": "Filters",
"navigation_bar.follow_requests": "Follow requests",
+ "navigation_bar.followed_tags": "Followed hashtags",
"navigation_bar.import_data": "Import data",
"navigation_bar.in_reply_to": "In reply to",
"navigation_bar.invites": "Invites",
diff --git a/app/soapbox/reducers/followed_tags.ts b/app/soapbox/reducers/followed-tags.ts
similarity index 100%
rename from app/soapbox/reducers/followed_tags.ts
rename to app/soapbox/reducers/followed-tags.ts
diff --git a/app/soapbox/reducers/index.ts b/app/soapbox/reducers/index.ts
index e2504a968..a52ea0aa3 100644
--- a/app/soapbox/reducers/index.ts
+++ b/app/soapbox/reducers/index.ts
@@ -29,7 +29,7 @@ import custom_emojis from './custom-emojis';
import domain_lists from './domain-lists';
import dropdown_menu from './dropdown-menu';
import filters from './filters';
-import followed_tags from './followed_tags';
+import followed_tags from './followed-tags';
import group_memberships from './group-memberships';
import group_relationships from './group-relationships';
import groups from './groups';
diff --git a/app/soapbox/utils/__tests__/features.test.ts b/app/soapbox/utils/__tests__/features.test.ts
index f214393d0..da9985b13 100644
--- a/app/soapbox/utils/__tests__/features.test.ts
+++ b/app/soapbox/utils/__tests__/features.test.ts
@@ -40,7 +40,6 @@ describe('parseVersion', () => {
software: 'TruthSocial',
version: '1.0.0',
compatVersion: '3.4.1',
- build: 'nightly-20230627',
});
});
@@ -70,6 +69,7 @@ describe('parseVersion', () => {
software: 'Mastodon',
version: '4.1.2',
compatVersion: '4.1.2',
+ build: 'nightly-20230627',
});
});
});