Config Page

This commit is contained in:
chk
2026-06-07 10:03:34 +02:00
parent f205418640
commit faccbf55ce
16 changed files with 5375 additions and 69 deletions

80
public/config.html Normal file
View File

@@ -0,0 +1,80 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>AppRobotWebcam · Konfiguration</title>
<style>
* { box-sizing: border-box; margin: 0; padding: 0; }
body { background: #0f0f0f; color: #e0e0e0; font-family: monospace; }
header {
display: flex; align-items: center; gap: 12px;
padding: 10px 16px; background: #1a1a1a; border-bottom: 1px solid #333;
}
h1 { font-size: 1rem; font-weight: normal; letter-spacing: 0.05em; }
a.back {
margin-left: auto; color: #8cf; text-decoration: none;
border: 1px solid #468; padding: 5px 12px; border-radius: 3px; font-size: 0.82rem;
}
a.back:hover { background: #1d2d3d; }
main { padding: 16px; max-width: 760px; }
table { width: 100%; border-collapse: collapse; font-size: 0.85rem; }
th, td { text-align: left; padding: 8px 10px; border-bottom: 1px solid #2a2a2a; }
th { color: #888; font-weight: normal; }
select {
background: #1a1a1a; color: #e0e0e0; border: 1px solid #444;
padding: 4px 8px; font-family: monospace; font-size: 0.85rem; border-radius: 3px;
}
.warn-badge { color: #fb4; cursor: help; }
.cur { color: #777; }
.actions { margin-top: 16px; display: flex; align-items: center; gap: 14px; }
#saveBtn {
background: #2a4a2a; color: #8f8; border: 1px solid #4a8;
padding: 7px 16px; font-family: monospace; font-size: 0.85rem;
cursor: pointer; border-radius: 3px;
}
#saveBtn:hover:not(:disabled) { background: #3a6a3a; }
#saveBtn:disabled { opacity: 0.4; cursor: default; }
#status { font-size: 0.8rem; color: #888; }
#status.ok { color: #6d6; }
#status.err { color: #f66; }
.hint { margin-top: 18px; font-size: 0.75rem; color: #666; line-height: 1.6; }
</style>
</head>
<body>
<header>
<h1>AppRobotWebcam · Konfiguration</h1>
<a class="back" href="/">← zum Viewer</a>
</header>
<main>
<table>
<thead>
<tr><th>ID</th><th>Name</th><th>Live-Auflösung</th><th>aktuell</th></tr>
</thead>
<tbody id="rows"><tr><td colspan="4">lädt…</td></tr></tbody>
</table>
<div class="actions">
<button id="saveBtn" disabled>Speichern &amp; Anwenden</button>
<span id="status">lädt…</span>
</div>
<p class="hint">
Auflösungs-Änderung ist sofort aktiv (laufende Streams frieren kurz ein).<br>
„Aus" bzw. Wiedereinschalten wirkt erst nach Neuladen des Viewers.<br>
⚠ C920 (cam2) braucht bei kleinen 4:3-Auflösungen überdurchschnittlich Bandbreite (siehe doc/12).
</p>
</main>
<script src="config.js" defer></script>
</body>
</html>