mirror of
https://github.com/kolbytn/mindcraft.git
synced 2025-09-02 20:33:11 +02:00
add last bot output to ui
This commit is contained in:
parent
08fc1b4fcb
commit
e3aed60f6d
1 changed files with 21 additions and 3 deletions
|
@ -25,8 +25,8 @@
|
||||||
background: #363636;
|
background: #363636;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
flex-direction: column;
|
||||||
align-items: center;
|
align-items: flex-start;
|
||||||
}
|
}
|
||||||
.restart-btn, .start-btn, .stop-btn {
|
.restart-btn, .start-btn, .stop-btn {
|
||||||
color: white;
|
color: white;
|
||||||
|
@ -102,6 +102,13 @@
|
||||||
border: none;
|
border: none;
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
}
|
}
|
||||||
|
.last-message {
|
||||||
|
font-style: italic;
|
||||||
|
color: #aaa;
|
||||||
|
margin-top: 5px;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
word-break: break-word;
|
||||||
|
}
|
||||||
.start-btn:disabled {
|
.start-btn:disabled {
|
||||||
opacity: 0.4;
|
opacity: 0.4;
|
||||||
cursor: not-allowed;
|
cursor: not-allowed;
|
||||||
|
@ -135,6 +142,7 @@
|
||||||
let settingsSpec = {};
|
let settingsSpec = {};
|
||||||
let profileData = null;
|
let profileData = null;
|
||||||
const agentSettings = {};
|
const agentSettings = {};
|
||||||
|
const agentLastMessage = {};
|
||||||
|
|
||||||
fetch('/settings_spec.json')
|
fetch('/settings_spec.json')
|
||||||
.then(r => r.json())
|
.then(r => r.json())
|
||||||
|
@ -229,6 +237,14 @@
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
socket.on('bot-output', (agentName, message) => {
|
||||||
|
agentLastMessage[agentName] = message;
|
||||||
|
const messageDiv = document.getElementById(`lastMessage-${agentName}`);
|
||||||
|
if (messageDiv) {
|
||||||
|
messageDiv.textContent = message;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
function fetchAgentSettings(name) {
|
function fetchAgentSettings(name) {
|
||||||
return new Promise((resolve) => {
|
return new Promise((resolve) => {
|
||||||
if (agentSettings[name]) { resolve(agentSettings[name]); return; }
|
if (agentSettings[name]) { resolve(agentSettings[name]); return; }
|
||||||
|
@ -250,9 +266,10 @@
|
||||||
const cfg = agentSettings[agent.name] || {};
|
const cfg = agentSettings[agent.name] || {};
|
||||||
const showViewer = cfg.render_bot_view === true;
|
const showViewer = cfg.render_bot_view === true;
|
||||||
const viewerHTML = showViewer ? `<div class="agent-view-container"><iframe class="agent-viewer" src="http://localhost:${3000 + idx}"></iframe></div>` : '';
|
const viewerHTML = showViewer ? `<div class="agent-view-container"><iframe class="agent-viewer" src="http://localhost:${3000 + idx}"></iframe></div>` : '';
|
||||||
|
const lastMessage = agentLastMessage[agent.name] || '';
|
||||||
return `
|
return `
|
||||||
<div class="agent">
|
<div class="agent">
|
||||||
<div style="display:flex;justify-content:space-between;align-items:center;">
|
<div style="display:flex;justify-content:space-between;align-items:center;width:100%;">
|
||||||
<span><span class="status-icon ${agent.in_game ? 'online' : 'offline'}">●</span>${agent.name}</span>
|
<span><span class="status-icon ${agent.in_game ? 'online' : 'offline'}">●</span>${agent.name}</span>
|
||||||
<div style="display:flex;align-items:center;">
|
<div style="display:flex;align-items:center;">
|
||||||
${agent.in_game ? `
|
${agent.in_game ? `
|
||||||
|
@ -265,6 +282,7 @@
|
||||||
`}
|
`}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="lastMessage-${agent.name}" class="last-message">${lastMessage}</div>
|
||||||
${viewerHTML}
|
${viewerHTML}
|
||||||
</div>`;
|
</div>`;
|
||||||
}).join('') +
|
}).join('') +
|
||||||
|
|
Loading…
Add table
Reference in a new issue