From b9f1ec1eecb9f8b9220245d1905b876fe548efe7 Mon Sep 17 00:00:00 2001 From: Pharit Smitasin Date: Thu, 10 Apr 2025 21:27:38 -0400 Subject: [PATCH 1/3] add keyword state --- src/lib/commands.svelte.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/lib/commands.svelte.ts b/src/lib/commands.svelte.ts index 0648b9e..c5f13f2 100644 --- a/src/lib/commands.svelte.ts +++ b/src/lib/commands.svelte.ts @@ -14,7 +14,8 @@ export class GlobalState { selectedConfigDirectory: '', yamlContent: '', keywordDetected: false, - isRecording: false + isRecording: false, + keyword: '' }); public isVoiceInput = $state(false); @@ -57,6 +58,12 @@ export class GlobalState { set isRecording(value: boolean) { this._state.isRecording = value; } + get keyword() { + return this._state.keyword; + } + set keyword(value: string) { + this._state.keyword = value; + } // async submit() { // this.greet = await invoke('greet', { name: this.prompt }); From 4fd69a9a814b4dcbaa4d8eb0b8ef072e0bbe3ff1 Mon Sep 17 00:00:00 2001 From: Pharit Smitasin Date: Thu, 10 Apr 2025 21:27:48 -0400 Subject: [PATCH 2/3] add fetchKeyword util --- src/lib/utils/fetchKeyword.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 src/lib/utils/fetchKeyword.ts diff --git a/src/lib/utils/fetchKeyword.ts b/src/lib/utils/fetchKeyword.ts new file mode 100644 index 0000000..2e5d9fa --- /dev/null +++ b/src/lib/utils/fetchKeyword.ts @@ -0,0 +1,16 @@ +export async function fetchKeyword(): Promise { + let keyword: string; + try { + const response = await fetch(`http://localhost:8000/config/keyword`, { + method: 'GET' + }); + if (!response.ok) { + throw new Error(`HTTP error ${response.status}`); + } + keyword = await response.text(); + return keyword; + } catch (error) { + console.error('Error fetching keyword:', error); + return 'Failed to fetch keyword. Is the go server running?'; + } +} From 9d47db7fde7222fac365cca45e5f696e00544f48 Mon Sep 17 00:00:00 2001 From: Pharit Smitasin Date: Thu, 10 Apr 2025 21:28:13 -0400 Subject: [PATCH 3/3] implement refreshKeyword onSwitch to STT --- src/routes/+page.svelte | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 78a4a0b..6439852 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -6,13 +6,21 @@ import SpeechInput from './SpeechInput.svelte'; import TextInput from './TextInput.svelte'; import * as Tooltip from '$lib/components/ui/tooltip'; + import { fetchKeyword } from '$lib/utils/fetchKeyword'; const gs = new GlobalState(); + async function refreshKeyword() { + const newKeyword = await fetchKeyword(); + gs.keyword = newKeyword; + console.log('Refreshed keyword:', gs.keyword); + } + const onSwitch = () => { let inputMode: string; if (gs.isVoiceInput == true) { inputMode = 'STT'; + refreshKeyword(); } else { inputMode = 'text'; }