fix: transcribe/resume logic fix (#28)
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user