fix: transcribe/resume logic fix (#28)

This commit is contained in:
Owen Gretzinger
2025-07-15 22:35:36 -04:00
committed by GitHub
parent fb649904a4
commit 14642dec64
@@ -16,9 +16,8 @@ enum MeetingViewTab: String, CaseIterable {
} }
enum RecordingState { enum RecordingState {
case idle // Not recording, shows "Transcribe" case idle // Not recording, shows "Transcribe" or "Resume" based on transcript content
case recording // Recording, shows "Stop" case recording // Recording, shows "Stop"
case paused // Paused, shows "Resume"
} }
@MainActor @MainActor
@@ -126,25 +125,24 @@ class MeetingViewModel: ObservableObject {
private func updateRecordingState() { private func updateRecordingState() {
if isRecording { if isRecording {
recordingState = .recording recordingState = .recording
} else if recordingState == .recording { } else {
recordingState = .paused recordingState = .idle
} }
} }
var recordingButtonText: String { var recordingButtonText: String {
switch recordingState { switch recordingState {
case .idle: case .idle:
return "Transcribe" // Check if there's existing transcript content
return meeting.transcriptChunks.isEmpty ? "Transcribe" : "Resume"
case .recording: case .recording:
return "Stop" return "Stop"
case .paused:
return "Resume"
} }
} }
func toggleRecording() { func toggleRecording() {
switch recordingState { switch recordingState {
case .idle, .paused: case .idle:
startRecording() startRecording()
case .recording: case .recording:
stopRecording() stopRecording()