@@ -25,7 +25,7 @@ import { CometChatUserDetails } from "../CometChatDetails/CometChatUserDetails";
2525import { CometChatThreadedMessages } from "../CometChatDetails/CometChatThreadedMessages" ;
2626import { CometChatCallDetails } from "../CometChatCallLog/CometChatCallLogDetails" ;
2727import { CometChatAlertPopup } from "../CometChatAlertPopup/CometChatAlertPopup" ;
28- import { CometChatAvatar , CometChatButton , CometChatConfirmDialog , CometChatConversationEvents , CometChatGroupEvents , CometChatGroupMembers , CometChatGroups , CometChatIncomingCall , CometChatMessageEvents , CometChatToast , CometChatUIKit , CometChatUIKitConstants , CometChatUIKitLoginListener , CometChatUIKitUtility , CometChatUserEvents , CometChatUsers , CometChatUIEvents , getLocalizedString , IMessages , IMouseEvent , IActiveChatChanged , MessageStatus , IGroupMemberAdded , IGroupMemberKickedBanned } from "@cometchat/chat-uikit-react" ;
28+ import { CometChatAvatar , CometChatButton , CometChatConfirmDialog , CometChatConversationEvents , CometChatGroupEvents , CometChatGroupMembers , CometChatGroups , CometChatIncomingCall , CometChatMessageEvents , CometChatToast , CometChatUIKit , CometChatUIKitConstants , CometChatUIKitLoginListener , CometChatUIKitUtility , CometChatUserEvents , CometChatUsers , CometChatUIEvents , getLocalizedString , IMessages , IMouseEvent , IActiveChatChanged , MessageStatus , IGroupMemberAdded , IGroupMemberKickedBanned , IGroupMemberJoined } from "@cometchat/chat-uikit-react" ;
2929import { CallLog } from "@cometchat/calls-sdk-javascript" ;
3030
3131interface TabContentProps {
@@ -285,9 +285,9 @@ function CometChatHome(props: { theme?: string }) {
285285 } , [ activeTab , selectedItem ] ) ;
286286
287287 const updateisFirstChat = ( { message, status } : IMessages ) => {
288- const receiverId = message . getReceiverId ( ) ;
289- const sender = message . getSender ( ) ;
290- if ( ( appState . selectedItemUser && ( appState . selectedItemUser . getUid ( ) == receiverId || ( appState . selectedItemUser . getUid ( ) == sender . getUid ( ) && receiverId == loggedInUser ?. getUid ( ) ) ) || appState . selectedItemGroup && ( appState . selectedItemGroup . getGuid ( ) == receiverId || loggedInUser ?. getUid ( ) == receiverId ) ) && isFreshChatRef . current && status == MessageStatus . success ) {
288+ const receiverId = message ? .getReceiverId ( ) ;
289+ const sender = message ? .getSender ( ) ;
290+ if ( ( appState . selectedItemUser && ( appState . selectedItemUser . getUid ( ) == receiverId || ( ( ! sender || ( sender && appState . selectedItemUser . getUid ( ) == sender . getUid ( ) ) ) && receiverId == loggedInUser ?. getUid ( ) ) ) || appState . selectedItemGroup && ( appState . selectedItemGroup . getGuid ( ) == receiverId || loggedInUser ?. getUid ( ) == receiverId ) ) && isFreshChatRef . current && status == MessageStatus . success ) {
291291 setAppState ( { type : 'updateIsFreshChat' , payload : false } ) ;
292292 isFreshChatRef . current = false ;
293293 let conversationWith = appState . selectedItemUser ? appState . selectedItemUser . getUid ( ) : appState . selectedItemGroup ?. getGuid ( ) ;
@@ -1082,6 +1082,7 @@ function CometChatHome(props: { theme?: string }) {
10821082 if ( loggedInUser ) {
10831083 const groupClone = CometChatUIKitUtility . clone ( group ) ;
10841084 groupClone . setHasJoined ( false ) ;
1085+ groupClone . setMembersCount ( groupClone . getMembersCount ( ) - 1 ) ;
10851086 CometChatGroupEvents . ccGroupLeft . next ( {
10861087 userLeft : CometChatUIKitUtility . clone ( loggedInUser ) ,
10871088 leftGroup : groupClone ,
@@ -1370,6 +1371,11 @@ function CometChatHome(props: { theme?: string }) {
13701371 const ccOpenChat = CometChatUIEvents . ccOpenChat . subscribe ( ( item ) => {
13711372 openChatForUser ( item . user ) ;
13721373 } )
1374+ const ccGroupJoineed = CometChatGroupEvents . ccGroupMemberJoined . subscribe ( ( data : IGroupMemberJoined ) => {
1375+ setGroup ( data . joinedGroup )
1376+ setSelectedItem ( data . joinedGroup ) ;
1377+ setAppState ( { type : "updateSelectedItemGroup" , payload : data . joinedGroup } ) ;
1378+ } )
13731379
13741380 const ccClickEvent = CometChatUIEvents . ccMouseEvent . subscribe ( ( mouseevent : IMouseEvent ) => {
13751381 if ( mouseevent . event . type === "click" && ( mouseevent . body as { CometChatUserGroupMembersObject : User } ) ?. CometChatUserGroupMembersObject ) {
@@ -1408,6 +1414,7 @@ function CometChatHome(props: { theme?: string }) {
14081414 ccConversationDeleted ?. unsubscribe ( ) ;
14091415 ccOpenChat ?. unsubscribe ( ) ;
14101416 ccClickEvent ?. unsubscribe ( ) ;
1417+ ccGroupJoineed ?. unsubscribe ( ) ;
14111418 } ;
14121419 } , [ newChat , selectedItem ] ) ;
14131420
0 commit comments