Skip to content

Commit dce2580

Browse files
committed
(fix) show image when reply message has image
1 parent dbd6fe0 commit dce2580

File tree

2 files changed

+34
-3
lines changed

2 files changed

+34
-3
lines changed

demo/src/ChatContainer.vue

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -380,6 +380,10 @@ export default {
380380
? this.currentUserId
381381
: replyMessage.sender_id
382382
}
383+
384+
if (message.replyMessage.file) {
385+
message.replyMessage.file = replyMessage.file
386+
}
383387
}
384388
385389
const { id } = await this.messagesRef(roomId).add(message)

src/ChatWindow/ChatMessage.vue

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,14 @@
4040
class="reply-message"
4141
>
4242
<div class="reply-username">{{ replyUsername }}</div>
43+
44+
<div class="image-reply-container" v-if="isImageReply">
45+
<div
46+
class="message-image message-image-reply"
47+
:style="{ background: `url(${message.replyMessage.file.url})` }"
48+
></div>
49+
</div>
50+
4351
<div class="reply-content">{{ message.replyMessage.content }}</div>
4452
</div>
4553

@@ -215,6 +223,9 @@ export default {
215223
isImage() {
216224
return this.checkImageFile()
217225
},
226+
isImageReply() {
227+
return this.checkImageReplyFile()
228+
},
218229
isImageLoading() {
219230
return (
220231
this.message.file.url.indexOf('blob:http') !== -1 || this.imageLoading
@@ -279,9 +290,15 @@ export default {
279290
}, 300)
280291
},
281292
checkImageFile() {
282-
if (!this.message.file) return
293+
return this.checkImageType(this.message.file)
294+
},
295+
checkImageReplyFile() {
296+
return this.checkImageType(this.message.replyMessage.file)
297+
},
298+
checkImageType(file) {
299+
if (!file) return
283300
const imageTypes = ['png', 'jpg']
284-
const { type } = this.message.file
301+
const { type } = file
285302
return imageTypes.some(t => type.includes(t))
286303
},
287304
checkImgLoad() {
@@ -416,10 +433,14 @@ export default {
416433
}
417434
418435
.image-container {
419-
padding-bottom: 2px;
436+
// padding-bottom: 2px;
420437
width: 250px;
421438
}
422439
440+
.image-reply-container {
441+
width: 70px;
442+
}
443+
423444
.image-loader {
424445
top: 140px;
425446
}
@@ -437,6 +458,12 @@ export default {
437458
transition: 0.4s filter linear;
438459
}
439460
461+
.message-image-reply {
462+
height: 70px;
463+
width: 70px;
464+
margin: 4px auto 3px;
465+
}
466+
440467
.image-loading {
441468
filter: blur(3px);
442469
}

0 commit comments

Comments
 (0)