From 49090d37f773ed5b7f47209d78198ad7754a43c6 Mon Sep 17 00:00:00 2001 From: itsrubberduck Date: Wed, 29 Jul 2026 09:21:08 +0200 Subject: [PATCH] feat(classroom): show local speech bridge connection status in settings Subtle status row (dot + Connected/Not detected) reflecting the same useLocalSpeechBridge probe already driving TTS routing. --- app/pages/classroom.vue | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/app/pages/classroom.vue b/app/pages/classroom.vue index 7863576..da06aaf 100644 --- a/app/pages/classroom.vue +++ b/app/pages/classroom.vue @@ -1324,6 +1324,17 @@ /> +
+
+ Local Bridge + Speech requests use a Bridge running on this device when detected, otherwise the cloud service. +
+ + + {{ localBridgeConnected ? 'Connected' : 'Not detected' }} + +
+
Test TTS
@@ -2851,7 +2862,8 @@ const promptReplayCount = ref(0) const replaySpeedHintSeen = ref(false) const api = useApi() -const {localUrl} = useLocalSpeechBridge() +const {localUrl, localBase} = useLocalSpeechBridge() +const localBridgeConnected = computed(() => Boolean(localBase.value)) const isClient = typeof window !== 'undefined' const auth = useAuthStore() @@ -7203,6 +7215,30 @@ onMounted(() => { max-width: 70%; } +.bridge-status { + display: flex; + align-items: center; + gap: 6px; + font-size: 0.85rem; + color: var(--t3); + white-space: nowrap; +} + +.bridge-dot { + width: 7px; + height: 7px; + border-radius: 50%; + background: var(--t3); +} + +.bridge-status.connected { + color: var(--accent); +} + +.bridge-status.connected .bridge-dot { + background: var(--accent); +} + .speech-server-dialog { display: grid; gap: 16px;