feat: KVM port management — configuration, switching, and navigation shell
Backend (crates/ericrfb-proxy): - Session cookie now persisted in AppState for device API calls - New kvm.rs with three REST endpoints: GET /api/kvm/ports — scrapes kvm.asp, returns port config as JSON PUT /api/kvm/ports — saves port names, hotkeys, visibility, count POST /api/kvm/switch — switches active KVM port via home2.asp - HTML scraping extracts form values from predictable firmware HTML Frontend (crates/ericrfb-frontend): - New shell.ts: sidebar navigation with page routing pattern (Console, Ports — extensible for Virtual Media, Users, etc.) - Console refactored into pages/console.ts with mount/unmount lifecycle - Port switcher dropdown in toolbar (fetches port list, switches on change) - WebSocket auto-reconnects after port switch - New pages/ports.ts: editable port configuration table - Port count, key pause duration, per-port name/hotkey/show-in-console - Save, reload, and per-port switch buttons - Active port highlighted - Dark theme sidebar with active state indicators Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -10,6 +10,7 @@ tokio.workspace = true
|
||||
axum.workspace = true
|
||||
reqwest.workspace = true
|
||||
serde.workspace = true
|
||||
serde_json = "1"
|
||||
toml.workspace = true
|
||||
tower-http.workspace = true
|
||||
tracing.workspace = true
|
||||
|
||||
Reference in New Issue
Block a user