From 6dc0c5ff6f9792569fc72e801b387141f69b11ff Mon Sep 17 00:00:00 2001 From: josedario87 Date: Sat, 21 Feb 2026 14:59:47 -0600 Subject: [PATCH] feat: animated border on active FAB and grayscale inactive FABs Active terminal FAB shows a rotating conic-gradient border animation (cyan/indigo) on all three locations: main FAB (T1), AgentBadge, and mini FABs (T2-T5). Inactive FABs appear in grayscale with reduced brightness, brightening slightly on hover. --- frontend/src/App.vue | 45 ++++++++++++++++--- .../components/FloatingTranscriptDebug.vue | 2 +- .../transcript-debug/AgentBadge.vue | 24 ++++++++-- .../transcript-debug/TerminalFabStack.vue | 38 +++++++++++++--- 4 files changed, 91 insertions(+), 18 deletions(-) diff --git a/frontend/src/App.vue b/frontend/src/App.vue index e98ef44..9311f37 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -85,6 +85,13 @@ const keyboardVisible = ref(false) // Virtual keyboard visible // Whether any terminal exists (T1+) const hasTerminals = computed(() => sessionState.terminalRegistry.length > 0) +// Whether terminal 1 is the currently active terminal +const isT1Active = computed(() => { + const reg = sessionState.terminalRegistry + if (!reg.length) return false + return reg[0].transcriptSessionId === transcriptDebugRef.value?.activeTerminalSessionId +}) + // Extra terminals (T2-T5) from Pinia store — fully reactive, no template ref dependency const extraTerminals = computed(() => { const reg = sessionState.terminalRegistry @@ -366,7 +373,7 @@ watch(() => route.name, (newPage) => {