fix weird scrolling behavior

This commit is contained in:
biglyderv 2025-04-17 22:55:58 -04:00
parent cf9d3bd5b5
commit e4973fab0b
Signed by: biglyderv
GPG key ID: 0E2EB0B4CD7397B5

View file

@ -3,17 +3,13 @@ var messages = document.getElementById('messages');
var form = document.getElementById('form'); var form = document.getElementById('form');
var input = document.getElementById('input'); var input = document.getElementById('input');
async function nextPage(e) {
input.value = '';
main(new Event('click'));
}
async function goPage(count) { async function goPage(count) {
let counter = input.value.match(/[^\s]+$/g); let counter = input.value.match(/[^\s]+$/g);
if (!counter) return; if (!counter) return false;
input.value = `${input.value.match(/^[^\s]+/g)[0]} ${counter[0] * 1 + count}`; input.value = `${input.value.match(/^[^\s]+/g)[0]} ${counter[0] * 1 + count}`;
main(new Event('click')); main(new Event('placeholder'));
return false;
} }
async function addMsg(msg) { async function addMsg(msg) {
@ -33,19 +29,18 @@ async function addMsg(msg) {
item.textContent = line.slice(2); item.textContent = line.slice(2);
img.src = `arrows/right.svg`; img.src = `arrows/right.svg`;
} }
item.insertBefore(img, item.childNodes[0]) item.insertBefore(img, item.childNodes[0])
} }
wrap.appendChild(item); wrap.appendChild(item);
} }
messages.appendChild(wrap); messages.appendChild(wrap);
window.scrollTo(0, document.body.scrollHeight); window.scrollTo(0, messages.offsetHeight);
} }
async function main(e) { async function main(e) {
e.preventDefault(); e.preventDefault();
if (!input.value) return; if (!input.value) return false;
let msg = await fetch("https://elem.dervland.net/" /*"/"*/, { let msg = await fetch("https://elem.dervland.net/" /*"/"*/, {
"method": "POST", "method": "POST",
@ -60,13 +55,15 @@ async function main(e) {
addMsg(input.value) addMsg(input.value)
addMsg(msg) addMsg(msg)
return false;
} }
form.addEventListener('submit', main); form.addEventListener('submit', main);
document.querySelector('.send').addEventListener('click', main); document.querySelector('.send').addEventListener('click', main);
document.querySelector('.prev').addEventListener('click', () => goPage(1)); document.querySelector('.prev').addEventListener('click', (e) => { e.preventDefault(); return goPage(1) });
document.querySelector('.next').addEventListener('click', () => goPage(-1)); document.querySelector('.next').addEventListener('click', (e) => { e.preventDefault(); return goPage(-1) });
input.value = '/inv 1'; input.value = '/inv 1';
goPage(0); goPage(0);