Stop auto-scrolling the game terminal when a new message arrives
Every message append (mainframe broadcasts, lock reveals, the boot sequence, and responses to your own commands) forced the page to jump to the bottom. Removed all four window.scrollTo calls so the view stays put. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -40,7 +40,6 @@ function subscribeToMercure(mercurePublicUrl, topic, myScreen, wonUrl, lostUrl)
|
|||||||
const messageContainer = document.getElementById('message-container');
|
const messageContainer = document.getElementById('message-container');
|
||||||
if (messageContainer) {
|
if (messageContainer) {
|
||||||
appendResultMessage(messageContainer, data[1], data[2] || 'mainframe');
|
appendResultMessage(messageContainer, data[1], data[2] || 'mainframe');
|
||||||
window.scrollTo(0, document.body.scrollHeight);
|
|
||||||
if(stillPlayingSound)
|
if(stillPlayingSound)
|
||||||
playSound();
|
playSound();
|
||||||
console.log('[Mercure][game1] sequenceFinished status:', sequenceFinished);
|
console.log('[Mercure][game1] sequenceFinished status:', sequenceFinished);
|
||||||
@@ -144,7 +143,6 @@ async function fetchLockReveal(apiEchoUrl, messageContainer) {
|
|||||||
const result = response && response.result;
|
const result = response && response.result;
|
||||||
if (result && Array.isArray(result.result)) {
|
if (result && Array.isArray(result.result)) {
|
||||||
result.result.forEach(text => appendResultMessage(messageContainer, text, result.messageType));
|
result.result.forEach(text => appendResultMessage(messageContainer, text, result.messageType));
|
||||||
window.scrollTo(0, document.body.scrollHeight);
|
|
||||||
}
|
}
|
||||||
if (result && result.locked === false) {
|
if (result && result.locked === false) {
|
||||||
clearLock();
|
clearLock();
|
||||||
@@ -401,7 +399,6 @@ document.addEventListener('DOMContentLoaded', async () => {
|
|||||||
msgEl.className = 'message ' + extraClass;
|
msgEl.className = 'message ' + extraClass;
|
||||||
msgEl.textContent = msg[0];
|
msgEl.textContent = msg[0];
|
||||||
messageContainer.appendChild(msgEl);
|
messageContainer.appendChild(msgEl);
|
||||||
window.scrollTo(0, document.body.scrollHeight);
|
|
||||||
|
|
||||||
playSound();
|
playSound();
|
||||||
|
|
||||||
@@ -452,7 +449,6 @@ document.addEventListener('DOMContentLoaded', async () => {
|
|||||||
console.log('[API][game1] message sent →', response);
|
console.log('[API][game1] message sent →', response);
|
||||||
if (response && response.result && Array.isArray(response.result.result)) {
|
if (response && response.result && Array.isArray(response.result.result)) {
|
||||||
response.result.result.forEach(text => appendResultMessage(messageContainer, text, response.result.messageType));
|
response.result.result.forEach(text => appendResultMessage(messageContainer, text, response.result.messageType));
|
||||||
window.scrollTo(0, document.body.scrollHeight);
|
|
||||||
}
|
}
|
||||||
if (response && response.result) {
|
if (response && response.result) {
|
||||||
if (response.result.gameWon === true && wonUrl) {
|
if (response.result.gameWon === true && wonUrl) {
|
||||||
|
|||||||
Reference in New Issue
Block a user