From a01e3177ff07ee5664a54a80d753a200e396ec3b Mon Sep 17 00:00:00 2001 From: Ally Founder Date: Tue, 11 Aug 2026 13:49:30 -0400 Subject: [PATCH] ServerDrawer: add server names toggle --- .../src/components/FolderItem.tsx | 4 +- .../src/components/GuildItem.tsx | 37 +++++++++++++++---- .../src/components/ServerDrawerSheet.tsx | 4 +- plugins/server-drawer/src/index.tsx | 1 + plugins/server-drawer/src/ui/Settings.tsx | 6 +++ 5 files changed, 41 insertions(+), 11 deletions(-) diff --git a/plugins/server-drawer/src/components/FolderItem.tsx b/plugins/server-drawer/src/components/FolderItem.tsx index 0076189..76088df 100644 --- a/plugins/server-drawer/src/components/FolderItem.tsx +++ b/plugins/server-drawer/src/components/FolderItem.tsx @@ -82,7 +82,7 @@ function FadeIn({ children }: { children: React.ReactNode }) { return {children}; } -export default function FolderItem({ node, onPick }: { node: GuildNode; onPick: (id: string) => void }) { +export default function FolderItem({ node, onPick, showNames }: { node: GuildNode; onPick: (id: string) => void; showNames?: boolean }) { const open = useFolderExpanded(node.id); const toggle = () => { @@ -99,7 +99,7 @@ export default function FolderItem({ node, onPick }: { node: GuildNode; onPick: {node.children.map((ch) => ( - + ))} diff --git a/plugins/server-drawer/src/components/GuildItem.tsx b/plugins/server-drawer/src/components/GuildItem.tsx index a00ffb8..52235d2 100644 --- a/plugins/server-drawer/src/components/GuildItem.tsx +++ b/plugins/server-drawer/src/components/GuildItem.tsx @@ -12,6 +12,7 @@ const GuildReadStateStore = findByStoreName("GuildReadStateStore"); const GuildStore = findByStoreName("GuildStore"); const SortedGuildStore = findByStoreName("SortedGuildStore"); const Haptic = findByProps("triggerHapticFeedback", "HapticFeedbackTypes"); +const colors = findByProps("colors", "unsafe_rawColors")?.colors; function Badge({ guildId }: { guildId: string }) { const mentionCount = Flux?.useStateFromStores?.( @@ -47,7 +48,7 @@ function Badge({ guildId }: { guildId: string }) { return null; } -export default function GuildItem({ node, onPick }: { node: GuildNode; onPick: (id: string) => void }) { +export default function GuildItem({ node, onPick, showNames }: { node: GuildNode; onPick: (id: string) => void; showNames?: boolean }) { const viewRef = React.useRef(null); const scale = React.useRef(new Animated.Value(1)).current; const scaleDown = () => Animated.spring(scale, { toValue: 0.85, useNativeDriver: true }).start(); @@ -102,6 +103,12 @@ export default function GuildItem({ node, onPick }: { node: GuildNode; onPick: ( const guildId = node.id as string; + const name = Flux?.useStateFromStores?.( + [GuildStore], + () => GuildStore?.getGuild?.(guildId)?.name ?? "", + [guildId], + ) ?? ""; + return ( <> - - - - - + + + + + + + + {showNames && ( + + {name} + + )} } {nodes.map((node) => node.type === "folder" - ? - : + ? + : )} diff --git a/plugins/server-drawer/src/index.tsx b/plugins/server-drawer/src/index.tsx index e52ae20..86dcb7a 100644 --- a/plugins/server-drawer/src/index.tsx +++ b/plugins/server-drawer/src/index.tsx @@ -14,6 +14,7 @@ const cleanups: (() => void)[] = []; export default { onLoad() { storage.hideDmTile ??= false; + storage.showGuildNames ??= false; console.log(TAG, "onLoad"); diff --git a/plugins/server-drawer/src/ui/Settings.tsx b/plugins/server-drawer/src/ui/Settings.tsx index 8a3f50d..e21e0b4 100644 --- a/plugins/server-drawer/src/ui/Settings.tsx +++ b/plugins/server-drawer/src/ui/Settings.tsx @@ -22,6 +22,12 @@ export default function Settings() { value={!!storage.hideDmTile} onValueChange={(v: boolean) => { storage.hideDmTile = v; }} /> + { storage.showGuildNames = v; }} + /> );