Add completion for normal emoji.
This commit is contained in:
parent
8020363680
commit
581e3e836a
|
@ -64,14 +64,15 @@ const PostStatusForm = {
|
|||
img: profile_image_url_original
|
||||
}))
|
||||
} else if (firstchar === ':') {
|
||||
const matchedEmoji = filter(this.emoji, (emoji) => emoji.shortcode.match(this.textAtCaret.slice(1)))
|
||||
const matchedEmoji = filter(this.emoji.concat(this.customEmoji), (emoji) => emoji.shortcode.match(this.textAtCaret.slice(1)))
|
||||
if (matchedEmoji.length <= 0) {
|
||||
return false
|
||||
}
|
||||
return map(take(matchedEmoji, 5), ({shortcode, image_url}) => ({
|
||||
return map(take(matchedEmoji, 5), ({shortcode, image_url, utf}) => ({
|
||||
// eslint-disable-next-line camelcase
|
||||
screen_name: `:${shortcode}:`,
|
||||
name: '',
|
||||
utf: utf || '',
|
||||
img: image_url
|
||||
}))
|
||||
} else {
|
||||
|
@ -90,6 +91,9 @@ const PostStatusForm = {
|
|||
},
|
||||
emoji () {
|
||||
return this.$store.state.config.emoji || []
|
||||
},
|
||||
customEmoji () {
|
||||
return this.$store.state.config.customEmoji || []
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
|
|
@ -6,8 +6,9 @@
|
|||
</div>
|
||||
<div style="position:relative;" v-if="candidates">
|
||||
<div class="autocomplete-panel base05-background">
|
||||
<div v-for="candidate in candidates" @click="replace(candidate.screen_name + ' ')" class="autocomplete base02">
|
||||
<img :src="candidate.img"></img>
|
||||
<div v-for="candidate in candidates" @click="replace(candidate.utf || (candidate.screen_name + ' '))" class="autocomplete base02">
|
||||
<span v-if="candidate.img"><img :src="candidate.img"></img></span>
|
||||
<span v-else>{{candidate.utf}}</span>
|
||||
<span>
|
||||
{{candidate.screen_name}}
|
||||
<small class="base02">{{candidate.name}}</small>
|
||||
|
|
|
@ -125,5 +125,14 @@ window.fetch('/api/pleroma/emoji.json')
|
|||
const emoji = Object.keys(values).map((key) => {
|
||||
return { shortcode: key, image_url: values[key] }
|
||||
})
|
||||
store.dispatch('setOption', { name: 'customEmoji', value: emoji })
|
||||
})
|
||||
|
||||
window.fetch('/static/emoji.json')
|
||||
.then((res) => res.json())
|
||||
.then((values) => {
|
||||
const emoji = Object.keys(values).map((key) => {
|
||||
return { shortcode: key, image_url: false, 'utf': values[key] }
|
||||
})
|
||||
store.dispatch('setOption', { name: 'emoji', value: emoji })
|
||||
})
|
||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue