diff --git a/src/webpage/contextmenu.ts b/src/webpage/contextmenu.ts index 02e6f52..7fde6f0 100644 --- a/src/webpage/contextmenu.ts +++ b/src/webpage/contextmenu.ts @@ -87,6 +87,8 @@ class ContextButton implements menuPart { } intext.onclick = (e) => { + e.preventDefault(); + e.stopImmediatePropagation(); menu.remove(); this.onClick.call(obj1, obj2, e); }; @@ -107,6 +109,9 @@ class Seperator implements menuPart { } makeContextHTML(obj1: x, obj2: y, menu: HTMLDivElement): void { if (!this.visable || this.visable(obj1, obj2)) { + if (menu.children[menu.children.length - 1].tagName === "HR") { + return; + } menu.append(document.createElement("hr")); } } @@ -155,6 +160,9 @@ class Contextmenu { for (const button of this.buttons) { button.makeContextHTML(addinfo, other, div); } + if (div.children[div.children.length - 1].tagName === "HR") { + div.children[div.children.length - 1].remove(); + } //NOTE I don't know if this'll ever actually happen in reality if (div.childNodes.length === 0) return; diff --git a/src/webpage/emoji.ts b/src/webpage/emoji.ts index bff6a99..b00fe4d 100644 --- a/src/webpage/emoji.ts +++ b/src/webpage/emoji.ts @@ -187,14 +187,12 @@ class Emoji { } }); - setTimeout(() => { - if (Contextmenu.currentmenu != "") { - Contextmenu.currentmenu.remove(); - } - document.body.append(menu); - Contextmenu.currentmenu = menu; - Contextmenu.keepOnScreen(menu); - }, 10); + if (Contextmenu.currentmenu !== "") { + Contextmenu.currentmenu.remove(); + } + document.body.append(menu); + Contextmenu.currentmenu = menu; + Contextmenu.keepOnScreen(menu); let i = 0; for (const thing of Emoji.emojis) { diff --git a/src/webpage/message.ts b/src/webpage/message.ts index 7395fae..bb94332 100644 --- a/src/webpage/message.ts +++ b/src/webpage/message.ts @@ -724,6 +724,8 @@ class Message extends SnowFlake { container.append(reply); buttons.append(container); container.onclick = (e) => { + e.stopImmediatePropagation(); + e.preventDefault(); Emoji.emojiPicker(e.x, e.y, this.localuser).then((_) => { this.reactionToggle(_); }); diff --git a/src/webpage/user.ts b/src/webpage/user.ts index ec0f127..73a44c2 100644 --- a/src/webpage/user.ts +++ b/src/webpage/user.ts @@ -176,9 +176,7 @@ class User extends SnowFlake { }, ); - this.contextmenu.addSeperator((user) => { - return user.id !== user.localuser.user.id; - }); + this.contextmenu.addSeperator(); this.contextmenu.addButton( () => I18n.getTranslation("user.block"),