106 lines
3.8 KiB
HTML
106 lines
3.8 KiB
HTML
<!doctype html>
|
|
<html lang="de">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>PulseGate GUI</title>
|
|
<link rel="stylesheet" href="/styles.css">
|
|
</head>
|
|
<body>
|
|
<main class="shell">
|
|
<aside class="sidebar">
|
|
<div class="brand">
|
|
<div class="mark">PG</div>
|
|
<div>
|
|
<h1>PulseGate</h1>
|
|
<p>SSH Manager</p>
|
|
</div>
|
|
</div>
|
|
|
|
<label class="search">
|
|
<span>Suche</span>
|
|
<input id="searchInput" type="search" placeholder="Server, Host, Gruppe">
|
|
</label>
|
|
|
|
<nav class="nav">
|
|
<button class="nav-item active" data-view="servers">Server</button>
|
|
<button class="nav-item" data-view="commands">Commands</button>
|
|
<button class="nav-item" data-view="settings">Settings</button>
|
|
</nav>
|
|
</aside>
|
|
|
|
<section class="workspace">
|
|
<header class="topbar">
|
|
<div>
|
|
<p class="eyebrow" id="configPath">Lokale Konfiguration</p>
|
|
<h2 id="viewTitle">Server</h2>
|
|
<p class="status-line" id="terminalStatus">Terminal wird geprüft...</p>
|
|
</div>
|
|
<div class="actions">
|
|
<button id="reloadButton" class="ghost">Neu laden</button>
|
|
<button id="addButton">Server hinzufügen</button>
|
|
</div>
|
|
</header>
|
|
|
|
<section id="serversView" class="view active">
|
|
<div id="serverGrid" class="server-grid"></div>
|
|
<form id="serverForm" class="editor">
|
|
<div class="editor-header">
|
|
<h3 id="formTitle">Server bearbeiten</h3>
|
|
<button type="button" id="deleteButton" class="danger">Löschen</button>
|
|
</div>
|
|
|
|
<div class="form-grid">
|
|
<label>Name<input name="name" required></label>
|
|
<label>Host<input name="host" required></label>
|
|
<label>User<input name="user" required></label>
|
|
<label>Port<input name="port" type="number" min="1" max="65535" value="22"></label>
|
|
<label>Group<input name="group"></label>
|
|
<label>Auth
|
|
<select name="auth">
|
|
<option value="key">key</option>
|
|
<option value="password">password</option>
|
|
</select>
|
|
</label>
|
|
<label>Key Path<input name="key" placeholder="~/.ssh/id_ed25519"></label>
|
|
<label>Password ID<input name="password_id"></label>
|
|
</div>
|
|
|
|
<label class="check">
|
|
<input name="kitty_fix" type="checkbox">
|
|
<span>Kitty Fix für diesen Server nutzen</span>
|
|
</label>
|
|
|
|
<div class="form-actions">
|
|
<button type="button" id="connectButton">Verbinden</button>
|
|
<button type="button" id="sshButton" class="ghost">SSH Befehl</button>
|
|
<button type="submit">Speichern</button>
|
|
</div>
|
|
|
|
<pre id="sshCommand" class="command-box" hidden></pre>
|
|
</form>
|
|
</section>
|
|
|
|
<section id="commandsView" class="view">
|
|
<div id="commandsList" class="command-list"></div>
|
|
</section>
|
|
|
|
<section id="settingsView" class="view">
|
|
<form id="settingsForm" class="settings-panel">
|
|
<label>Theme<input name="theme"></label>
|
|
<label>TERM Override<input name="term"></label>
|
|
<label class="check">
|
|
<input name="enable_kitty_fix" type="checkbox">
|
|
<span>Kitty Fix global aktivieren</span>
|
|
</label>
|
|
<button type="submit">Settings speichern</button>
|
|
</form>
|
|
</section>
|
|
</section>
|
|
</main>
|
|
|
|
<div id="toast" class="toast" hidden></div>
|
|
<script src="/app.js"></script>
|
|
</body>
|
|
</html>
|