diff --git a/frontend/src/App.svelte b/frontend/src/App.svelte index 6138472..fdd918d 100644 --- a/frontend/src/App.svelte +++ b/frontend/src/App.svelte @@ -7,7 +7,7 @@ import History from './components/History.svelte' import Setup from './components/Setup.svelte' import { EventsOn, EventsOff, WindowSetSize, ScreenGetAll } from '../wailsjs/runtime/runtime' - import { GetParticipants, StartMeeting, GetSettings, SkipSpeaker, RemoveFromQueue } from '../wailsjs/go/app/App' + import { GetParticipants, StartMeeting, GetSettings, SkipSpeaker, RemoveFromQueue, SwitchToSpeaker } from '../wailsjs/go/app/App' import { t, initLocale } from './lib/i18n' let currentView = 'main' @@ -192,16 +192,30 @@ currentView = 'main' } - function handleSettingsLoaded(s) { - settings = s + function handleSettingsLoaded(event) { + settings = event.detail } async function handleSkipFromList(event) { const { speakerId } = event.detail try { - await RemoveFromQueue(speakerId) + // If this is the current speaker, use SkipSpeaker, otherwise RemoveFromQueue + if (timerState?.currentSpeakerId === speakerId) { + await SkipSpeaker() + } else { + await RemoveFromQueue(speakerId) + } } catch (e) { - console.error('Failed to remove speaker from queue:', e) + console.error('Failed to skip speaker:', e) + } + } + + async function handleSwitchSpeaker(event) { + const { speakerId } = event.detail + try { + await SwitchToSpeaker(speakerId) + } catch (e) { + console.error('Failed to switch to speaker:', e) } } @@ -266,12 +280,12 @@ -