From c476a16ad982e778580d74b8e4120ed29118129a Mon Sep 17 00:00:00 2001 From: RblSb Date: Tue, 20 Jun 2023 23:33:13 +0300 Subject: Scroll to chat end button --- src/client/Buttons.hx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/client/Buttons.hx') diff --git a/src/client/Buttons.hx b/src/client/Buttons.hx index aa7c1b2..7152a31 100644 --- a/src/client/Buttons.hx +++ b/src/client/Buttons.hx @@ -60,6 +60,25 @@ class Buttons { } } + final scrollToChatEndBtn = ge("#scroll-to-chat-end"); + function scrollToChatEndBtnAnim():Void { + if (scrollToChatEndBtn.style.opacity == "0") return; + scrollToChatEndBtn.style.opacity = "0"; + scrollToChatEndBtn.addEventListener("transitionend", e -> { + scrollToChatEndBtn.style.display = "none"; + }, {once: true}); + } + scrollToChatEndBtn.onclick = e -> { + main.scrollChatToEnd(); + scrollToChatEndBtnAnim(); + } + // hide scroll button when chat is scrolled to the end + final msgBuf = ge("#messagebuffer"); + msgBuf.onscroll = e -> { + if (msgBuf.offsetHeight + msgBuf.scrollTop < msgBuf.scrollHeight - 1) return; + scrollToChatEndBtnAnim(); + } + ge("#clearchatbtn").onclick = e -> { if (main.isAdmin()) main.send({type: ClearChat}); } -- cgit v1.2.3