message avatars

This commit is contained in:
N-Pex 2020-11-11 20:27:34 +01:00
parent 6c563b1e51
commit 072a685c1a
2 changed files with 26 additions and 0 deletions

View file

@ -118,6 +118,7 @@ $chat-text-size: 0.7pt;
margin: 8px; margin: 8px;
margin-right: 30% !important; margin-right: 30% !important;
text-align: left; text-align: left;
position: relative;
.bubble { .bubble {
background-color: white; background-color: white;
border-radius: 10px 10px 10px 0; border-radius: 10px 10px 10px 0;
@ -126,6 +127,16 @@ $chat-text-size: 0.7pt;
border-style: solid !important; border-style: solid !important;
border-color: #cccccc !important; border-color: #cccccc !important;
} }
.avatar {
position: absolute;
left: -10px;
top: 0;
border: 2px solid white;
}
.sender {
position: relative;
left: 40px;
}
} }
.sender, .status { .sender, .status {

View file

@ -50,6 +50,11 @@
> >
<div class="messageIn"> <div class="messageIn">
<div class="sender">{{ messageEventDisplayName(event) }}</div> <div class="sender">{{ messageEventDisplayName(event) }}</div>
<v-avatar class="avatar" size="40" color="grey">
<img v-if="messageEventAvatar(event)" :src="messageEventAvatar(event)" />
<span v-else class="white--text headline">{{messageEventDisplayName(event).substring(0,1).toUpperCase()}}</span>
</v-avatar>
<div class="bubble"> <div class="bubble">
<div class="message">{{ event.getContent().body }}</div> <div class="message">{{ event.getContent().body }}</div>
</div> </div>
@ -264,6 +269,16 @@ export default {
return this.stateEventDisplayName(event); return this.stateEventDisplayName(event);
}, },
messageEventAvatar(event) {
if (this.room) {
const member = this.room.getMember(event.getSender());
if (member) {
return member.getAvatarUrl(this.$matrix.matrixClient.getHomeserverUrl(), 40, 40, "scale", true);
}
}
return null;
},
sendMessage() { sendMessage() {
if (this.currentInput.length > 0) { if (this.currentInput.length > 0) {
this.sendMatrixMessage(this.currentInput); this.sendMatrixMessage(this.currentInput);