diff --git a/native/components/user-list-user.react.js b/native/components/user-list-user.react.js --- a/native/components/user-list-user.react.js +++ b/native/components/user-list-user.react.js @@ -58,7 +58,7 @@ this.props.onSelect(userInfo.id); return; } - Alert.alert(userInfo.alert.title, userInfo.alert.text, [{ text: 'OK' }], { + Alert.alert(userInfo.alert?.title, userInfo.alert?.text, [{ text: 'OK' }], { cancelable: true, }); }; diff --git a/web/chat/chat-thread-composer.react.js b/web/chat/chat-thread-composer.react.js --- a/web/chat/chat-thread-composer.react.js +++ b/web/chat/chat-thread-composer.react.js @@ -131,6 +131,36 @@ const onSelectUserFromSearch = React.useCallback( (userItem: UserListItem) => { setUsernameInputText(''); + if (!userItem.alert) { + setUserInfoInputArray(previousUserInfoInputArray => [ + ...previousUserInfoInputArray, + { id: userItem.id, username: userItem.username }, + ]); + } else if ( + userItem.notice === notFriendNotice && + userInfoInputArray.length === 0 + ) { + const newUserInfoInputArray = [ + { id: userItem.id, username: userItem.username }, + ]; + setUserInfoInputArray(newUserInfoInputArray); + const threadInfo = existingThreadInfoFinderForCreatingThread({ + searching: true, + userInfoInputArray: newUserInfoInputArray, + }); + dispatch({ + type: updateNavInfoActionType, + payload: { + chatMode: 'view', + activeChatThreadID: threadInfo?.id, + pendingThread: threadInfo, + }, + }); + } else { + pushModal( + {userItem.alert?.text}, + ); + } if (!userItem.alert) { setUserInfoInputArray(previousUserInfoInputArray => [ ...previousUserInfoInputArray,