From b8035a7bc86dfb40af66f80e0564a41b8c6f7ba8 Mon Sep 17 00:00:00 2001 From: soryu Date: Thu, 15 Jan 2026 00:05:20 +0000 Subject: feat(listen): add transcript analysis UI panel Add UI integration for the transcript analysis feature: - Add TranscriptSaved WebSocket message type to notify client when transcript is saved - Create TranscriptAnalysisPanel component to display analysis results - Shows requirements grouped by category, decisions, action items with priorities - Displays speaker statistics and suggested contract name/description - Provides buttons to create new contract or add to existing contract - Update Listen page to show analysis panel as modal overlay after recording stops - Update useWebSocket hook to handle transcriptSaved message Co-Authored-By: Claude Opus 4.5 --- makima/src/server/handlers/listen.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'makima/src/server/handlers') diff --git a/makima/src/server/handlers/listen.rs b/makima/src/server/handlers/listen.rs index 524c48a..e1bc30e 100644 --- a/makima/src/server/handlers/listen.rs +++ b/makima/src/server/handlers/listen.rs @@ -553,6 +553,16 @@ async fn handle_socket(socket: WebSocket, state: SharedState) { deduplicated_count = final_entries.len(), "Saved final transcript to file" ); + + // Send TranscriptSaved message to client + if let Some(contract_id) = target_contract_id { + let _ = response_tx + .send(ServerMessage::TranscriptSaved { + file_id: fid.to_string(), + contract_id: contract_id.to_string(), + }) + .await; + } } Err(e) => { tracing::error!( -- cgit v1.2.3