1
0
Fork 1
mirror of https://github.com/elk-zone/elk.git synced 2024-10-01 16:30:00 +01:00

fix(suggestion): allow case-insensitive emoji suggestion (#2565)

This commit is contained in:
TAKAHASHI Shuuji 2024-02-19 18:23:58 +09:00 committed by GitHub
parent 54fe0c1ab9
commit bf0c562794
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -62,13 +62,15 @@ export const TiptapEmojiSuggestion: Partial<SuggestionOptions> = {
if (currentCustomEmojis.value.emojis.length === 0)
await updateCustomEmojis()
const emojis = await import('@emoji-mart/data')
.then(r => r.default as EmojiMartData)
.then(data => Object.values(data.emojis).filter(({ id }) => id.startsWith(query)))
const lowerCaseQuery = query.toLowerCase()
const { data } = await useAsyncData<EmojiMartData>('emoji-data', () => import('@emoji-mart/data').then(r => r.default as EmojiMartData))
const emojis: Emoji[] = Object.values(data.value?.emojis || []).filter(({ id }) => id.toLowerCase().startsWith(lowerCaseQuery))
const customEmojis: CustomEmoji[] = currentCustomEmojis.value.emojis
.filter(emoji => emoji.shortcode.startsWith(query))
.filter(emoji => emoji.shortcode.toLowerCase().startsWith(lowerCaseQuery))
.map(emoji => ({ ...emoji, custom: true }))
return [...emojis, ...customEmojis]
},
command: ({ editor, props, range }) => {