diff --git a/src/views/friends/views/friend-bar-item/FriendBarItemView.tsx b/src/views/friends/views/friend-bar-item/FriendBarItemView.tsx index c077ab43..36079517 100644 --- a/src/views/friends/views/friend-bar-item/FriendBarItemView.tsx +++ b/src/views/friends/views/friend-bar-item/FriendBarItemView.tsx @@ -27,6 +27,8 @@ export const FriendBarItemView: FC = props => { const element = elementRef.current; + if(!element) return; + if((event.target !== element) && !element.contains((event.target as Node))) { setVisible(false); diff --git a/src/views/friends/views/messenger/FriendsMessengerView.tsx b/src/views/friends/views/messenger/FriendsMessengerView.tsx index 517280f6..115d7d55 100644 --- a/src/views/friends/views/messenger/FriendsMessengerView.tsx +++ b/src/views/friends/views/messenger/FriendsMessengerView.tsx @@ -3,7 +3,7 @@ import { FC, KeyboardEvent, useCallback, useEffect, useMemo, useRef, useState } import { AddEventLinkTracker, GetUserProfile, LocalizeText, RemoveLinkEventTracker } from '../../../../api'; import { FriendsMessengerIconEvent } from '../../../../events'; import { BatchUpdates, CreateMessageHook, dispatchUiEvent, SendMessageHook } from '../../../../hooks'; -import { NitroCardContentView, NitroCardHeaderView, NitroCardView } from '../../../../layout'; +import { NitroCardContentView, NitroCardHeaderView, NitroCardView, NitroLayoutFlex } from '../../../../layout'; import { AvatarImageView } from '../../../shared/avatar-image/AvatarImageView'; import { MessengerThread } from '../../common/MessengerThread'; import { MessengerThreadChat } from '../../common/MessengerThreadChat'; @@ -17,9 +17,9 @@ export const FriendsMessengerView: FC<{}> = props => const [ activeThreadIndex, setActiveThreadIndex ] = useState(-1); const [ hiddenThreadIndexes, setHiddenThreadIndexes ] = useState([]); const [ messageText, setMessageText ] = useState(''); - const messagesBox = useRef(); const [ updateValue, setUpdateValue ] = useState({}); const { friends = [] } = useFriendsContext(); + const messagesBox = useRef(); const followFriend = useCallback(() => { @@ -235,7 +235,7 @@ export const FriendsMessengerView: FC<{}> = props => setIsVisible(false) } /> -
+ { visibleThreads && (visibleThreads.length > 0) && visibleThreads.map((thread, index) => { const messageThreadIndex = messageThreads.indexOf(thread); @@ -247,13 +247,16 @@ export const FriendsMessengerView: FC<{}> = props =>
); }) } - -
+ + + { (activeThreadIndex >= 0) && +
+ { LocalizeText('messenger.window.separator', [ 'FRIEND_NAME' ], [ messageThreads[activeThreadIndex].participant.name ]) } +
} +
+
{ (activeThreadIndex >= 0) && <> -
- { LocalizeText('messenger.window.separator', [ 'FRIEND_NAME' ], [ messageThreads[activeThreadIndex].participant.name ]) } -