From 14152f92e3b26e10593f1403f0a2d504da5f1cc3 Mon Sep 17 00:00:00 2001 From: Ally Founder Date: Wed, 12 Aug 2026 14:33:19 -0400 Subject: [PATCH] YouBar+: bring public in sync with main (friend-request/thread tracking + inbox tabs were never carried over, only the status-tracking commit was) --- plugins/you-bar-plus/src/lib/types.ts | 2 +- plugins/you-bar-plus/src/ui/NotificationCenter.tsx | 14 ++++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/plugins/you-bar-plus/src/lib/types.ts b/plugins/you-bar-plus/src/lib/types.ts index 5c87ead..29aa8cc 100644 --- a/plugins/you-bar-plus/src/lib/types.ts +++ b/plugins/you-bar-plus/src/lib/types.ts @@ -1,4 +1,4 @@ -export type NotificationCategory = "mentions" | "replies" | "reactions" | "other"; +export type NotificationCategory = "mentions" | "replies" | "reactions" | "friend_request" | "thread" | "other"; export type MentionSubCategory = "people" | "bot" | "role"; export interface NotificationAuthor { diff --git a/plugins/you-bar-plus/src/ui/NotificationCenter.tsx b/plugins/you-bar-plus/src/ui/NotificationCenter.tsx index 4e56cdc..73eda40 100644 --- a/plugins/you-bar-plus/src/ui/NotificationCenter.tsx +++ b/plugins/you-bar-plus/src/ui/NotificationCenter.tsx @@ -16,6 +16,12 @@ const NativeTabs = findByDisplayName("Tabs"); const useTabsState = findByProps("useTabsState")?.useTabsState; const NativeSegmentedControl = findByDisplayName("SegmentedControl"); +function categoryLabel(cat: NotificationCategory): string { + if (cat === "friend_request") return "Friend Requests"; + if (cat === "thread") return "Threads"; + return cat.charAt(0).toUpperCase() + cat.slice(1); +} + function getAvatarUrl(author: any): string { if (!author) return "https://cdn.discordapp.com/embed/avatars/0.png"; const { id, avatar, discriminator } = author; @@ -53,7 +59,7 @@ export default function NotificationCenter(): JSX.Element { const [activeTabIdx, setActiveTabIdx] = useState(0); const [mentionFilterIdx, setMentionFilterIdx] = useState(0); - const categories: NotificationCategory[] = ["mentions", "replies", "reactions", "other"]; + const categories: NotificationCategory[] = ["mentions", "replies", "reactions", "friend_request", "thread", "other"]; const subFilters: Array<"all" | MentionSubCategory> = ["all", "people", "role", "bot"]; const currentCategory = categories[activeTabIdx] ?? "mentions"; @@ -61,7 +67,7 @@ export default function NotificationCenter(): JSX.Element { const tabsState = useTabsState ? useTabsState({ - items: categories.map((cat) => ({ id: cat, label: cat.charAt(0).toUpperCase() + cat.slice(1) })), + items: categories.map((cat) => ({ id: cat, label: categoryLabel(cat) })), initialIndex: 0, }) : null; @@ -118,7 +124,7 @@ export default function NotificationCenter(): JSX.Element { onPress={() => setActiveTabIdx(idx)} > - {tab.charAt(0).toUpperCase() + tab.slice(1)} + {categoryLabel(tab)} ))} @@ -160,7 +166,7 @@ export default function NotificationCenter(): JSX.Element { {displayedNotifications.length === 0 ? ( No notifications found for this category. ) : ( - + {displayedNotifications.map((item) => (