From c5a60227dd1dce37fe8ab25e5a6e5f425bd9754c Mon Sep 17 00:00:00 2001 From: Phillip Lang Martinez Date: Sat, 26 Nov 2022 16:00:27 +0200 Subject: [PATCH 1/2] block version 0 messages features --- qortal-ui-core/language/us.json | 3 +- .../plugins/core/components/ChatScroller.js | 56 +++++++++++++------ 2 files changed, 41 insertions(+), 18 deletions(-) diff --git a/qortal-ui-core/language/us.json b/qortal-ui-core/language/us.json index 77087bb4..4f414575 100644 --- a/qortal-ui-core/language/us.json +++ b/qortal-ui-core/language/us.json @@ -491,7 +491,8 @@ "cchange29": "Maximum message size is 1000 bytes", "cchange30": "Uploading image. This may take up to one minute.", "cchange31": "Deleting image. This may take up to one minute.", - "cchange33": "Cancel" + "cchange33": "Cancel", + "cchange34": "This chat message is using an older message version and cannot use this feature." }, "welcomepage": { "wcchange1": "Welcome to Q-Chat", diff --git a/qortal-ui-plugins/plugins/core/components/ChatScroller.js b/qortal-ui-plugins/plugins/core/components/ChatScroller.js index 448ce883..a5ff940a 100644 --- a/qortal-ui-plugins/plugins/core/components/ChatScroller.js +++ b/qortal-ui-plugins/plugins/core/components/ChatScroller.js @@ -25,10 +25,10 @@ class ChatScroller extends LitElement { escapeHTML: { attribute: false }, messages: { type: Array }, hideMessages: { type: Array }, - setRepliedToMessageObj: { type: Function }, - setEditedMessageObj: { type: Function }, - focusChatEditor: { type: Function }, - sendMessage: { type: Function} + setRepliedToMessageObj: {attribute: false}, + setEditedMessageObj: {attribute: false}, + focusChatEditor: {attribute: false}, + sendMessage: {attribute: false} } } @@ -54,7 +54,7 @@ class ChatScroller extends LitElement { render() { - + console.log('messages', this.messages) let formattedMessages = this.messages.reduce((messageArray, message) => { const lastGroupedMessage = messageArray[messageArray.length - 1]; let timestamp; @@ -201,11 +201,11 @@ class MessageTemplate extends LitElement { openDialogPrivateMessage: {type: Boolean}, openDialogBlockUser: {type: Boolean}, showBlockAddressIcon: { type: Boolean }, - setRepliedToMessageObj: { type: Function }, - setEditedMessageObj: { type: Function }, - focusChatEditor: { type: Function }, - sendMessage: { type: Function }, - openDialogImage: { type: Function }, + setRepliedToMessageObj: {attribute: false}, + setEditedMessageObj: {attribute: false}, + focusChatEditor: {attribute: false}, + sendMessage: {attribute: false}, + openDialogImage: {attribute: false}, isImageLoaded: { type: Boolean }, isFirstMessage: { type: Boolean }, isSingleMessageInGroup: { type: Boolean }, @@ -264,12 +264,14 @@ class MessageTemplate extends LitElement { let repliedToData = null; let image = null; let isImageDeleted = false; + let version = 0; try { const parsedMessageObj = JSON.parse(this.messageObj.decodedMessage); message = parsedMessageObj.messageText; repliedToData = this.messageObj.repliedToData; isImageDeleted = parsedMessageObj.isImageDeleted; reactions = parsedMessageObj.reactions || []; + version = parsedMessageObj.version if (parsedMessageObj.images && Array.isArray(parsedMessageObj.images) && parsedMessageObj.images.length > 0) { image = parsedMessageObj.images[0]; } @@ -462,6 +464,7 @@ class MessageTemplate extends LitElement { .myAddress=${this.myAddress} @blur=${() => this.showBlockIconFunc(false)} .sendMessage=${this.sendMessage} + version=${version} > @@ -525,18 +528,19 @@ class ChatMenu extends LitElement { static get properties() { return { menuItems: { type: Array }, - showPrivateMessageModal: { type: Function }, - showBlockUserModal: { type: Function }, + showPrivateMessageModal: {attribute: false}, + showBlockUserModal: {attribute: false}, toblockaddress: { type: String, attribute: true }, - showBlockIconFunc: { type: Function }, + showBlockIconFunc: {attribute: false}, showBlockAddressIcon: { type: Boolean }, originalMessage: { type: Object }, - setRepliedToMessageObj: { type: Function }, - setEditedMessageObj: { type: Function }, - focusChatEditor: { type: Function }, + setRepliedToMessageObj: {attribute: false}, + setEditedMessageObj: {attribute: false}, + focusChatEditor: {attribute: false}, myAddress: { type: Object }, emojiPicker: { attribute: false }, - sendMessage: {type: Function}, + sendMessage: {attribute: false}, + version: {type: String} } } @@ -561,6 +565,11 @@ class ChatMenu extends LitElement { } } + versionErrorSnack(){ + let errorMsg = get("chatpage.cchange34") + parentEpml.request('showSnackBar', `${errorMsg}`) + } + firstUpdated () { this.emojiPicker = new EmojiPicker({ style: "twemoji", @@ -584,12 +593,17 @@ editedMessageObj: this.originalMessage, } render() { + console.log('version', this.version) return html`