mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-09-22 00:20:47 +02:00
Improve emoji search (#11768)
Co-authored-by: mpcjazz <mail@mpcjazz.com>
This commit is contained in:
parent
47d79042fd
commit
0b51219f50
7 changed files with 11643 additions and 9494 deletions
|
@ -72,7 +72,7 @@ export class Hint {
|
|||
if (index) {
|
||||
let html = "";
|
||||
window.siyuan.emojis[parseInt(index)].items.forEach(emoji => {
|
||||
html += `<button data-unicode="${emoji.unicode}" class="emojis__item ariaLabel" aria-label="${window.siyuan.config.lang === "zh_CN" ? emoji.description_zh_cn : emoji.description}">
|
||||
html += `<button data-unicode="${emoji.unicode}" class="emojis__item ariaLabel" aria-label="${window.siyuan.config.lang === "zh_CN" ? emoji.description_zh_cn : window.siyuan.config.lang === "ja_JP" ? emoji.description_ja_jp : emoji.description}">
|
||||
${unicode2Emoji(emoji.unicode)}</button>`;
|
||||
});
|
||||
titleElement.nextElementSibling.innerHTML = html;
|
||||
|
@ -347,6 +347,13 @@ ${genHintItemHTML(item)}
|
|||
if (value && !this.enableEmoji) {
|
||||
return;
|
||||
}
|
||||
|
||||
const getEmojiTitle = (emojiIndex: number) => {
|
||||
const lang = window.siyuan.config.lang;
|
||||
const titleKey = lang === "zh_CN" ? "title_zh_cn" : lang === "ja_JP" ? "title_ja_jp" : "title";
|
||||
return window.siyuan.emojis[emojiIndex][titleKey];
|
||||
};
|
||||
|
||||
const panelElement = this.element.querySelector(".emojis__panel");
|
||||
if (panelElement) {
|
||||
panelElement.innerHTML = filterEmoji(value, 256);
|
||||
|
@ -360,16 +367,21 @@ ${genHintItemHTML(item)}
|
|||
this.element.innerHTML = `<div style="padding: 0;max-height:402px" class="emojis">
|
||||
<div class="emojis__panel">${filterEmoji(value, 256)}</div>
|
||||
<div class="fn__flex${value ? " fn__none" : ""}">
|
||||
<button data-type="0" class="emojis__type ariaLabel" aria-label="${window.siyuan.languages.recentEmoji}">${unicode2Emoji("2b50")}</button>
|
||||
<button data-type="1" class="emojis__type ariaLabel" aria-label="${window.siyuan.emojis[0][window.siyuan.config.lang === "zh_CN" ? "title_zh_cn" : "title"]}">${unicode2Emoji("1f527")}</button>
|
||||
<button data-type="2" class="emojis__type ariaLabel" aria-label="${window.siyuan.emojis[1][window.siyuan.config.lang === "zh_CN" ? "title_zh_cn" : "title"]}">${unicode2Emoji("1f60d")}</button>
|
||||
<button data-type="3" class="emojis__type ariaLabel" aria-label="${window.siyuan.emojis[2][window.siyuan.config.lang === "zh_CN" ? "title_zh_cn" : "title"]}">${unicode2Emoji("1f433")}</button>
|
||||
<button data-type="4" class="emojis__type ariaLabel" aria-label="${window.siyuan.emojis[3][window.siyuan.config.lang === "zh_CN" ? "title_zh_cn" : "title"]}">${unicode2Emoji("1f96a")}</button>
|
||||
<button data-type="5" class="emojis__type ariaLabel" aria-label="${window.siyuan.emojis[4][window.siyuan.config.lang === "zh_CN" ? "title_zh_cn" : "title"]}">${unicode2Emoji("1f3a8")}</button>
|
||||
<button data-type="6" class="emojis__type ariaLabel" aria-label="${window.siyuan.emojis[5][window.siyuan.config.lang === "zh_CN" ? "title_zh_cn" : "title"]}">${unicode2Emoji("1f3dd-fe0f")}</button>
|
||||
<button data-type="7" class="emojis__type ariaLabel" aria-label="${window.siyuan.emojis[6][window.siyuan.config.lang === "zh_CN" ? "title_zh_cn" : "title"]}">${unicode2Emoji("1f52e")}</button>
|
||||
<button data-type="8" class="emojis__type ariaLabel" aria-label="${window.siyuan.emojis[7][window.siyuan.config.lang === "zh_CN" ? "title_zh_cn" : "title"]}">${unicode2Emoji("267e-fe0f")}</button>
|
||||
<button data-type="9" class="emojis__type ariaLabel" aria-label="${window.siyuan.emojis[8][window.siyuan.config.lang === "zh_CN" ? "title_zh_cn" : "title"]}">${unicode2Emoji("1f6a9")}</button>
|
||||
${[
|
||||
["1f527", getEmojiTitle(0)],
|
||||
["1f60d", getEmojiTitle(1)],
|
||||
["1f433", getEmojiTitle(2)],
|
||||
["1f96a", getEmojiTitle(3)],
|
||||
["1f3a8", getEmojiTitle(4)],
|
||||
["1f3dd-fe0f", getEmojiTitle(5)],
|
||||
["1f52e", getEmojiTitle(6)],
|
||||
["267e-fe0f", getEmojiTitle(7)],
|
||||
["1f6a9", getEmojiTitle(8)],
|
||||
].map(([unicode, title], index) =>
|
||||
`<button data-type="${index + 1}" class="emojis__type ariaLabel" aria-label="${title}">${unicode2Emoji(
|
||||
unicode,
|
||||
)}</button>`
|
||||
).join("")}
|
||||
</div>
|
||||
</div>`;
|
||||
lazyLoadEmoji(this.element);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue