From 3b14a7c1d14f4dbd1b7df3c036c2cd729a714fe8 Mon Sep 17 00:00:00 2001 From: Vantz Stockwell Date: Fri, 13 Mar 2026 10:19:57 -0400 Subject: [PATCH] =?UTF-8?q?feat:=20Termius-inspired=20UI=20=E2=80=94=20rig?= =?UTF-8?q?ht=20sidebar,=20host=20counts,=20terminal=20themes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Left sidebar: - Groups now show recursive host count badges - Hosts in tree show up to 3 tags inline Right sidebar (Host Details panel): - Click any host card to open details panel on the right - Shows address, port, protocol, group, credential, tags, color, notes - Connect, Edit, Delete action buttons at bottom - Selected card gets ring highlight Terminal themes (10 prebuilt): - Wraith (default), Dracula, Nord, Solarized Dark, Monokai, One Dark, Gruvbox Dark, Tokyo Night, Catppuccin Mocha, Cyberpunk - Visual theme picker in Settings with color preview + sample text - Persisted to /api/settings and localStorage for immediate use - useTerminal reads theme on terminal creation Co-Authored-By: Claude Opus 4.6 --- frontend/components/connections/HostCard.vue | 5 +- frontend/components/connections/HostTree.vue | 27 +- frontend/composables/useTerminal.ts | 17 +- frontend/composables/useTerminalThemes.ts | 285 +++++++++++++++++++ frontend/pages/index.vue | 163 ++++++++++- frontend/pages/settings.vue | 136 ++++++--- 6 files changed, 578 insertions(+), 55 deletions(-) create mode 100644 frontend/composables/useTerminalThemes.ts diff --git a/frontend/components/connections/HostCard.vue b/frontend/components/connections/HostCard.vue index 13fdb35..4dbb4c0 100644 --- a/frontend/components/connections/HostCard.vue +++ b/frontend/components/connections/HostCard.vue @@ -14,6 +14,7 @@ interface Host { const props = defineProps<{ host: Host + selected?: boolean }>() const emit = defineEmits<{ @@ -37,8 +38,8 @@ function formatLastConnected(ts: string | null): string {