From 748dbf3217b8f4151185b5071bb48ebfec33f17e Mon Sep 17 00:00:00 2001 From: diondiondion Date: Thu, 5 Mar 2026 10:01:08 +0100 Subject: [PATCH] Add "Collections" link to main navigation (#38065) --- .../features/navigation_panel/index.tsx | 17 +++++++++++++++++ app/javascript/mastodon/locales/en.json | 1 + .../material-icons/400-24px/category-fill.svg | 1 + .../material-icons/400-24px/category.svg | 1 + 4 files changed, 20 insertions(+) create mode 100644 app/javascript/material-icons/400-24px/category-fill.svg create mode 100644 app/javascript/material-icons/400-24px/category.svg diff --git a/app/javascript/mastodon/features/navigation_panel/index.tsx b/app/javascript/mastodon/features/navigation_panel/index.tsx index 4f2c490d5a..1c1e911a7b 100644 --- a/app/javascript/mastodon/features/navigation_panel/index.tsx +++ b/app/javascript/mastodon/features/navigation_panel/index.tsx @@ -14,6 +14,8 @@ import AddIcon from '@/material-icons/400-24px/add.svg?react'; import AlternateEmailIcon from '@/material-icons/400-24px/alternate_email.svg?react'; import BookmarksActiveIcon from '@/material-icons/400-24px/bookmarks-fill.svg?react'; import BookmarksIcon from '@/material-icons/400-24px/bookmarks.svg?react'; +import CollectionsActiveIcon from '@/material-icons/400-24px/category-fill.svg?react'; +import CollectionsIcon from '@/material-icons/400-24px/category.svg?react'; import HomeActiveIcon from '@/material-icons/400-24px/home-fill.svg?react'; import HomeIcon from '@/material-icons/400-24px/home.svg?react'; import InfoIcon from '@/material-icons/400-24px/info.svg?react'; @@ -48,6 +50,7 @@ import { selectUnreadNotificationGroupsCount } from 'mastodon/selectors/notifica import { useAppSelector, useAppDispatch } from 'mastodon/store'; import { AnnualReportNavItem } from '../annual_report/nav_item'; +import { areCollectionsEnabled } from '../collections/utils'; import { DisabledAccountBanner } from './components/disabled_account_banner'; import { FollowedTagsPanel } from './components/followed_tags_panel'; @@ -71,6 +74,10 @@ const messages = defineMessages({ direct: { id: 'navigation_bar.direct', defaultMessage: 'Private mentions' }, favourites: { id: 'navigation_bar.favourites', defaultMessage: 'Favorites' }, bookmarks: { id: 'navigation_bar.bookmarks', defaultMessage: 'Bookmarks' }, + collections: { + id: 'navigation_bar.collections', + defaultMessage: 'Collections', + }, preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences', @@ -325,6 +332,16 @@ export const NavigationPanel: React.FC<{ multiColumn?: boolean }> = ({ activeIconComponent={BookmarksActiveIcon} text={intl.formatMessage(messages.bookmarks)} /> + {areCollectionsEnabled() && ( + + )} \ No newline at end of file diff --git a/app/javascript/material-icons/400-24px/category.svg b/app/javascript/material-icons/400-24px/category.svg new file mode 100644 index 0000000000..59dd6a1b1e --- /dev/null +++ b/app/javascript/material-icons/400-24px/category.svg @@ -0,0 +1 @@ + \ No newline at end of file