umbau 1.0

This commit is contained in:
2026-09-02 20:30:44 +02:00
parent afe6719f51
commit 5c95b21be7
77 changed files with 10733 additions and 1914 deletions

View File

@ -8,47 +8,20 @@
<link rel="stylesheet" href="/static/js/vendor/xterm.css">
</head>
<body>
<div class="session-shell" id="session-shell" data-host-id="{{ host_id }}">
<div class="session-toolbar">
<button id="fullscreen-btn">Vollbild</button>
<button id="filetransfer-btn">Dateitransfer</button>
<span class="spacer"></span>
<span class="status" id="status">Verbinde ...</span>
<button id="exit-btn" class="btn-danger btn-small" title="Sitzung beenden und Tab schliessen">Exit</button>
</div>
<div id="terminal"></div>
</div>
<div class="ft-overlay hidden" id="ft-overlay">
<div class="ft-panel">
<h2>Dateitransfer
<button type="button" class="btn-secondary btn-small" id="ft-close-btn">Schliessen</button>
</h2>
<h3>Hochladen</h3>
<label for="ft-upload-remote-path">Zielpfad auf dem Server</label>
<input type="text" id="ft-upload-remote-path" placeholder="/tmp/datei.txt">
<input type="file" id="ft-upload-file-input" class="hidden">
<div class="ft-btn-row">
<button type="button" class="btn-secondary btn-small" id="ft-upload-pick-btn">Datei auswaehlen</button>
<span class="hint" id="ft-upload-filename">Keine Datei ausgewaehlt</span>
</div>
<button type="button" class="btn-small" id="ft-upload-submit-btn">Hochladen</button>
<h3>Herunterladen</h3>
<label for="ft-download-remote-path">Pfad auf dem Server</label>
<input type="text" id="ft-download-remote-path" placeholder="/etc/hosts">
<button type="button" class="btn-small" id="ft-download-submit-btn">Herunterladen</button>
<div class="error" id="ft-status"></div>
<h3>Letzte Transfers</h3>
<div class="ft-list" id="ft-list"></div>
</div>
</div>
<!--
F1 (Umsetzungsauftrag_Sonnet5.md Teil F.3.1): diese Seite baut das
Sitzungs-DOM nicht mehr selbst -- static/js/terminal.js erzeugt beim
Laden GENAU EINE SshTerminalSession-Instanz und haengt deren komplettes
Markup (Toolbar, Terminal, Dateitransfer-Panel) hier ein. Duenner
Rahmen um denselben Baustein, den auch eine kuenftige Arbeitsflaeche
(/workspace, Teil F.3, spaetere Stufe) verwendet -- keine zweite
Implementierung (F.2, letzter Absatz).
-->
<div id="session-container" data-host-id="{{ host_id }}"></div>
<script src="/static/js/vendor/xterm.js"></script>
<script src="/static/js/vendor/xterm-addon-fit.js"></script>
<script src="/static/js/session-keepalive.js"></script>
<script src="/static/js/terminal.js"></script>
</body>
</html>