Moved replay to custom event
This commit is contained in:
parent
70eebefac7
commit
3e2dd7ea04
src/snek
@ -9,6 +9,13 @@ import {app} from "./app.js";
|
||||
|
||||
const LONG_TIME = 1000 * 60 * 20
|
||||
|
||||
export class ReplyEvent extends Event {
|
||||
constructor(messageTextTarget) {
|
||||
super('reply', { bubbles: true, composed: true });
|
||||
this.messageTextTarget = messageTextTarget;
|
||||
}
|
||||
}
|
||||
|
||||
class MessageElement extends HTMLElement {
|
||||
// static observedAttributes = ['data-uid', 'data-color', 'data-channel_uid', 'data-user_nick', 'data-created_at', 'data-user_uid'];
|
||||
|
||||
@ -51,6 +58,12 @@ class MessageElement extends HTMLElement {
|
||||
}
|
||||
|
||||
this.timeDiv = this.querySelector('.time span');
|
||||
this.replyDiv = this.querySelector('.time a');
|
||||
|
||||
this.replyDiv.addEventListener('click', (e) => {
|
||||
e.preventDefault();
|
||||
this.dispatchEvent(new ReplyEvent(this.messageDiv));
|
||||
})
|
||||
}
|
||||
|
||||
if (!this.siblingGenerated && this.nextElementSibling) {
|
||||
|
@ -143,15 +143,9 @@ function replyMessage(message) {
|
||||
chatInputField.focus();
|
||||
}
|
||||
|
||||
messagesContainer.addEventListener("click", (e) => {
|
||||
if (e.target.tagName === "A" && e.target.getAttribute("href") === "#reply") {
|
||||
e.preventDefault();
|
||||
const messageElement = e.target.closest("chat-message");
|
||||
if (messageElement) {
|
||||
const messageText = messageElement.querySelector(".text").textContent.trim();
|
||||
replyMessage(messageText);
|
||||
}
|
||||
}
|
||||
messagesContainer.addEventListener("reply", (e) => {
|
||||
const messageText = e.messageTextTarget.textContent.trim();
|
||||
replyMessage(messageText);
|
||||
})
|
||||
|
||||
// --- Mention helpers ---
|
||||
|
Loading…
Reference in New Issue
Block a user