فهرست منبع

Fixes after merge
* readd background color in alternate bolus view
* use different toggle styles for fatty-meal- and super-bolus-checkbox

polscm32 2 سال پیش
والد
کامیت
ce2382da2c

+ 24 - 0
FreeAPS/Sources/Modules/Bolus/Components/CheckboxToggleStyle.swift

@@ -3,6 +3,30 @@ import SwiftUI
 struct CheckboxToggleStyle: ToggleStyle {
     func makeBody(configuration: Self.Configuration) -> some View {
         HStack {
+            RoundedRectangle(cornerRadius: 5)
+                .stroke(lineWidth: 2)
+                .foregroundColor(.secondary)
+                .frame(width: 20, height: 20)
+                .overlay {
+                    if configuration.isOn {
+                        Image(systemName: "checkmark")
+                    }
+                }
+                .onTapGesture {
+                    withAnimation {
+                        configuration.isOn.toggle()
+                    }
+                }
+            configuration.label
+        }
+    }
+}
+
+import SwiftUI
+
+struct CheckboxToggleStyleVariant: ToggleStyle {
+    func makeBody(configuration: Self.Configuration) -> some View {
+        HStack {
             Circle()
                 .stroke(lineWidth: 2)
                 .foregroundColor(.secondary)

+ 2 - 2
FreeAPS/Sources/Modules/Bolus/View/AlternativeBolusCalcRootView.swift

@@ -103,7 +103,7 @@ extension Bolus {
                             Toggle(isOn: $state.useSuperBolus) {
                                 Text("Super Bolus")
                             }
-                            .toggleStyle(CheckboxToggleStyle())
+                            .toggleStyle(CheckboxToggleStyleVariant())
                             .font(.footnote)
                             .onChange(of: state.useSuperBolus) { _ in
                                 state.insulinCalculated = state.calculateInsulin()
@@ -179,7 +179,7 @@ extension Bolus {
                         label: { Text("Continue without bolus") }.frame(maxWidth: .infinity, alignment: .center)
                     }
                 }
-            }
+            }.scrollContentBackground(.hidden).background(color)
             .blur(radius: showInfo ? 3 : 0)
             .navigationTitle("Enact Bolus")
             .navigationBarTitleDisplayMode(.inline)