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