From 57c62fad7bf09aece5f4bb6063b113c42dfaeae4 Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Sat, 27 Aug 2022 02:15:53 +0200 Subject: [PATCH] do this https://watchpeopledie.co/h/meta/post/6451/changelog-chat-is-now-ioscompatible/117359?context=8#context --- files/assets/js/chat.js | 9 ++++++--- files/templates/chat.html | 3 +-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/files/assets/js/chat.js b/files/assets/js/chat.js index 0309708f1..e5da5962f 100644 --- a/files/assets/js/chat.js +++ b/files/assets/js/chat.js @@ -10,6 +10,7 @@ const box = document.getElementById('chat-window') const textbox = document.getElementById('input-text') const icon = document.getElementById('favicon') const vid = document.getElementById('vid').value +const vusername = document.getElementById('header--username').innerHTML const site_name = document.getElementById('site_name').value const slurreplacer = document.getElementById('slurreplacer').value @@ -64,8 +65,9 @@ socket.on('speak', function(json) { setTimeout(flash, 500); } - let users = document.getElementsByClassName('userlink'); - let last_user = users[users.length-1].innerHTML; + const users = document.getElementsByClassName('userlink'); + const last_user = users[users.length-1].innerHTML; + const scrolled_down = (box.scrollHeight - box.scrollTop <= window.innerHeight) if (last_user == json['username']) { document.getElementsByClassName('chat-line')[0].classList.remove('diff') @@ -90,7 +92,8 @@ socket.on('speak', function(json) { let line = document.getElementsByClassName('chat-line')[0].cloneNode(true) bs_trigger(line) box.append(line) - box.scrollTo(0, box.scrollHeight) + if (scrolled_down || json['username'] == vusername) + box.scrollTo(0, box.scrollHeight) }) diff --git a/files/templates/chat.html b/files/templates/chat.html index 3917d4514..ff66ad04e 100644 --- a/files/templates/chat.html +++ b/files/templates/chat.html @@ -213,7 +213,6 @@ - - + \ No newline at end of file