diff --git a/qortal-ui-core/package.json b/qortal-ui-core/package.json
index e98948c6..5515942d 100644
--- a/qortal-ui-core/package.json
+++ b/qortal-ui-core/package.json
@@ -1,6 +1,6 @@
{
"name": "qortal-ui-core",
- "version": "2.2.5",
+ "version": "3.0.0",
"description": "Qortal Project - decentralize the world - Data storage, communications, web hosting, decentralized trading, complete infrastructure for the future blockchain-based Internet",
"keywords": [
"QORT",
@@ -17,7 +17,7 @@
"author": "QORTAL ",
"license": "GPL-3.0",
"dependencies": {
- "@hapi/hapi": "21.1.0",
+ "@hapi/hapi": "21.2.0",
"@hapi/inert": "7.0.0",
"sass": "1.57.1"
},
@@ -53,17 +53,17 @@
"@polymer/paper-spinner": "3.0.2",
"@polymer/paper-toast": "3.0.1",
"@polymer/paper-tooltip": "3.0.1",
- "@rollup/plugin-alias": "4.0.2",
+ "@rollup/plugin-alias": "4.0.3",
"@rollup/plugin-babel": "6.0.3",
- "@rollup/plugin-commonjs": "24.0.0",
+ "@rollup/plugin-commonjs": "24.0.1",
"@rollup/plugin-node-resolve": "15.0.1",
"@rollup/plugin-replace": "5.0.2",
"@rollup/plugin-terser": "0.3.0",
- "@vaadin/button": "23.3.3",
- "@vaadin/grid": "23.3.3",
- "@vaadin/icons": "23.3.3",
- "@vaadin/password-field": "23.3.3",
- "@vaadin/tooltip": "23.3.3",
+ "@vaadin/button": "23.3.5",
+ "@vaadin/grid": "23.3.5",
+ "@vaadin/icons": "23.3.5",
+ "@vaadin/password-field": "23.3.5",
+ "@vaadin/tooltip": "23.3.5",
"asmcrypto.js": "2.3.2",
"bcryptjs": "2.4.3",
"epml": "0.3.3",
@@ -73,7 +73,7 @@
"pwa-helpers": "0.9.1",
"redux": "4.2.0",
"redux-thunk": "2.4.2",
- "rollup": "3.10.0",
+ "rollup": "3.10.1",
"rollup-plugin-node-globals": "1.4.0",
"rollup-plugin-progress": "1.1.2",
"rollup-plugin-scss": "3.0.0",
diff --git a/qortal-ui-plugins/package.json b/qortal-ui-plugins/package.json
index 7e6583d1..4ca2e7d1 100644
--- a/qortal-ui-plugins/package.json
+++ b/qortal-ui-plugins/package.json
@@ -1,6 +1,6 @@
{
"name": "qortal-ui-plugins",
- "version": "2.2.5",
+ "version": "3.0.0",
"description": "Qortal Project - decentralize the world - Data storage, communications, web hosting, decentralized trading, complete infrastructure for the future blockchain-based Internet",
"keywords": [
"QORT",
@@ -63,24 +63,24 @@
"@polymer/paper-slider": "3.0.1",
"@polymer/paper-spinner": "3.0.2",
"@polymer/paper-tooltip": "3.0.1",
- "@rollup/plugin-alias": "4.0.2",
+ "@rollup/plugin-alias": "4.0.3",
"@rollup/plugin-babel": "6.0.3",
- "@rollup/plugin-commonjs": "24.0.0",
+ "@rollup/plugin-commonjs": "24.0.1",
"@rollup/plugin-node-resolve": "15.0.1",
"@rollup/plugin-replace": "5.0.2",
"@rollup/plugin-terser": "0.3.0",
- "@vaadin/avatar": "23.3.3",
- "@vaadin/button": "23.3.3",
- "@vaadin/grid": "23.3.3",
- "@vaadin/icons": "23.3.3",
- "@vaadin/tooltip": "23.3.3",
+ "@vaadin/avatar": "23.3.5",
+ "@vaadin/button": "23.3.5",
+ "@vaadin/grid": "23.3.5",
+ "@vaadin/icons": "23.3.5",
+ "@vaadin/tooltip": "23.3.5",
"epml": "0.3.3",
"file-saver": "2.0.5",
- "highcharts": "10.3.2",
+ "highcharts": "10.3.3",
"html-escaper": "3.0.3",
"lit": "2.6.1",
"lit-translate": "2.0.1",
- "rollup": "3.10.0",
+ "rollup": "3.10.1",
"rollup-plugin-node-globals": "1.4.0",
"rollup-plugin-progress": "1.1.2",
"rollup-plugin-web-worker-loader": "1.6.1"
diff --git a/qortal-ui-plugins/plugins/core/components/ChatPage.js b/qortal-ui-plugins/plugins/core/components/ChatPage.js
index 441f5457..8cfd943c 100644
--- a/qortal-ui-plugins/plugins/core/components/ChatPage.js
+++ b/qortal-ui-plugins/plugins/core/components/ChatPage.js
@@ -1613,7 +1613,7 @@ class ChatPage extends LitElement {
const isRecipient = this.chatId.includes('direct') === true ? true : false;
const groupId = this.chatId.split('/')[1];
- if(!isRecipient && groupId !== 0){
+ if(!isRecipient && groupId.toString() !== '0'){
try {
const getMembers = await parentEpml.request("apiCall", {
diff --git a/qortal-ui-plugins/plugins/core/components/ChatScroller-css.js b/qortal-ui-plugins/plugins/core/components/ChatScroller-css.js
index b88600c8..af39f5d3 100644
--- a/qortal-ui-plugins/plugins/core/components/ChatScroller-css.js
+++ b/qortal-ui-plugins/plugins/core/components/ChatScroller-css.js
@@ -77,8 +77,8 @@ export const chatStyles = css`
}
.message-data-my-name {
- color: #cf21e8;
- text-shadow: 0 0 3px #cf21e8;
+ color: var(--mdc-theme-primary);
+ text-shadow: 0 0 3px var(--mdc-theme-primary);
}
.message-data-time {
diff --git a/qortal-ui-plugins/plugins/core/components/ChatScroller.js b/qortal-ui-plugins/plugins/core/components/ChatScroller.js
index fc80c6c8..d8b06852 100644
--- a/qortal-ui-plugins/plugins/core/components/ChatScroller.js
+++ b/qortal-ui-plugins/plugins/core/components/ChatScroller.js
@@ -52,7 +52,8 @@ class ChatScroller extends LitElement {
userName: { type: String },
selectedHead: { type: Object },
goToRepliedMessage: { attribute: false },
- getOldMessageAfter: {attribute: false}
+ getOldMessageAfter: {attribute: false},
+ listSeenMessages: {type: Array}
}
}
@@ -67,6 +68,11 @@ class ChatScroller extends LitElement {
this.hideMessages = JSON.parse(localStorage.getItem("MessageBlockedAddresses") || "[]")
this.openTipUser = false;
this.openUserInfo = false;
+ this.listSeenMessages= []
+ }
+
+ addSeenMessage(val){
+ this.listSeenMessages.push(val)
}
render() {
@@ -138,6 +144,8 @@ class ChatScroller extends LitElement {
.setUserName=${(val) => this.setUserName(val)}
id=${message.reference}
.goToRepliedMessage=${this.goToRepliedMessage}
+ .addSeenMessage=${(val)=> this.addSeenMessage(val)}
+ .listSeenMessages=${this.listSeenMessages}
>
`
)
@@ -284,6 +292,9 @@ class MessageTemplate extends LitElement {
setUserName: { attribute: false },
openTipUser:{ type: Boolean },
goToRepliedMessage: { attribute: false },
+ listSeenMessages: {type: Array},
+ addSeenMessage: {attribute: false},
+
}
}
@@ -300,7 +311,7 @@ class MessageTemplate extends LitElement {
this.isFirstMessage = false
this.isSingleMessageInGroup = false
this.isLastMessageInGroup = false
- this.viewImage = false
+ this.viewImage = false
}
static styles = [chatStyles]
@@ -331,6 +342,12 @@ class MessageTemplate extends LitElement {
}
}
+ firstUpdated(){
+ if(this.listSeenMessages.includes(this.messageObj.reference)){
+ this.viewImage = true
+ }
+ }
+
render() {
const hidemsg = this.hideMessages;
let message = "";
@@ -381,9 +398,9 @@ class MessageTemplate extends LitElement {
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node];
const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port;
const avatarUrl = `${nodeUrl}/arbitrary/THUMBNAIL/${this.messageObj.senderName}/qortal_avatar?async=true&apiKey=${myNode.apiKey}`;
- avatarImg = html`
`;
+ avatarImg = html`
`;
} else {
- avatarImg = html`
`
+ avatarImg = html`
`
}
const createImage = (imageUrl) => {
@@ -455,7 +472,6 @@ class MessageTemplate extends LitElement {
}
const escapedMessage = this.escapeHTML(message)
const replacedMessage = escapedMessage.replace(new RegExp('\r?\n','g'), '
');
-
return hideit ? html`` : html`
-
+
`}
${image && !isImageDeleted && !this.viewImage && this.myAddress !== this.messageObj.sender ? html`
{
this.viewImage = true
+ this.addSeenMessage(this.messageObj.reference)
}}
class=${[`image-container`, !this.isImageLoaded ? 'defaultSize' : ''].join(' ')}
style=${this.isFirstMessage && "margin-top: 10px;"}>
@@ -599,6 +615,9 @@ class MessageTemplate extends LitElement {
${version.toString() === '1' ? html`
${unsafeHTML(this.emojiPicker.parse(replacedMessage))}
` : ''}
+ ${version.toString() === '0' ? html`
+ ${unsafeHTML(this.emojiPicker.parse(replacedMessage))}
+ ` : ''}
${translate("mintingpage.mchange27")} ${adresslevel}
- `
+ ` : ''
}
_textMenu(event) {
diff --git a/qortal-ui-plugins/plugins/core/components/UserInfo/UserInfo.js b/qortal-ui-plugins/plugins/core/components/UserInfo/UserInfo.js
index ff0290cc..ea8fe4de 100644
--- a/qortal-ui-plugins/plugins/core/components/UserInfo/UserInfo.js
+++ b/qortal-ui-plugins/plugins/core/components/UserInfo/UserInfo.js
@@ -85,7 +85,7 @@ export class UserInfo extends LitElement {
${!this.isImageLoaded && this.selectedHead && !this.selectedHead.name ?
html`
-
![avatar](/img/qortal-chat-logo.png)
+
`
: ""}