From c0244acf2bae4855a188e8022c2638d63c75d40f Mon Sep 17 00:00:00 2001 From: MathMan05 Date: Fri, 17 Jan 2025 14:10:14 -0600 Subject: [PATCH] enter to submit emoji --- src/webpage/emoji.ts | 17 +++++++++++++++-- src/webpage/message.ts | 3 +++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/webpage/emoji.ts b/src/webpage/emoji.ts index 2100c7d..c53df4a 100644 --- a/src/webpage/emoji.ts +++ b/src/webpage/emoji.ts @@ -132,18 +132,23 @@ class Emoji { topBar.append(search); let html: HTMLElement | undefined = undefined; - + let topEmoji: undefined | Emoji = undefined; function updateSearch(this: typeof Emoji) { if (search.value === "") { if (html) html.click(); search.style.removeProperty("width"); + topEmoji = undefined; return; } search.style.setProperty("width", "3in"); title.innerText = ""; body.innerHTML = ""; - for (const [emoji] of this.searchEmoji(search.value, localuser, 200)) { + const searchResults = this.searchEmoji(search.value, localuser, 200); + if (searchResults[0]) { + topEmoji = searchResults[0][0]; + } + for (const [emoji] of searchResults) { const emojiElem = document.createElement("div"); emojiElem.classList.add("emojiSelect"); @@ -161,6 +166,14 @@ class Emoji { search.addEventListener("input", () => { updateSearch.call(this); }); + search.addEventListener("keyup", (e) => { + if (e.key === "Enter" && topEmoji) { + res(topEmoji); + if (Contextmenu.currentmenu !== "") { + Contextmenu.currentmenu.remove(); + } + } + }); menu.append(topBar); diff --git a/src/webpage/message.ts b/src/webpage/message.ts index 1aa7404..e0119aa 100644 --- a/src/webpage/message.ts +++ b/src/webpage/message.ts @@ -151,6 +151,9 @@ class Message extends SnowFlake { } } reactionToggle(emoji: string | Emoji) { + if (emoji instanceof Emoji && !emoji.id && emoji.emoji) { + emoji = emoji.emoji; + } let remove = false; for (const thing of this.reactions) { if (thing.emoji.name === emoji) {