test for iOS emojis

This commit is contained in:
Milos Holba
2021-02-09 20:42:48 +01:00
parent f6dbb5e71e
commit 6c3630085e
2 changed files with 74 additions and 34 deletions
+47 -15
View File
@@ -1,25 +1,57 @@
<template>
<div v-show="transferEmoji" :style="{width: `${size}px`, height: `${size}px`}" v-html="transferEmoji"/>
<div>
<div v-if="transferEmoji && !isIos" :style="{width: `${size}px`, height: `${size}px`}" v-html="transferEmoji"/>
<span v-if="transferEmoji && isIos" :style="{fontSize: `${size}px`}">{{transferEmoji}}</span>
</div>
</template>
<script>
import twemoji from 'twemoji'
export default {
name: 'Emoji',
props: ['emoji', 'size'],
computed: {
transferEmoji () {
// Transfer single emoji to twemoji
return twemoji.parse(this.emoji.char, {
folder: 'svg',
ext: '.svg',
attributes: () => ({
loading: 'lazy',
export default {
name: 'Emoji',
props: ['emoji', 'size'],
computed: {
transferEmoji () {
// Transfer single emoji to twemoji
return !this.isIos
? twemoji.parse(this.emoji.char, {
folder: 'svg',
ext: '.svg',
attributes: () => ({
loading: 'lazy',
})
})
})
}
: this.emoji.char
},
},
data () {
return {
isIos: false
}
},
created () {
const toMatch = [
/iPhone/i,
/iPad/i,
/iPod/i,
/iOS/i,
/macOS/i,
/Macintosh/i
]
this.isIos = toMatch.some(toMatchItem => {
return navigator.userAgent.match(toMatchItem)
})
}
}
</script>
<style lang="scss" scoped>
@import "@assets/vue-file-manager/_inapp-forms.scss";
@import '@assets/vue-file-manager/_forms';
</style>