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) => (