Add regional indicators

This commit is contained in:
Tusooa Zhu 2022-09-20 21:50:40 -04:00
commit cc58b9b93d
No known key found for this signature in database
GPG key ID: 7B467EDE43A08224
3 changed files with 38 additions and 9 deletions

View file

@ -47,8 +47,8 @@ const UNICODE_EMOJI_GROUP_ICON = {
flags: 'flag'
}
const maybeLocalizedKeywords = (emoji, languages) => {
const res = [emoji.displayText]
const maybeLocalizedKeywords = (emoji, languages, nameLocalizer) => {
const res = [emoji.displayText, nameLocalizer(emoji)]
if (emoji.annotations) {
languages.forEach(lang => {
const keywords = emoji.annotations[lang]?.keywords || []
@ -59,13 +59,13 @@ const maybeLocalizedKeywords = (emoji, languages) => {
return res
}
const filterByKeyword = (list, keyword = '', languages) => {
const filterByKeyword = (list, keyword = '', languages, nameLocalizer) => {
if (keyword === '') return list
const keywordLowercase = keyword.toLowerCase()
const orderedEmojiList = []
for (const emoji of list) {
const indices = maybeLocalizedKeywords(emoji, languages)
const indices = maybeLocalizedKeywords(emoji, languages, nameLocalizer)
.map(k => k.toLowerCase().indexOf(keywordLowercase))
.filter(k => k > -1)
@ -189,7 +189,7 @@ const EmojiPicker = {
this.showingStickers = value
},
filterByKeyword (list, keyword) {
return filterByKeyword(list, keyword, this.languages)
return filterByKeyword(list, keyword, this.languages, this.maybeLocalizedEmojiName)
},
initializeLazyLoad () {
this.destroyLazyLoad()
@ -305,7 +305,6 @@ const EmojiPicker = {
}, 500)
},
languages () {
console.log('languages:', ensureFinalFallback(this.$store.getters.mergedConfig.interfaceLanguage))
return ensureFinalFallback(this.$store.getters.mergedConfig.interfaceLanguage)
},
maybeLocalizedEmojiName () {
@ -314,6 +313,10 @@ const EmojiPicker = {
return emoji.displayText
}
if (emoji.displayTextI18n) {
return this.$t(emoji.displayTextI18n.key, emoji.displayTextI18n.args)
}
for (const lang of this.languages) {
if (emoji.annotations[lang]?.name) {
return emoji.annotations[lang].name