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 {
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()