Layout done, probably need rework later on
This commit is contained in:
@@ -69,7 +69,6 @@ document.addEventListener('DOMContentLoaded', async () => {
|
||||
const topic = cfgEl.dataset.topic;
|
||||
const apiPingUrl = cfgEl.dataset.apiPingUrl;
|
||||
const apiEchoUrl = cfgEl.dataset.apiEchoUrl;
|
||||
const userId = cfgEl.dataset.userId;
|
||||
|
||||
if (mercurePublicUrl && topic) {
|
||||
subscribeToMercure(mercurePublicUrl, topic);
|
||||
@@ -89,7 +88,7 @@ document.addEventListener('DOMContentLoaded', async () => {
|
||||
if (apiEchoUrl) {
|
||||
const echo = await fetchJson(apiEchoUrl, {
|
||||
method: 'POST',
|
||||
body: { message: 'from game1.js', ts: new Date().toISOString(), user: userId },
|
||||
body: { message: 'from game1.js', ts: new Date().toISOString() },
|
||||
});
|
||||
console.log('[API][game1] echo →', echo);
|
||||
} else {
|
||||
@@ -98,4 +97,67 @@ document.addEventListener('DOMContentLoaded', async () => {
|
||||
} catch (e) {
|
||||
console.error('[API][game1] Request failed:', e);
|
||||
}
|
||||
|
||||
// Add messages to message-container
|
||||
const messageContainer = document.getElementById('message-container');
|
||||
if (messageContainer) {
|
||||
let messages = [
|
||||
['System initializing...', 500],
|
||||
['Connection established.', 200],
|
||||
['Welcome agent to the mainframe.', 1000],
|
||||
['Scanning...', 3000],
|
||||
['Virus detected.', 500],
|
||||
['Starting Mainframe help modus...', 2000],
|
||||
['Help modus activated.', 500],
|
||||
['Blocking virus activated', 0]
|
||||
];
|
||||
|
||||
let currentMessageIndex = 0;
|
||||
|
||||
const printNextMessage = () => {
|
||||
if (currentMessageIndex < messages.length) {
|
||||
const msg = messages[currentMessageIndex];
|
||||
const msgEl = document.createElement('div');
|
||||
msgEl.className = 'message';
|
||||
msgEl.textContent = msg[0];
|
||||
msgEl.style.color = '#F00';
|
||||
msgEl.style.marginBottom = '10px';
|
||||
messageContainer.appendChild(msgEl);
|
||||
|
||||
currentMessageIndex++;
|
||||
setTimeout(printNextMessage, msg[1]);
|
||||
} else {
|
||||
// After it has printed a set of messages, it has to start a timer of 2 seconds
|
||||
console.log('[Game1] All messages printed. Starting 2s timer to expand message-container height...');
|
||||
setTimeout(() => {
|
||||
messageContainer.style.height = '400vh';
|
||||
const inputField = document.getElementById('input-message');
|
||||
inputField.disabled = false;
|
||||
|
||||
// Add event listener for Enter key
|
||||
inputField.addEventListener('keypress', async (e) => {
|
||||
if (e.key === 'Enter') {
|
||||
const message = inputField.value.trim();
|
||||
if (message && apiEchoUrl) {
|
||||
inputField.value = '';
|
||||
try {
|
||||
const response = await fetchJson(apiEchoUrl, {
|
||||
method: 'POST',
|
||||
body: { message, ts: new Date().toISOString() },
|
||||
});
|
||||
console.log('[API][game1] message sent →', response);
|
||||
} catch (err) {
|
||||
console.error('[API][game1] Failed to send message:', err);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
console.log('[Game1] message-container height changed to 400vh and input enabled');
|
||||
}, 2000);
|
||||
}
|
||||
};
|
||||
|
||||
printNextMessage();
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user