From 42707c4276a4d1491189c9b63bcfdbd8e0b47dcc Mon Sep 17 00:00:00 2001 From: Dorian Date: Thu, 2 Apr 2026 11:41:54 +0100 Subject: [PATCH] fix: move companion indicator into sidebar, inline design MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Move CompanionIndicator from global App.vue overlay to DashboardSidebar next to ControllerIndicator. Redesigned as inline sidebar element with Tailwind classes — shows muted 'Relay' when idle, orange 'Companion' with pulse dot when actively receiving input. Co-Authored-By: Claude Opus 4.6 (1M context) --- neode-ui/src/App.vue | 5 +- .../src/components/CompanionIndicator.vue | 101 ++++++------------ .../src/views/dashboard/DashboardSidebar.vue | 2 + 3 files changed, 33 insertions(+), 75 deletions(-) diff --git a/neode-ui/src/App.vue b/neode-ui/src/App.vue index 0e14481e..8c15aa97 100644 --- a/neode-ui/src/App.vue +++ b/neode-ui/src/App.vue @@ -37,9 +37,6 @@ - - - @@ -78,7 +75,7 @@ import AppLauncherOverlay from './components/AppLauncherOverlay.vue' import ToastStack from './components/ToastStack.vue' import Screensaver from './components/Screensaver.vue' import HelpGuideModal from './components/HelpGuideModal.vue' -import CompanionIndicator from './components/CompanionIndicator.vue' + import { useControllerNav } from '@/composables/useControllerNav' import { playKeyboardTypingSound } from '@/composables/useLoginSounds' import { useSpotlightStore } from '@/stores/spotlight' diff --git a/neode-ui/src/components/CompanionIndicator.vue b/neode-ui/src/components/CompanionIndicator.vue index 69e14356..cf007753 100644 --- a/neode-ui/src/components/CompanionIndicator.vue +++ b/neode-ui/src/components/CompanionIndicator.vue @@ -1,28 +1,36 @@ diff --git a/neode-ui/src/views/dashboard/DashboardSidebar.vue b/neode-ui/src/views/dashboard/DashboardSidebar.vue index 23e2ba15..e20ebc4a 100644 --- a/neode-ui/src/views/dashboard/DashboardSidebar.vue +++ b/neode-ui/src/views/dashboard/DashboardSidebar.vue @@ -76,6 +76,7 @@ @@ -106,6 +107,7 @@ import { useMeshStore } from '@/stores/mesh' import AnimatedLogo from '@/components/AnimatedLogo.vue' import OnlineStatusPill from '@/components/OnlineStatusPill.vue' import ControllerIndicator from '@/components/ControllerIndicator.vue' +import CompanionIndicator from '@/components/CompanionIndicator.vue' import ModeSwitcher from '@/components/ModeSwitcher.vue' interface NavItem {