diff options
| author | 1Step621 <86859447+1STEP621@users.noreply.github.com> | 2024-01-10 15:06:04 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-10 15:06:04 +0900 |
| commit | c1c363bf08a391400e4b8b1df91962c26f2f3192 (patch) | |
| tree | 381cbf6dcbed1725b8216b6e1df8cbaed5ab622c /packages/frontend/src/components/MkAutocomplete.vue | |
| parent | enhance(drop-and-fusion): some tweaks (diff) | |
| download | misskey-c1c363bf08a391400e4b8b1df91962c26f2f3192.tar.gz misskey-c1c363bf08a391400e4b8b1df91962c26f2f3192.tar.bz2 misskey-c1c363bf08a391400e4b8b1df91962c26f2f3192.zip | |
Enhance(frontend): 絵文字ピッカー/オートコンプリートで完全一致の絵文字を優先するように (#12928)
* 絵文字ピッカー/オートコンプリートで完全一致の絵文字を優先するように
* update CHANGELOG.md
* improve performance
Diffstat (limited to 'packages/frontend/src/components/MkAutocomplete.vue')
| -rw-r--r-- | packages/frontend/src/components/MkAutocomplete.vue | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/packages/frontend/src/components/MkAutocomplete.vue b/packages/frontend/src/components/MkAutocomplete.vue index 49884c705f..15eda4499f 100644 --- a/packages/frontend/src/components/MkAutocomplete.vue +++ b/packages/frontend/src/components/MkAutocomplete.vue @@ -262,15 +262,24 @@ function emojiAutoComplete(query: string | null, emojiDb: EmojiDef[], max = 30): } const matched = new Map<string, EmojiScore>(); - - // 前方一致(エイリアスなし) + // 完全一致(エイリアス込み) emojiDb.some(x => { - if (x.name.startsWith(query) && !x.aliasOf) { - matched.set(x.name, { emoji: x, score: query.length + 1 }); + if (x.name === query && !matched.has(x.aliasOf ?? x.name)) { + matched.set(x.aliasOf ?? x.name, { emoji: x, score: query.length + 2 }); } return matched.size === max; }); + // 前方一致(エイリアスなし) + if (matched.size < max) { + emojiDb.some(x => { + if (x.name.startsWith(query) && !x.aliasOf) { + matched.set(x.name, { emoji: x, score: query.length + 1 }); + } + return matched.size === max; + }); + } + // 前方一致(エイリアス込み) if (matched.size < max) { emojiDb.some(x => { |