|
1 | 1 | <template>
|
2 | 2 | <div>
|
3 |
| - <div class="card-date" v-if="showDate"> |
4 |
| - {{ message.date }} |
5 |
| - </div> |
6 |
| - |
7 |
| - <div class="line-new" v-if="newMessage._id === message._id"> |
8 |
| - {{ textMessages.NEW_MESSAGES }} |
9 |
| - </div> |
| 3 | + <div class="card-date" v-if="showDate" v-html="message.date"></div> |
| 4 | + <div |
| 5 | + class="line-new" |
| 6 | + v-if="newMessage._id === message._id" |
| 7 | + v-html="textMessages.NEW_MESSAGES" |
| 8 | + ></div> |
10 | 9 |
|
11 | 10 | <div
|
12 | 11 | class="message-box"
|
|
36 | 35 | 'username-reply': !message.deleted && message.replyMessage
|
37 | 36 | }"
|
38 | 37 | >
|
39 |
| - <span>{{ message.username }}</span> |
| 38 | + <span v-html="message.username"></span> |
40 | 39 | </div>
|
41 | 40 |
|
42 | 41 | <div
|
43 | 42 | v-if="!message.deleted && message.replyMessage"
|
44 | 43 | class="reply-message"
|
45 | 44 | >
|
46 |
| - <div class="reply-username">{{ replyUsername }}</div> |
| 45 | + <div class="reply-username" v-html="replyUsername"></div> |
47 | 46 |
|
48 | 47 | <div class="image-reply-container" v-if="isImageReply">
|
49 | 48 | <div
|
|
54 | 53 | ></div>
|
55 | 54 | </div>
|
56 | 55 |
|
57 |
| - <div class="reply-content">{{ message.replyMessage.content }}</div> |
| 56 | + <div |
| 57 | + class="reply-content" |
| 58 | + v-html="message.replyMessage.content" |
| 59 | + ></div> |
58 | 60 | </div>
|
59 | 61 |
|
60 | 62 | <div v-if="message.deleted">
|
61 |
| - <span>{{ textMessages.MESSAGE_DELETED }}</span> |
| 63 | + <span v-html="textMessages.MESSAGE_DELETED"></span> |
62 | 64 | </div>
|
63 | 65 |
|
64 | 66 | <div v-else-if="!message.file">
|
65 |
| - <span>{{ message.content }}</span> |
| 67 | + <span v-html="message.content"></span> |
66 | 68 | </div>
|
67 | 69 |
|
68 | 70 | <div class="image-container" v-else-if="isImage">
|
|
98 | 100 | </div>
|
99 | 101 | </transition>
|
100 | 102 | </div>
|
101 |
| - <span>{{ message.content }}</span> |
| 103 | + <span v-html="message.content"></span> |
102 | 104 | </div>
|
103 | 105 |
|
104 | 106 | <div v-else class="file-message">
|
|
108 | 110 | >
|
109 | 111 | <svg-icon name="document" />
|
110 | 112 | </div>
|
111 |
| - <span>{{ message.content }}</span> |
| 113 | + <span v-html="message.content"></span> |
112 | 114 | </div>
|
113 | 115 |
|
114 | 116 | <div class="text-timestamp">
|
115 | 117 | <div class="icon-edited" v-if="message.edited && !message.deleted">
|
116 | 118 | <svg-icon name="pencil" />
|
117 | 119 | </div>
|
118 |
| - <span>{{ message.timestamp }}</span> |
| 120 | + <span v-html="message.timestamp"></span> |
119 | 121 | <span v-if="isMessageSeen">
|
120 | 122 | <svg-icon name="checkmark" class="icon-check" />
|
121 | 123 | </span>
|
|
186 | 188 | v-for="action in filteredMessageActions"
|
187 | 189 | :key="action.name"
|
188 | 190 | >
|
189 |
| - <div class="menu-item" @click="messageActionHandler(action)"> |
190 |
| - {{ action.title }} |
191 |
| - </div> |
| 191 | + <div |
| 192 | + class="menu-item" |
| 193 | + v-html="action.title" |
| 194 | + @click="messageActionHandler(action)" |
| 195 | + ></div> |
192 | 196 | </div>
|
193 | 197 | </div>
|
194 | 198 | </div>
|
|
0 commit comments