Don't repeat avatar for same author

Signed-off-by: Marco Ambrosini <marcoambrosini@pm.me>
This commit is contained in:
Marco Ambrosini 2019-10-16 12:35:40 +02:00
Родитель d695a00a6d
Коммит 73efa19f41
2 изменённых файлов: 18 добавлений и 2 удалений

Просмотреть файл

@ -27,7 +27,7 @@
@mouseleave="hover=false">
<div class="message">
<div class="message-avatar">
<Avatar :user="actorDisplayName" :display-name="actorDisplayName" />
<Avatar v-if="!isSameAuthor" :user="actorDisplayName" :display-name="actorDisplayName" />
</div>
<slot />
<div v-show="isTemporary" class="message-right icon-loading-small" />
@ -94,6 +94,12 @@ export default {
message: {
type: Object,
required: true
},
/**
* The previous message in the list
*/
previousMessage: {
required: true
}
},
data: function() {
@ -107,6 +113,12 @@ export default {
},
isTemporary() {
return this.timestamp === 0
},
isSameAuthor() {
if (this.previousMessage === undefined) {
return false
}
return this.message.actorId === this.previousMessage.actorId
}
},
methods: {

Просмотреть файл

@ -40,7 +40,11 @@ the DynamicScroller component, whose docs you can find [here.](https://github.co
item.messageText,
]"
:data-index="item.id">
<Message v-bind="item" :message="item" @deleteMessage="handleDeleteMessage">
<Message
v-bind="item"
:message="item"
:previous-message="messagesList[index-1]"
@deleteMessage="handleDeleteMessage">
<MessageBody v-bind="item">
<MessageBody v-if="item.parent" v-bind="messages[item.parent]" />
</MessageBody>