|
@@ -103,6 +103,10 @@ struct MainChartView: View {
|
|
|
units == .mgdL ? 30 : 1.66
|
|
units == .mgdL ? 30 : 1.66
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ private var interpolationFactor: Double {
|
|
|
|
|
+ Double(state.determinationsFromPersistence.first?.cob ?? 1) * 10
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
private var selectedGlucose: GlucoseStored? {
|
|
private var selectedGlucose: GlucoseStored? {
|
|
|
if let selection = selection {
|
|
if let selection = selection {
|
|
|
let lowerBound = selection.addingTimeInterval(-120)
|
|
let lowerBound = selection.addingTimeInterval(-120)
|
|
@@ -656,18 +660,18 @@ extension MainChartView {
|
|
|
|
|
|
|
|
private func drawIOB() -> some ChartContent {
|
|
private func drawIOB() -> some ChartContent {
|
|
|
ForEach(state.enactedAndNonEnactedDeterminations) { iob in
|
|
ForEach(state.enactedAndNonEnactedDeterminations) { iob in
|
|
|
- let amount: Double = (iob.iob?.doubleValue ?? 0 / 10)
|
|
|
|
|
|
|
+ let amount: Double = (iob.iob?.doubleValue ?? 0 / interpolationFactor)
|
|
|
let date: Date = iob.deliverAt ?? Date()
|
|
let date: Date = iob.deliverAt ?? Date()
|
|
|
|
|
|
|
|
LineMark(x: .value("Time", date), y: .value("Amount", amount))
|
|
LineMark(x: .value("Time", date), y: .value("Amount", amount))
|
|
|
- .foregroundStyle(Color.purple)
|
|
|
|
|
|
|
+ .foregroundStyle(Color.darkerBlue)
|
|
|
AreaMark(x: .value("Time", date), y: .value("Amount", amount))
|
|
AreaMark(x: .value("Time", date), y: .value("Amount", amount))
|
|
|
.foregroundStyle(
|
|
.foregroundStyle(
|
|
|
LinearGradient(
|
|
LinearGradient(
|
|
|
gradient: Gradient(
|
|
gradient: Gradient(
|
|
|
colors: [
|
|
colors: [
|
|
|
- Color.purple.opacity(0.8),
|
|
|
|
|
- Color.purple.opacity(0.01)
|
|
|
|
|
|
|
+ Color.darkerBlue.opacity(0.8),
|
|
|
|
|
+ Color.darkerBlue.opacity(0.01)
|
|
|
]
|
|
]
|
|
|
),
|
|
),
|
|
|
startPoint: .top,
|
|
startPoint: .top,
|