From f6be9645b87d0333d3e2fb074b7f0e17b705a590 Mon Sep 17 00:00:00 2001 From: iamdoubz <> Date: Wed, 1 Jul 2026 15:07:54 -0500 Subject: [PATCH] Add attachEvent/renameSpeaker/mapSpeaker methods backing the new calendar UI --- src/lib/stores/meetings.svelte.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/lib/stores/meetings.svelte.ts b/src/lib/stores/meetings.svelte.ts index 8911324..aa6c266 100644 --- a/src/lib/stores/meetings.svelte.ts +++ b/src/lib/stores/meetings.svelte.ts @@ -63,6 +63,25 @@ class MeetingsStore { await api.updateNotes(id, markdown); if (this.selected && this.selectedId === id) this.selected.notes_markdown = markdown; } + + /** Link a recording to a calendar event (T6.3/T6.6, FR-CAL-2/4). */ + async attachEvent(id: MeetingId, eventId: string) { + await api.attachMeetingToEvent(id, eventId); + if (this.selectedId === id) await this.select(id); + } + + /** Free-text speaker rename (T4.4, FR-SPK-2) — the "add new name" escape + * hatch alongside the attendee dropdown (T6.5). */ + async renameSpeaker(id: MeetingId, label: string, name: string) { + await api.renameSpeaker(id, label, name); + if (this.selectedId === id) await this.select(id); + } + + /** Name a speaker from the linked event's attendee list (T6.5, FR-SPK-4). */ + async mapSpeaker(id: MeetingId, label: string, participantId: string) { + await api.mapSpeakerToParticipant(id, label, participantId); + if (this.selectedId === id) await this.select(id); + } } export const meetings = new MeetingsStore();