diff --git a/public/assets/js/terminal.js b/public/assets/js/terminal.js index 8f3bfd2..bafc71a 100644 --- a/public/assets/js/terminal.js +++ b/public/assets/js/terminal.js @@ -12,6 +12,12 @@ terminalInput.addEventListener('keydown', function(e) { } }); +function escapeHtml(str) { + const d = document.createElement('div'); + d.textContent = str; + return d.innerHTML; +} + function executeCommand() { const command = terminalInput.value.trim(); if (!command) return; @@ -46,6 +52,9 @@ function executeCommand() { if (data.stderr) { appendTerminalLine(data.stderr, 'error'); } + if (data.history) { + appendHistoryRow(data.history); + } updateStatus('connected', 'Connected'); } else { appendTerminalLine(data.message || 'Command failed', 'error'); @@ -84,6 +93,23 @@ function clearTerminal() { terminalOutput.innerHTML = ''; } +function appendHistoryRow(h) { + const tbody = document.querySelector('.card-body .table tbody'); + if (!tbody) return; + const emptyState = tbody.closest('.card-body')?.querySelector('.empty-state'); + if (emptyState) emptyState.remove(); + const row = document.createElement('tr'); + const time = h.executed_at ? new Date(h.executed_at.replace(' ', 'T')).toLocaleTimeString('en-US', { hour12: false }) : ''; + row.innerHTML = + '
' + escapeHtml(h.command) + '