diff --git a/meetingnotes/ViewModels/MeetingViewModel.swift b/meetingnotes/ViewModels/MeetingViewModel.swift index ffbe2a8..9d729c6 100644 --- a/meetingnotes/ViewModels/MeetingViewModel.swift +++ b/meetingnotes/ViewModels/MeetingViewModel.swift @@ -16,9 +16,8 @@ enum MeetingViewTab: String, CaseIterable { } 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 paused // Paused, shows "Resume" } @MainActor @@ -126,25 +125,24 @@ class MeetingViewModel: ObservableObject { private func updateRecordingState() { if isRecording { recordingState = .recording - } else if recordingState == .recording { - recordingState = .paused + } else { + recordingState = .idle } } var recordingButtonText: String { switch recordingState { case .idle: - return "Transcribe" + // Check if there's existing transcript content + return meeting.transcriptChunks.isEmpty ? "Transcribe" : "Resume" case .recording: return "Stop" - case .paused: - return "Resume" } } func toggleRecording() { switch recordingState { - case .idle, .paused: + case .idle: startRecording() case .recording: stopRecording()