Working state after implementing dark theme.

This commit is contained in:
Kalzu Rekku
2025-06-11 16:29:40 +03:00
parent d4c71e7d2c
commit d93b0ee4ee
6 changed files with 453 additions and 165 deletions

View File

@ -1,63 +1,21 @@
<!DOCTYPE html>
<html>
<head>
<title>Node Monitor - Logs</title>
<style>
body { font-family: monospace; margin: 20px; background: #1a1a1a; color: #00ff00; }
.log-entry { margin: 5px 0; padding: 5px; border-left: 3px solid #333; }
.log-info { border-left-color: #0066cc; }
.log-warning { border-left-color: #ff9900; }
.log-error { border-left-color: #cc0000; }
.timestamp { color: #666; }
.level { font-weight: bold; margin-right: 10px; }
.message { color: #fff; }
.extra { color: #888; font-size: 0.9em; margin-top: 3px; }
h1 { color: #00ff00; }
.refresh-info { color: #666; margin: 10px 0; }
</style>
</head>
<body>
<h1>Node Monitor Logs - {{ service_uuid }}</h1>
<div class="refresh-info">Auto-refreshing every 5 seconds...</div>
<div id="logs-container">
{% for log in logs %}
<div class="log-entry log-{{ log.level.lower() }}">
<span class="timestamp">{{ log.timestamp }}</span>
<span class="level">{{ log.level }}</span>
<span class="message">{{ log.message }}</span>
{% if log.extra %}
<div class="extra">{{ log.extra | tojson }}</div>
{% endif %}
</div>
{% endfor %}
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="refresh" content="5"> <!-- Fallback auto-refresh -->
<title>Node Monitor Logs - {{ service_uuid }}</title>
<link rel="stylesheet" href="/static/style.css">
</head>
<body>
<div class="header-container">
<h1>Node Monitor Logs</h1>
<p>Service UUID: <code>{{ service_uuid }}</code></p>
<p>Total Logs: <span id="log-count">0</span> (Auto-refreshing every 5 seconds)</p>
</div>
<script>
// Auto-refresh logs every 5 seconds
setInterval(async function() {
try {
const response = await fetch('{{ service_uuid }}/logs/json');
const data = await response.json();
const container = document.getElementById('logs-container');
container.innerHTML = '';
data.logs.forEach(log => {
const div = document.createElement('div');
div.className = `log-entry log-${log.level.toLowerCase()}`;
div.innerHTML = `
<span class="timestamp">${log.timestamp}</span>
<span class="level">${log.level}</span>
<span class="message">${log.message}</span>
${log.extra ? `<div class="extra">${JSON.stringify(log.extra)}</div>` : ''}
`;
container.appendChild(div);
});
} catch (error) {
console.error('Failed to refresh logs:', error);
}
}, 5000);
</script>
</body>
<div id="log-table-container">
<p class="loading-message">Loading logs...</p>
</div>
<script src="/static/logs.js"></script>
</body>
</html>