Skip to content

Commit 5c91a73

Browse files
committed
(UX) linkify message urls
1 parent 5be8c14 commit 5c91a73

File tree

3 files changed

+14
-3
lines changed

3 files changed

+14
-3
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
"vue": "^2.6.10"
5757
},
5858
"dependencies": {
59+
"linkifyjs": "^2.1.9",
5960
"v-click-outside": "^3.0.0",
6061
"vue-emoji-picker": "^1.0.1",
6162
"vue-infinite-loading": "^2.4.4"

src/ChatWindow/ChatWindow.vue

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,10 @@ export default {
244244
font-family: inherit;
245245
}
246246
247+
a {
248+
color: #0d579c;
249+
}
250+
247251
.card-window {
248252
width: 100%;
249253
display: block;

src/ChatWindow/Message.vue

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@
6464
</div>
6565

6666
<div v-else-if="!message.file">
67-
<span v-html="message.content"></span>
67+
<span v-html="linkifiedMessage"></span>
6868
</div>
6969

7070
<div class="image-container" v-else-if="isImage">
@@ -100,7 +100,7 @@
100100
</div>
101101
</transition>
102102
</div>
103-
<span v-html="message.content"></span>
103+
<span v-html="linkifiedMessage"></span>
104104
</div>
105105

106106
<div v-else class="file-message">
@@ -110,7 +110,7 @@
110110
>
111111
<svg-icon name="document" />
112112
</div>
113-
<span v-html="message.content"></span>
113+
<span v-html="linkifiedMessage"></span>
114114
</div>
115115

116116
<div class="text-timestamp">
@@ -224,6 +224,7 @@
224224
<script>
225225
import SvgIcon from './SvgIcon'
226226
import vClickOutside from 'v-click-outside'
227+
import linkifyHtml from 'linkifyjs/html';
227228
import Loader from './Loader'
228229
import EmojiPicker from './EmojiPicker'
229230
@@ -305,6 +306,11 @@ export default {
305306
},
306307
307308
computed: {
309+
linkifiedMessage() {
310+
return linkifyHtml(this.message.content, {
311+
defaultProtocol: 'https'
312+
})
313+
},
308314
showDate() {
309315
return (
310316
this.index > 0 &&

0 commit comments

Comments
 (0)