Преглед изворни кода

fix: extract call to Date() into variable

Also remove an unused chartScale variable.
Andreas Stokholm пре 1 година
родитељ
комит
0a36635bb8

+ 5 - 4
Trio/Sources/Modules/BasalProfileEditor/View/BasalProfileEditorRootView.swift

@@ -29,12 +29,13 @@ extension BasalProfileEditor {
             return formatter
         }
 
+        var now = Date()
         var basalScheduleChart: some View {
             Chart {
                 ForEach(state.chartData!, id: \.self) { profile in
-                    let startDate = Calendar.current.startOfDay(for: Date())
+                    let startDate = Calendar.current.startOfDay(for: now)
                         .addingTimeInterval(profile.startDate.timeIntervalSinceReferenceDate + Double(tzOffset))
-                    let endDate = Calendar.current.startOfDay(for: Date())
+                    let endDate = Calendar.current.startOfDay(for: now)
                         .addingTimeInterval(profile.endDate!.timeIntervalSinceReferenceDate + Double(tzOffset))
                     RectangleMark(
                         xStart: .value("start", startDate),
@@ -72,8 +73,8 @@ extension BasalProfileEditor {
                 }
             }
             .chartXScale(
-                domain: Calendar.current.startOfDay(for: Date()) ... Calendar
-                    .current.startOfDay(for: Date())
+                domain: Calendar.current.startOfDay(for: now) ... Calendar
+                    .current.startOfDay(for: now)
                     .addingTimeInterval(60 * 60 * 24)
             )
         }

+ 6 - 5
Trio/Sources/Modules/CarbRatioEditor/View/CarbRatioEditorRootView.swift

@@ -177,20 +177,21 @@ extension CarbRatioEditor {
             }
         }
 
+        var now = Date()
         var chart: some View {
             Chart {
                 ForEach(state.items.indexed(), id: \.1.id) { index, item in
                     let displayValue = state.rateValues[item.rateIndex]
 
                     let startDate = Calendar.current
-                        .startOfDay(for: Date())
+                        .startOfDay(for: now)
                         .addingTimeInterval(state.timeValues[item.timeIndex])
                     let endDate = state.items
                         .count > index + 1 ?
-                        Calendar.current.startOfDay(for: Date())
+                        Calendar.current.startOfDay(for: now)
                         .addingTimeInterval(state.timeValues[state.items[index + 1].timeIndex])
                         :
-                        Calendar.current.startOfDay(for: Date())
+                        Calendar.current.startOfDay(for: now)
                         .addingTimeInterval(state.timeValues.last! + 30 * 60)
                     RectangleMark(
                         xStart: .value("start", startDate),
@@ -222,8 +223,8 @@ extension CarbRatioEditor {
                 }
             }
             .chartXScale(
-                domain: Calendar.current.startOfDay(for: Date()) ... Calendar
-                    .current.startOfDay(for: Date())
+                domain: Calendar.current.startOfDay(for: now) ... Calendar
+                    .current.startOfDay(for: now)
                     .addingTimeInterval(60 * 60 * 24)
             )
             .chartYAxis {

+ 6 - 7
Trio/Sources/Modules/ISFEditor/View/ISFEditorRootView.swift

@@ -177,8 +177,7 @@ extension ISFEditor {
             }
         }
 
-        let chartScale = Calendar.current
-            .date(from: DateComponents(year: 2001, month: 01, day: 01, hour: 0, minute: 0, second: 0))
+        var now = Date()
 
         var chart: some View {
             Chart {
@@ -191,15 +190,15 @@ extension ISFEditor {
                     let displayValueFloat = Double(displayValue.replacingOccurrences(of: ",", with: "."))
 
                     let startDate = Calendar.current
-                        .startOfDay(for: Date())
+                        .startOfDay(for: now)
                         .addingTimeInterval(state.timeValues[item.timeIndex])
 
                     let endDate = state.items
                         .count > index + 1 ?
-                        Calendar.current.startOfDay(for: Date())
+                        Calendar.current.startOfDay(for: now)
                         .addingTimeInterval(state.timeValues[state.items[index + 1].timeIndex])
                         :
-                        Calendar.current.startOfDay(for: Date())
+                        Calendar.current.startOfDay(for: now)
                         .addingTimeInterval(state.timeValues.last! + 30 * 60)
                     RectangleMark(
                         xStart: .value("start", startDate),
@@ -231,8 +230,8 @@ extension ISFEditor {
                 }
             }
             .chartXScale(
-                domain: Calendar.current.startOfDay(for: Date()) ... Calendar
-                    .current.startOfDay(for: Date())
+                domain: Calendar.current.startOfDay(for: now) ... Calendar
+                    .current.startOfDay(for: now)
                     .addingTimeInterval(60 * 60 * 24)
             )
             .chartYAxis {

+ 6 - 5
Trio/Sources/Modules/TargetsEditor/View/TargetsEditorRootView.swift

@@ -169,6 +169,7 @@ extension TargetsEditor {
             }
         }
 
+        var now = Date()
         var chart: some View {
             Chart {
                 ForEach(state.items.indexed(), id: \.1.id) { index, item in
@@ -180,15 +181,15 @@ extension TargetsEditor {
                     let displayValueFloat = Double(displayValue.replacingOccurrences(of: ",", with: "."))
 
                     let startDate = Calendar.current
-                        .startOfDay(for: Date())
+                        .startOfDay(for: now)
                         .addingTimeInterval(state.timeValues[item.timeIndex])
 
                     let endDate = state.items
                         .count > index + 1 ?
-                        Calendar.current.startOfDay(for: Date())
+                        Calendar.current.startOfDay(for: now)
                         .addingTimeInterval(state.timeValues[state.items[index + 1].timeIndex])
                         :
-                        Calendar.current.startOfDay(for: Date())
+                        Calendar.current.startOfDay(for: now)
                         .addingTimeInterval(state.timeValues.last! + 30 * 60)
 
                     LineMark(x: .value("End Date", startDate), y: .value("Target", displayValueFloat ?? 0.0))
@@ -205,8 +206,8 @@ extension TargetsEditor {
                 }
             }
             .chartXScale(
-                domain: Calendar.current.startOfDay(for: Date()) ... Calendar
-                    .current.startOfDay(for: Date())
+                domain: Calendar.current.startOfDay(for: now) ... Calendar
+                    .current.startOfDay(for: now)
                     .addingTimeInterval(60 * 60 * 24)
             )
             .chartYAxis {