From 630c8e4d38c03434e0c79bf0ca05e5bbb066d9d3 Mon Sep 17 00:00:00 2001 From: one Date: Tue, 5 Aug 2025 11:32:47 +0800 Subject: [PATCH] refactor: improve UserSelector with tag --- .../settings/MemorySettings/UserSelector.tsx | 40 +++++++++---------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/src/renderer/src/pages/settings/MemorySettings/UserSelector.tsx b/src/renderer/src/pages/settings/MemorySettings/UserSelector.tsx index 6bcb0bebe6..2a6698f70d 100644 --- a/src/renderer/src/pages/settings/MemorySettings/UserSelector.tsx +++ b/src/renderer/src/pages/settings/MemorySettings/UserSelector.tsx @@ -1,4 +1,5 @@ -import { HStack, VStack } from '@renderer/components/Layout' +import CustomTag from '@renderer/components/CustomTag' +import { HStack } from '@renderer/components/Layout' import { useAssistants } from '@renderer/hooks/useAssistant' import { Avatar, Button, Select, Space, Tooltip } from 'antd' import { UserRoundPlus } from 'lucide-react' @@ -25,12 +26,13 @@ const UserSelector: React.FC = ({ currentUser, uniqueUsers, o // Get assistants linked to a specific memory user const getAssistantsForUser = useCallback( (userId: string) => { - return assistants.filter((assistant) => { - // Assistant uses this user if either: - // 1. memoryUserId explicitly matches - // 2. memoryUserId is undefined and this is the current global user - return assistant.memoryUserId === userId || (!assistant.memoryUserId && userId === currentUser) - }) + return assistants.filter( + (assistant) => + // Assistant uses this user if either: + // 1. memoryUserId explicitly matches + // 2. memoryUserId is undefined and this is the current global user + assistant.memoryUserId === userId || (!assistant.memoryUserId && userId === currentUser) + ) }, [assistants, currentUser] ) @@ -40,26 +42,22 @@ const UserSelector: React.FC = ({ currentUser, uniqueUsers, o const linkedAssistants = getAssistantsForUser(userId) return ( - - + + {getUserAvatar(userId)} - {userName} + {userName} {linkedAssistants.length > 0 && ( -
- {linkedAssistants.length} {linkedAssistants.length === 1 ? 'assistant' : 'assistants'}:{' '} - {linkedAssistants.map((a) => a.name).join(', ')} -
+ a.name).join(', ')}`}> + {linkedAssistants.length} + )} -
+ ) }, [getUserAvatar, getAssistantsForUser]