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

Merge pull request #4 from dnzxy/UI

Trend Shape Coloring + Button Positions
polscm32 пре 2 година
родитељ
комит
67ed1fc82a

+ 17 - 31
FreeAPS/Sources/Modules/Home/View/Header/CurrentGlucoseView.swift

@@ -10,7 +10,14 @@ struct CurrentGlucoseView: View {
     @Binding var highGlucose: Decimal
 
     @State private var rotationDegrees: Double = 0.0
-    @State private var angularGradient: AngularGradient = defaultGradient()
+    @State private var angularGradient = AngularGradient(colors: [
+        Color(red: 0.729, green: 0.337, blue: 1),
+        Color(red: 0.263, green: 0.733, blue: 0.914),
+        Color(red: 0.263, green: 0.733, blue: 0.914),
+        Color(red: 0.263, green: 0.733, blue: 0.914),
+        Color(red: 0.263, green: 0.733, blue: 0.914),
+        Color(red: 0.729, green: 0.337, blue: 1)
+    ], center: .center, startAngle: .degrees(-45), endAngle: .degrees(135))
 
     @Environment(\.colorScheme) var colorScheme
 
@@ -50,7 +57,8 @@ struct CurrentGlucoseView: View {
     }
 
     var body: some View {
-        let triangleColor = Color(red: 0.729, green: 0.337, blue: 1)
+//        let triangleColor = Color(red: 0.729, green: 0.337, blue: 1)
+        let triangleColor = Color(red: 0.263, green: 0.733, blue: 0.914)
 
         ZStack {
             TrendShape(gradient: angularGradient, color: triangleColor)
@@ -96,62 +104,40 @@ struct CurrentGlucoseView: View {
                      .singleUp,
                      .tripleUp:
                     rotationDegrees = -90
-                    setupAngularGradient(startAngle: 135, endAngle: -45)
+                    angularGradient
 
                 case .fortyFiveUp:
                     rotationDegrees = -45
-                    setupAngularGradient(startAngle: 180, endAngle: 0)
+                    angularGradient
 
                 case .flat:
                     rotationDegrees = 0
-                    setupAngularGradient(startAngle: 225, endAngle: 45)
+                    angularGradient
 
                 case .fortyFiveDown:
                     rotationDegrees = 45
-                    setupAngularGradient(startAngle: 270, endAngle: 90)
+                    angularGradient
 
                 case .doubleDown,
                      .singleDown,
                      .tripleDown:
                     rotationDegrees = 90
-                    setupAngularGradient(startAngle: -45, endAngle: 135)
+                    angularGradient
 
                 case .none,
                      .notComputable,
                      .rateOutOfRange:
                     rotationDegrees = 0
-                    setupAngularGradient(startAngle: 225, endAngle: 45)
+                    angularGradient
 
                 @unknown default:
                     rotationDegrees = 0
-                    setupAngularGradient(startAngle: 225, endAngle: 45)
+                    angularGradient
                 }
             }
         }
     }
 
-    private func setupAngularGradient(startAngle: Double, endAngle: Double) {
-        angularGradient = AngularGradient(colors: [
-            Color(red: 0.729, green: 0.337, blue: 1),
-            Color(red: 0.263, green: 0.733, blue: 0.914),
-            Color(red: 0.263, green: 0.733, blue: 0.914),
-            Color(red: 0.263, green: 0.733, blue: 0.914),
-            Color(red: 0.263, green: 0.733, blue: 0.914),
-            Color(red: 0.729, green: 0.337, blue: 1)
-        ], center: .center, startAngle: .degrees(startAngle), endAngle: .degrees(endAngle))
-    }
-
-    private static func defaultGradient(startAngle: Double = 180, endAngle: Double = 0) -> AngularGradient {
-        AngularGradient(colors: [
-            Color(red: 0.729, green: 0.337, blue: 1),
-            Color(red: 0.263, green: 0.733, blue: 0.914),
-            Color(red: 0.263, green: 0.733, blue: 0.914),
-            Color(red: 0.263, green: 0.733, blue: 0.914),
-            Color(red: 0.263, green: 0.733, blue: 0.914),
-            Color(red: 0.729, green: 0.337, blue: 1)
-        ], center: .center, startAngle: .degrees(startAngle), endAngle: .degrees(endAngle))
-    }
-
     var colourGlucoseText: Color {
         let whichGlucose = recentGlucose?.glucose ?? 0
         let defaultColor: Color = colorScheme == .dark ? .white : .black

+ 11 - 11
FreeAPS/Sources/Modules/Home/View/HomeRootView.swift

@@ -579,6 +579,17 @@ extension Home {
                         }
                     }.buttonStyle(.borderless)
                     Spacer()
+                    Button { state.showModal(for: .addTempTarget) }
+                    label: {
+                        Image("target")
+                            .renderingMode(.template)
+                            .resizable()
+                            .frame(width: 24, height: 24)
+                            .padding(8)
+                    }
+                    .foregroundColor(colorIcon)
+                    .buttonStyle(.borderless)
+                    Spacer()
                     Button {
                         state.showModal(for: .bolus(
                             waitForSuggestion: true,
@@ -608,17 +619,6 @@ extension Home {
                         .buttonStyle(.borderless)
                         Spacer()
                     }
-                    Button { state.showModal(for: .addTempTarget) }
-                    label: {
-                        Image("target")
-                            .renderingMode(.template)
-                            .resizable()
-                            .frame(width: 24, height: 24)
-                            .padding(8)
-                    }
-                    .foregroundColor(colorIcon)
-                    .buttonStyle(.borderless)
-                    Spacer()
 
                     // MARK: CANCEL OF PROFILE HAS TO BE IMPLEMENTED