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;