diff --git a/ui/app/AppLayouts/Chat/popups/PinnedMessagesPopup.qml b/ui/app/AppLayouts/Chat/popups/PinnedMessagesPopup.qml index 1b031473ce..8ff322f0ca 100644 --- a/ui/app/AppLayouts/Chat/popups/PinnedMessagesPopup.qml +++ b/ui/app/AppLayouts/Chat/popups/PinnedMessagesPopup.qml @@ -15,7 +15,6 @@ StatusDialog { property var store property var messageStore - property var messagesModule property var pinnedMessagesModel //this doesn't belong to the messageStore, it is a part of the ChatContentStore, but we didn't introduce it yet. property string messageToPin property string messageToUnpin @@ -70,12 +69,14 @@ StatusDialog { messageContextMenu: msgContextMenu messageId: model.id + responseToMessageWithId: model.responseToMessageWithId senderId: model.senderId senderDisplayName: model.senderDisplayName senderOptionalName: model.senderOptionalName senderIsEnsVerified: model.senderEnsVerified senderIsAdded: model.senderIsAdded senderIcon: model.senderIcon + senderTrustStatus: model.senderTrustStatus amISender: model.amISender messageText: model.messageText messageImage: model.messageImage @@ -84,7 +85,6 @@ StatusDialog { messageContentType: model.contentType pinnedMessage: model.pinned messagePinnedBy: model.pinnedBy - senderTrustStatus: model.senderTrustStatus linkUrls: model.links transactionParams: model.transactionParameters @@ -136,11 +136,11 @@ StatusDialog { } onUnpinMessage: { - root.messagesModule.unpinMessage(messageId) + root.messageStore.unpinMessage(messageId) } onJumpToMessage: { - root.messagesModule.jumpToMessage(messageId) + root.messageStore.messagesModule.jumpToMessage(messageId) } } } diff --git a/ui/app/AppLayouts/Chat/stores/MessageStore.qml b/ui/app/AppLayouts/Chat/stores/MessageStore.qml index 5cdd1f17f5..e5f1a8e3c4 100644 --- a/ui/app/AppLayouts/Chat/stores/MessageStore.qml +++ b/ui/app/AppLayouts/Chat/stores/MessageStore.qml @@ -30,17 +30,21 @@ QtObject { } function getMessageByIdAsJson (id) { - if(!messageModule) + if (!messageModule) { + console.warn("getMessageByIdAsJson: Failed to parse message, because messageModule is not set") return false + } - let jsonObj = messageModule.getMessageByIdAsJson(id) - if(jsonObj === "") - return + const jsonObj = messageModule.getMessageByIdAsJson(id) + if (jsonObj === "") { + console.warn("getMessageByIdAsJson: Failed to get message, returned json is empty") + return undefined + } - let obj = JSON.parse(jsonObj) + const obj = JSON.parse(jsonObj) if (obj.error) { // This log is available only in debug mode, if it's annoying we can remove it - console.debug("error parsing message for index: ", id, " error: ", obj.error) + console.debug("getMessageByIdAsJson: Failed to parse message for index: ", id, " error: ", obj.error) return false } diff --git a/ui/app/AppLayouts/Chat/views/ChatContentView.qml b/ui/app/AppLayouts/Chat/views/ChatContentView.qml index bef0bfd63a..ae704b7116 100644 --- a/ui/app/AppLayouts/Chat/views/ChatContentView.qml +++ b/ui/app/AppLayouts/Chat/views/ChatContentView.qml @@ -71,7 +71,7 @@ ColumnLayout { MessageStore { id: messageStore - messageModule: chatContentModule? chatContentModule.messagesModule : null + messageModule: chatContentModule ? chatContentModule.messagesModule : null chatSectionModule: root.rootStore.chatCommunitySectionModule } @@ -95,7 +95,6 @@ ColumnLayout { Global.openPopup(Global.pinnedMessagesPopup, { store: rootStore, messageStore: messageStore, - messagesModule: chatContentModule.messagesModule, pinnedMessagesModel: chatContentModule.pinnedMessagesModel, messageToPin: messageId }) diff --git a/ui/app/AppLayouts/Chat/views/ChatHeaderContentView.qml b/ui/app/AppLayouts/Chat/views/ChatHeaderContentView.qml index 8cee3cefeb..6d5470ec2c 100644 --- a/ui/app/AppLayouts/Chat/views/ChatHeaderContentView.qml +++ b/ui/app/AppLayouts/Chat/views/ChatHeaderContentView.qml @@ -10,6 +10,7 @@ import StatusQ.Core.Utils 0.1 as SQUtils import utils 1.0 import "../panels" +import "../stores" RowLayout { id: root @@ -35,6 +36,12 @@ RowLayout { readonly property bool selectingMembers: root.state == stateMembersSelectorContent } + MessageStore { + id: messageStore + messageModule: chatContentModule ? chatContentModule.messagesModule : null + chatSectionModule: root.rootStore.chatCommunitySectionModule + } + Loader { id: loader Layout.fillWidth: d.selectingMembers @@ -216,7 +223,7 @@ RowLayout { root.state = d.stateMembersSelectorContent } onFetchMoreMessages: { - root.rootStore.messageStore.requestMoreMessages(); + messageStore.requestMoreMessages(); } onLeaveGroup: { chatContentModule.leaveChat(); @@ -300,8 +307,7 @@ RowLayout { } Global.openPopup(Global.pinnedMessagesPopup, { store: rootStore, - messageStore: root.rootStore.messageStore, - messagesModule: chatContentModule.messagesModule, + messageStore: messageStore, pinnedMessagesModel: chatContentModule.pinnedMessagesModel, messageToPin: "" }) diff --git a/ui/app/AppLayouts/Chat/views/ChatMessagesView.qml b/ui/app/AppLayouts/Chat/views/ChatMessagesView.qml index 45426c7aab..9a529e82e9 100644 --- a/ui/app/AppLayouts/Chat/views/ChatMessagesView.qml +++ b/ui/app/AppLayouts/Chat/views/ChatMessagesView.qml @@ -279,13 +279,13 @@ Item { senderIsEnsVerified: model.senderEnsVerified senderIcon: model.senderIcon senderIsAdded: model.senderIsAdded + senderTrustStatus: model.senderTrustStatus amISender: model.amISender messageText: model.messageText messageImage: model.messageImage messageTimestamp: model.timestamp messageOutgoingStatus: model.outgoingStatus messageContentType: model.contentType - senderTrustStatus: model.senderTrustStatus pinnedMessage: model.pinned messagePinnedBy: model.pinnedBy reactionsModel: model.reactions diff --git a/ui/imports/shared/views/chat/MessageView.qml b/ui/imports/shared/views/chat/MessageView.qml index 5032a17e76..cfdd0bc569 100644 --- a/ui/imports/shared/views/chat/MessageView.qml +++ b/ui/imports/shared/views/chat/MessageView.qml @@ -767,7 +767,6 @@ Loader { Global.openPopup(Global.pinnedMessagesPopup, { store: root.rootStore, messageStore: messageStore, - messagesModule: chatContentModule.messagesModule, pinnedMessagesModel: chatContentModule.pinnedMessagesModel, messageToPin: root.messageId });