fix: iOS ChlorineView lsvManualPeaks -> clManualPeaks, Storage concurrency
This commit is contained in:
parent
cabf04551c
commit
01edb88e0b
|
|
@ -72,6 +72,7 @@ final class AppState {
|
|||
var clDepT: String = "5000"
|
||||
var clMeasT: String = "5000"
|
||||
var clRtia: LpRtia = .r10K
|
||||
var clManualPeaks: Bool = false
|
||||
|
||||
// pH
|
||||
var phResult: PhResult? = nil
|
||||
|
|
|
|||
|
|
@ -231,9 +231,10 @@ final class Storage: @unchecked Sendable {
|
|||
|
||||
// MARK: - Observation (for SwiftUI live updates)
|
||||
|
||||
@MainActor
|
||||
func observeDataPoints(
|
||||
measurementId: Int64,
|
||||
onChange: @escaping ([DataPoint]) -> Void
|
||||
onChange: @escaping @Sendable ([DataPoint]) -> Void
|
||||
) -> DatabaseCancellable {
|
||||
let observation = ValueObservation.tracking { db in
|
||||
try DataPoint
|
||||
|
|
@ -244,7 +245,8 @@ final class Storage: @unchecked Sendable {
|
|||
return observation.start(in: dbQueue, onError: { _ in }, onChange: onChange)
|
||||
}
|
||||
|
||||
func observeSessions(onChange: @escaping ([Session]) -> Void) -> DatabaseCancellable {
|
||||
@MainActor
|
||||
func observeSessions(onChange: @escaping @Sendable ([Session]) -> Void) -> DatabaseCancellable {
|
||||
let observation = ValueObservation.tracking { db in
|
||||
try Session.order(Column("startedAt").desc).fetchAll(db)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,9 +43,9 @@ struct ChlorineView: View {
|
|||
Button("Start LSV") { state.startLSV() }
|
||||
.buttonStyle(ActionButtonStyle(color: .green))
|
||||
|
||||
Button(state.lsvManualPeaks ? "Manual" : "Auto") {
|
||||
state.lsvManualPeaks.toggle()
|
||||
if state.lsvManualPeaks {
|
||||
Button(state.clManualPeaks ? "Manual" : "Auto") {
|
||||
state.clManualPeaks.toggle()
|
||||
if state.clManualPeaks {
|
||||
state.lsvPeaks.removeAll()
|
||||
} else {
|
||||
state.lsvPeaks = detectLsvPeaks(state.lsvPoints)
|
||||
|
|
|
|||
Loading…
Reference in New Issue