From e05572fc3fedf53282e81e40479530effb00d040 Mon Sep 17 00:00:00 2001 From: max Date: Fri, 17 Apr 2026 00:42:03 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BD=D0=B5=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D1=8E=D1=89?= =?UTF-8?q?=D1=83=D1=8E=20=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D1=8E=20?= =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82=D0=B5?= =?UTF-8?q?=D0=BB=D1=8F=20=D1=87=D0=B5=D1=80=D0=B5=D0=B7=20=D1=87=D0=B0?= =?UTF-8?q?=D1=82=20=D0=B2=20=D0=B3=D1=80=D1=83=D0=BF=D0=BF=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../presentation/components/GroupSettings.tsx | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/client-web/src/modules/chats/presentation/components/GroupSettings.tsx b/client-web/src/modules/chats/presentation/components/GroupSettings.tsx index f6d3cba..6b7e496 100644 --- a/client-web/src/modules/chats/presentation/components/GroupSettings.tsx +++ b/client-web/src/modules/chats/presentation/components/GroupSettings.tsx @@ -76,9 +76,10 @@ export default function GroupSettings({ chat, onClose, onGoToMessage }: GroupSet const fileInputRef = useRef(null); const searchInputRef = useRef(null); + const getSearchedUserId = (u: UserPresence & { userId?: string }) => u.id || u.userId || ''; // Keep local state in sync with chat prop - useEffect(() => { + useEffect(() => { setGroupName(chat.name || ''); setGroupDesc(chat.description || ''); }, [chat.name, chat.description]); @@ -95,7 +96,10 @@ export default function GroupSettings({ chat, onClose, onGoToMessage }: GroupSet const results = await UserApi.searchUsers(searchQuery); // Filter out users already in the group const memberIds = new Set(chat.members.map((m) => m.user.id)); - setSearchResults(results.filter((u) => !memberIds.has(u.id))); + setSearchResults(results.filter((u) => { + const candidateId = getSearchedUserId(u as UserPresence & { userId?: string }); + return !!candidateId && !memberIds.has(candidateId); + })); } catch (e) { console.error(e); } finally { @@ -565,10 +569,13 @@ export default function GroupSettings({ chat, onClose, onGoToMessage }: GroupSet )} - {searchResults.map((u) => ( + {searchResults.map((u) => { + const candidateId = getSearchedUserId(u as UserPresence & { userId?: string }); + if (!candidateId) return null; + return ( - ))} + ); + })} {searchQuery.trim() && !isSearching && searchResults.length === 0 && (

{t('usersNotFound')}

)}