diff options
| -rw-r--r-- | res/client.js | 24 | ||||
| -rw-r--r-- | src/client/Buttons.hx | 12 | ||||
| -rw-r--r-- | src/client/Main.hx | 2 |
3 files changed, 29 insertions, 9 deletions
diff --git a/res/client.js b/res/client.js index 55b2328..3716025 100644 --- a/res/client.js +++ b/res/client.js @@ -430,13 +430,27 @@ client_Buttons.init = function(main) { }; var smilesBtn = window.document.querySelector("#smilesbtn"); smilesBtn.onclick = function(e1) { - smilesBtn.classList.toggle("active"); var smilesWrap = window.document.querySelector("#smileswrap"); - if(smilesBtn.classList.contains("active")) { - return smilesWrap.style.display = "block"; + if(smilesWrap.children.length == 0) { + return; + } + if(smilesBtn.classList.toggle("active")) { + smilesWrap.style.display = "block"; } else { - return smilesWrap.style.display = "none"; + smilesWrap.style.display = "none"; + } + if(smilesWrap.firstElementChild.dataset.src == null) { + return; + } + var _g = 0; + var _g1 = smilesWrap.children; + while(_g < _g1.length) { + var child = _g1[_g]; + ++_g; + child.src = child.dataset.src; + child.removeAttribute("data-src"); } + return; }; window.document.querySelector("#clearchatbtn").onclick = function(e2) { if((main.personal.group & 4) != 0) { @@ -1215,7 +1229,7 @@ client_Main.prototype = { ++_g4; var img = window.document.createElement("img"); img.className = "smile-preview"; - img.src = emote1.image; + img.dataset.src = emote1.image; img.title = emote1.name; smilesWrap.appendChild(img); } diff --git a/src/client/Buttons.hx b/src/client/Buttons.hx index b8e4a16..b5656e1 100644 --- a/src/client/Buttons.hx +++ b/src/client/Buttons.hx @@ -1,5 +1,6 @@ package client; +import js.html.ImageElement; import haxe.Timer; import js.html.KeyboardEvent; import js.html.InputElement; @@ -30,11 +31,16 @@ class Buttons { final smilesBtn = ge("#smilesbtn"); smilesBtn.onclick = e -> { - smilesBtn.classList.toggle("active"); final smilesWrap = ge("#smileswrap"); - if (smilesBtn.classList.contains("active")) - smilesWrap.style.display = "block"; + if (smilesWrap.children.length == 0) return; + final isActive = smilesBtn.classList.toggle("active"); + if (isActive) smilesWrap.style.display = "block"; else smilesWrap.style.display = "none"; + if (smilesWrap.firstElementChild.dataset.src == null) return; + for (child in smilesWrap.children) { + (cast child : ImageElement).src = child.dataset.src; + child.removeAttribute("data-src"); + } } ge("#clearchatbtn").onclick = e -> { diff --git a/src/client/Main.hx b/src/client/Main.hx index 0db93a8..cee749b 100644 --- a/src/client/Main.hx +++ b/src/client/Main.hx @@ -454,7 +454,7 @@ class Main { for (emote in config.emotes) { final img = document.createImageElement(); img.className = "smile-preview"; - img.src = emote.image; + img.dataset.src = emote.image; img.title = emote.name; smilesWrap.appendChild(img); } |
