Browse Source

block version 0 messages features

q-apps
Phillip Lang Martinez 2 years ago
parent
commit
c5a60227dd
  1. 3
      qortal-ui-core/language/us.json
  2. 56
      qortal-ui-plugins/plugins/core/components/ChatScroller.js

3
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",

56
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}
>
</chat-menu>
</div>
@ -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`
<div class="container">
<div
class="menu-icon tooltip reaction"
data-text="${translate("blockpage.bcchange13")}"
@click=${(e) => {
if(this.version === '0'){
this.versionErrorSnack()
return
}
this.emojiPicker.togglePicker(e.target)
}}
>
@ -605,6 +619,10 @@ editedMessageObj: this.originalMessage,
class="menu-icon tooltip"
data-text="${translate("blockpage.bcchange11")}"
@click="${() => {
if(this.version === '0'){
this.versionErrorSnack()
return
}
this.setRepliedToMessageObj(this.originalMessage);
this.focusChatEditor();
}}">
@ -617,6 +635,10 @@ editedMessageObj: this.originalMessage,
class="menu-icon tooltip"
data-text="${translate("blockpage.bcchange12")}"
@click=${() => {
if(this.version === '0'){
this.versionErrorSnack()
return
}
this.setEditedMessageObj(this.originalMessage);
this.focusChatEditor();
}}>

Loading…
Cancel
Save