Skip to content

Commit a4da252

Browse files
committed
(UI) increase all message emojis size
1 parent b3a28cc commit a4da252

File tree

2 files changed

+27
-21
lines changed

2 files changed

+27
-21
lines changed

src/components/FormatMessage/FormatMessage.scss

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,4 @@
3535
max-width: 166px;
3636
font-size: 12px;
3737
}
38-
39-
.vac-emoji-message {
40-
font-size: 28px;
41-
}
4238
}

src/components/FormatMessage/FormatMessage.vue

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -47,16 +47,14 @@
4747
</div>
4848
</template>
4949
<template v-else>
50-
<span :class="{ 'vac-emoji-message': containsOnlyEmojis }">
50+
<span v-html="message.value">
5151
{{ message.value }}
5252
</span>
5353
</template>
5454
</component>
5555
</div>
5656
</div>
57-
<div v-else :class="{ 'vac-emoji-message': containsOnlyEmojis }">
58-
{{ formattedContent }}
59-
</div>
57+
<div v-else v-html="formattedContent" />
6058
</div>
6159
</template>
6260

@@ -101,23 +99,11 @@ export default {
10199
m.multiline = this.checkType(m, 'multiline-code')
102100
m.tag = this.checkType(m, 'tag')
103101
m.image = this.checkImageType(m)
102+
m.value = this.replaceEmojiByElement(m.value)
104103
})
105104
106105
return message
107106
},
108-
containsOnlyEmojis() {
109-
if (this.singleLine) return false
110-
111-
const onlyEmojis = this.content.replace(
112-
new RegExp('[\u0000-\u1eeff]', 'g'),
113-
''
114-
)
115-
const visibleChars = this.content.replace(
116-
new RegExp('[\n\rs]+|( )+', 'g'),
117-
''
118-
)
119-
return onlyEmojis.length === visibleChars.length
120-
},
121107
formattedContent() {
122108
return this.formatTags(this.content)
123109
}
@@ -183,6 +169,30 @@ export default {
183169
)
184170
this.$emit('open-user-tag', user)
185171
}
172+
},
173+
replaceEmojiByElement(value) {
174+
let emojiSize
175+
if (this.singleLine) {
176+
emojiSize = 16
177+
} else {
178+
const onlyEmojis = this.containsOnlyEmojis()
179+
emojiSize = onlyEmojis ? 28 : 20
180+
}
181+
182+
return value.replaceAll(/\p{Emoji}/gu, v => {
183+
return `<span style="font-size: ${emojiSize}px">${v}</span>`
184+
})
185+
},
186+
containsOnlyEmojis() {
187+
const onlyEmojis = this.content.replace(
188+
new RegExp('[\u0000-\u1eeff]', 'g'),
189+
''
190+
)
191+
const visibleChars = this.content.replace(
192+
new RegExp('[\n\rs]+|( )+', 'g'),
193+
''
194+
)
195+
return onlyEmojis.length === visibleChars.length
186196
}
187197
}
188198
}

0 commit comments

Comments
 (0)