Browse Source

fix avatar issue

q-apps
Phillip 2 years ago
parent
commit
fe9af1dc82
  1. 20
      qortal-ui-plugins/plugins/core/components/ChatHead.js
  2. 6
      qortal-ui-plugins/plugins/core/messaging/q-chat/q-chat.src.js

20
qortal-ui-plugins/plugins/core/components/ChatHead.js

@ -108,9 +108,10 @@ class ChatHead extends LitElement {
this.isImageLoaded = false
this.imageFetches = 0
this.lastReadMessageTimestamp = 0
this.loggedInAddress = window.parent.reduxStore.getState().app.selectedAddress.address
}
createImage(imageUrl) {
createImage(imageUrl) {
const imageHTMLRes = new Image();
imageHTMLRes.src = imageUrl;
imageHTMLRes.style= "width:40px; height:40px; float: left; border-radius:50%";
@ -125,7 +126,7 @@ class ChatHead extends LitElement {
setTimeout(() => {
this.imageFetches = this.imageFetches + 1;
imageHTMLRes.src = imageUrl;
}, 500);
}, 750);
} else {
@ -134,9 +135,9 @@ class ChatHead extends LitElement {
};
return imageHTMLRes;
}
updated(){
}
render() {
let avatarImg = '';
let backupAvatarImg = ''
@ -159,6 +160,9 @@ class ChatHead extends LitElement {
isUnread = false
}
if(this.chatInfo.sender === this.loggedInAddress){
isUnread = false
}
return html`
<li @click=${() => this.getUrl(this.chatInfo.url)} class="clearfix ${this.activeChatHeadUrl === this.chatInfo.url ? 'active' : ''}">
${this.isImageLoaded ? html`${avatarImg}` : html`` }
@ -221,6 +225,14 @@ class ChatHead extends LitElement {
return true
}
if(changedProperties.has('chatInfo')){
const prevChatInfo = changedProperties.get('chatInfo')
if(prevChatInfo.address !== this.chatInfo.address){
this.isImageLoaded = false
this.requestUpdate()
}
return true
}

6
qortal-ui-plugins/plugins/core/messaging/q-chat/q-chat.src.js

@ -8,6 +8,7 @@ import { Epml } from '../../../../epml.js';
import { use, get, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate';
import { qchatStyles } from './q-chat-css.src.js'
import WebWorker from 'web-worker:./computePowWorker.src.js';
import {repeat} from 'lit/directives/repeat.js';
registerTranslateConfig({
loader: lang => fetch(`/language/${lang}.json`).then(res => res.json())
@ -857,13 +858,10 @@ class Chat extends LitElement {
renderChatHead(chatHeadArr) {
let tempUrl = document.location.href
let splitedUrl = decodeURI(tempUrl).split('?')
// let activeChatHeadUrl = splitedUrl[1] === undefined ? '' : splitedUrl[1]
return chatHeadArr.map(eachChatHead => {
return html`<chat-head activeChatHeadUrl=${this.activeChatHeadUrl} .setActiveChatHeadUrl=${(val)=> this.setActiveChatHeadUrl(val)} chatInfo=${JSON.stringify(eachChatHead)}></chat-head>`
})
}
renderChatPage() {

Loading…
Cancel
Save