From 8a2b0b0993bb48e2cc9ece10f5d272bd5acfe806 Mon Sep 17 00:00:00 2001 From: ilotterytea Date: Mon, 27 Oct 2025 00:35:42 +0500 Subject: feat: display replies --- scripts/chat.js | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'scripts') diff --git a/scripts/chat.js b/scripts/chat.js index e6c9e81..7c23eeb 100644 --- a/scripts/chat.js +++ b/scripts/chat.js @@ -50,6 +50,25 @@ function addMessage(message) { const elem = document.createElement("p"); elem.classList.add("message"); + if ("id" in message.tags) { + elem.setAttribute("msg-id", message.tags["id"]); + } + + if ("reply-parent-msg-id" in message.tags && "reply-parent-user-login" in message.tags) { + const replyMessage = document.querySelector(`.message[msg-id='${message.tags["reply-parent-msg-id"]}']>.content`); + + if (replyMessage) { + const username = message.tags["reply-parent-user-login"]; + message.params[1] = message.params[1].substring(username.length + 1).trim(); + + const replyThread = document.createElement("p"); + replyThread.classList.add("message-thread"); + replyThread.innerHTML = `Replying to @${username}: ${replyMessage.innerHTML}`; + + elem.append(replyThread); + } + } + // badges if ("badges" in message.tags && message.tags["badges"].length > 0) { for (const b of message.tags["badges"].split(",")) { @@ -100,7 +119,10 @@ function addMessage(message) { } } - elem.innerHTML += ' ' + msgWords.join(" "); + const msgContentElem = document.createElement("span"); + msgContentElem.classList.add("content"); + elem.append(msgContentElem); + msgContentElem.innerHTML += ' ' + msgWords.join(" "); messages.append(elem); -- cgit v1.2.3