diff --git a/src/lib/components/app/daemon.svelte b/src/lib/components/app/daemon.svelte index f6c33da..2704b0f 100644 --- a/src/lib/components/app/daemon.svelte +++ b/src/lib/components/app/daemon.svelte @@ -5,6 +5,7 @@ // svelte-ignore non_reactive_update let audioElement: HTMLAudioElement; + let isInteracting = false; // Flag to prevent multiple interactions function togglePlayback(play: boolean) { if (!audioElement) return; @@ -29,6 +30,22 @@ togglePlayback(state.isPlaying); }; + function handleInteraction() { + if (isInteracting) return; + + isInteracting = true; + state.hasInteracted = true; + + if (state.isPlaying) { + setTimeout(() => { + playAudio(); + isInteracting = false; + }, 100); + } else { + isInteracting = false; + } + } + onMount(async () => { const data = await getGeneralData(); state.presets = data.presets; @@ -81,12 +98,7 @@ {#if !state.hasInteracted} - {/if}