From 24da875aa65a4c5b1f67955450f218d3826c97d6 Mon Sep 17 00:00:00 2001 From: DrHuangMHT Date: Sat, 9 May 2026 19:09:39 +0800 Subject: [PATCH] refactor(stage-*): improve transcription UX and DX (#1685) --- .../controls-island-hearing-config.vue | 5 +- packages/stage-layouts/package.json | 3 + .../Layouts/MobileInteractiveArea.vue | 14 +- .../src/components/Widgets/ChatArea.vue | 362 ++--------------- .../composables/use-transcriptions.test.ts | 377 ++++++++++++++++++ .../src/composables/use-transcriptions.ts | 229 +++++++++++ packages/stage-layouts/vitest.config.ts | 8 + .../audio-input/hearing-config-dialog.vue | 9 - .../dialogs/audio-input/hearing-config.vue | 50 ++- pnpm-lock.yaml | 270 ++++++++++--- pnpm-workspace.yaml | 3 + 11 files changed, 921 insertions(+), 409 deletions(-) create mode 100644 packages/stage-layouts/src/composables/use-transcriptions.test.ts create mode 100644 packages/stage-layouts/src/composables/use-transcriptions.ts create mode 100644 packages/stage-layouts/vitest.config.ts diff --git a/apps/stage-tamagotchi/src/renderer/components/stage-islands/controls-island/controls-island-hearing-config.vue b/apps/stage-tamagotchi/src/renderer/components/stage-islands/controls-island/controls-island-hearing-config.vue index 99f04c979..46138519c 100644 --- a/apps/stage-tamagotchi/src/renderer/components/stage-islands/controls-island/controls-island-hearing-config.vue +++ b/apps/stage-tamagotchi/src/renderer/components/stage-islands/controls-island/controls-island-hearing-config.vue @@ -11,7 +11,7 @@ import { onMounted, onUnmounted, watch } from 'vue' const show = defineModel('show', { type: Boolean, default: false }) const settingsAudioDeviceStore = useSettingsAudioDevice() -const { enabled, selectedAudioInput, stream, audioInputs } = storeToRefs(settingsAudioDeviceStore) +const { enabled, stream } = storeToRefs(settingsAudioDeviceStore) const getMediaAccessStatus = useElectronEventaInvoke(electron.systemPreferences.getMediaAccessStatus) const { state: mediaAccessStatus, execute: refreshMediaAccessStatus } = useAsyncState(() => getMediaAccessStatus(['microphone']), 'not-determined') @@ -58,10 +58,7 @@ onUnmounted(async () => {