From 95893a324a761de671260b526143bd878feaaa53 Mon Sep 17 00:00:00 2001 From: ilotterytea Date: Fri, 12 Dec 2025 00:43:17 +0500 Subject: feat: show emotes!!! --- chat.js | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'chat.js') diff --git a/chat.js b/chat.js index 080fb4c..f3e81ef 100644 --- a/chat.js +++ b/chat.js @@ -2,4 +2,34 @@ function getChannelName() { const path = window.location.pathname.split('/').filter(Boolean); if (path.length == 1) return path[path.length - 1]; return null; +} + +function replaceEmotes(node, emotes) { + const walker = document.createTreeWalker(node, NodeFilter.SHOW_TEXT, null); + + const textNodes = []; + while (walker.nextNode()) textNodes.push(walker.currentNode); + + textNodes.forEach(x => { + const parent = x.parentNode; + const frag = document.createDocumentFragment(); + const words = x.textContent.split(/(\s+)/); + + words.forEach(word => { + if (emotes[word]) { + const emote = emotes[word]; + + const img = document.createElement("img"); + img.src = emote.miniatureurl; + img.alt = word; + img.classList.add("tiny-emote"); + img.addEventListener("mouseenter", () => console.log(word)); + frag.appendChild(img); + } else { + frag.appendChild(document.createTextNode(word)); + } + }); + + parent.replaceChild(frag, x); + }); } \ No newline at end of file -- cgit v1.2.3