polscm32 1 anno fa
parent
commit
69bd121888

+ 4 - 40
FreeAPS.xcodeproj/project.pbxproj

@@ -44,10 +44,6 @@
 		19DA48E829CD339B00EEA1E7 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 19DA487F29CD2B8400EEA1E7 /* Assets.xcassets */; };
 		19DA48E929CD339C00EEA1E7 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 19DA487F29CD2B8400EEA1E7 /* Assets.xcassets */; };
 		19DA48EA29CD339C00EEA1E7 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 19DA487F29CD2B8400EEA1E7 /* Assets.xcassets */; };
-		19DC677F29CA675700FD9EC4 /* OverrideProfilesDataFlow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19DC677E29CA675700FD9EC4 /* OverrideProfilesDataFlow.swift */; };
-		19DC678129CA676A00FD9EC4 /* OverrideProfilesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19DC678029CA676A00FD9EC4 /* OverrideProfilesProvider.swift */; };
-		19DC678329CA677D00FD9EC4 /* OverrideProfilesStateModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19DC678229CA677D00FD9EC4 /* OverrideProfilesStateModel.swift */; };
-		19DC678529CA67A400FD9EC4 /* OverrideProfilesRootView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19DC678429CA67A400FD9EC4 /* OverrideProfilesRootView.swift */; };
 		19E1F7E829D082D0005C8D20 /* IconConfigDataFlow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19E1F7E729D082D0005C8D20 /* IconConfigDataFlow.swift */; };
 		19E1F7EA29D082ED005C8D20 /* IconConfigProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19E1F7E929D082ED005C8D20 /* IconConfigProvider.swift */; };
 		19E1F7EC29D082FE005C8D20 /* IconConfigStateModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19E1F7EB29D082FE005C8D20 /* IconConfigStateModel.swift */; };
@@ -263,6 +259,7 @@
 		585E2CAE2BE7BF46006ECF1A /* PumpEvent+helper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 585E2CAD2BE7BF46006ECF1A /* PumpEvent+helper.swift */; };
 		5864E8592C42CFAE00294306 /* DeterminationStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5864E8582C42CFAE00294306 /* DeterminationStorage.swift */; };
 		587DA1F62B77F3DD00B28F8A /* SettingsRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 587DA1F52B77F3DD00B28F8A /* SettingsRowView.swift */; };
+		587EB7B62C4C2EB0009EB23D /* OverrideProfilesConfig in Resources */ = {isa = PBXBuildFile; fileRef = 587EB7B52C4C2EB0009EB23D /* OverrideProfilesConfig */; };
 		5887527C2BD986E1008B081D /* OpenAPSBattery.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5887527B2BD986E1008B081D /* OpenAPSBattery.swift */; };
 		588752842BD9986A008B081D /* OpenAPS_Battery+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 588752822BD9986A008B081D /* OpenAPS_Battery+CoreDataClass.swift */; };
 		588752852BD9986A008B081D /* OpenAPS_Battery+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 588752832BD9986A008B081D /* OpenAPS_Battery+CoreDataProperties.swift */; };
@@ -343,8 +340,6 @@
 		BDC2EA452C3043B000E5BBD0 /* OverrideStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDC2EA442C3043B000E5BBD0 /* OverrideStorage.swift */; };
 		BDC2EA472C3045AD00E5BBD0 /* Override.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDC2EA462C3045AD00E5BBD0 /* Override.swift */; };
 		BDCD47AF2C1F3F1700F8BCD5 /* OverrideStored+helper.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDCD47AE2C1F3F1700F8BCD5 /* OverrideStored+helper.swift */; };
-		BDCD47BA2C2203A600F8BCD5 /* EditOverrideForm.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDCD47B92C2203A600F8BCD5 /* EditOverrideForm.swift */; };
-		BDCD47C32C26331400F8BCD5 /* AddOverrideForm.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDCD47C22C26331400F8BCD5 /* AddOverrideForm.swift */; };
 		BDF34EBE2C0A31D100D51995 /* CustomNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDF34EBD2C0A31D000D51995 /* CustomNotification.swift */; };
 		BDF34F832C10C5B600D51995 /* DataManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDF34F822C10C5B600D51995 /* DataManager.swift */; };
 		BDF34F852C10C62E00D51995 /* GlucoseData.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDF34F842C10C62E00D51995 /* GlucoseData.swift */; };
@@ -622,10 +617,6 @@
 		19D466A929AA3099004D5F33 /* FPUConfigRootView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FPUConfigRootView.swift; sourceTree = "<group>"; };
 		19D4E4EA29FC6A9F00351451 /* Charts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Charts.swift; sourceTree = "<group>"; };
 		19DA487F29CD2B8400EEA1E7 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
-		19DC677E29CA675700FD9EC4 /* OverrideProfilesDataFlow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OverrideProfilesDataFlow.swift; sourceTree = "<group>"; };
-		19DC678029CA676A00FD9EC4 /* OverrideProfilesProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OverrideProfilesProvider.swift; sourceTree = "<group>"; };
-		19DC678229CA677D00FD9EC4 /* OverrideProfilesStateModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OverrideProfilesStateModel.swift; sourceTree = "<group>"; };
-		19DC678429CA67A400FD9EC4 /* OverrideProfilesRootView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OverrideProfilesRootView.swift; sourceTree = "<group>"; };
 		19E1F7E729D082D0005C8D20 /* IconConfigDataFlow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IconConfigDataFlow.swift; sourceTree = "<group>"; };
 		19E1F7E929D082ED005C8D20 /* IconConfigProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IconConfigProvider.swift; sourceTree = "<group>"; };
 		19E1F7EB29D082FE005C8D20 /* IconConfigStateModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IconConfigStateModel.swift; sourceTree = "<group>"; };
@@ -859,6 +850,7 @@
 		585E2CAD2BE7BF46006ECF1A /* PumpEvent+helper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PumpEvent+helper.swift"; sourceTree = "<group>"; };
 		5864E8582C42CFAE00294306 /* DeterminationStorage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeterminationStorage.swift; sourceTree = "<group>"; };
 		587DA1F52B77F3DD00B28F8A /* SettingsRowView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsRowView.swift; sourceTree = "<group>"; };
+		587EB7B52C4C2EB0009EB23D /* OverrideProfilesConfig */ = {isa = PBXFileReference; lastKnownFileType = folder; path = OverrideProfilesConfig; sourceTree = "<group>"; };
 		5887527B2BD986E1008B081D /* OpenAPSBattery.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OpenAPSBattery.swift; sourceTree = "<group>"; };
 		588752822BD9986A008B081D /* OpenAPS_Battery+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "OpenAPS_Battery+CoreDataClass.swift"; sourceTree = SOURCE_ROOT; };
 		588752832BD9986A008B081D /* OpenAPS_Battery+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "OpenAPS_Battery+CoreDataProperties.swift"; sourceTree = SOURCE_ROOT; };
@@ -941,8 +933,6 @@
 		BDC2EA442C3043B000E5BBD0 /* OverrideStorage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OverrideStorage.swift; sourceTree = "<group>"; };
 		BDC2EA462C3045AD00E5BBD0 /* Override.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Override.swift; sourceTree = "<group>"; };
 		BDCD47AE2C1F3F1700F8BCD5 /* OverrideStored+helper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "OverrideStored+helper.swift"; sourceTree = "<group>"; };
-		BDCD47B92C2203A600F8BCD5 /* EditOverrideForm.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditOverrideForm.swift; sourceTree = "<group>"; };
-		BDCD47C22C26331400F8BCD5 /* AddOverrideForm.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddOverrideForm.swift; sourceTree = "<group>"; };
 		BDF34EBD2C0A31D000D51995 /* CustomNotification.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomNotification.swift; sourceTree = "<group>"; };
 		BDF34F822C10C5B600D51995 /* DataManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DataManager.swift; sourceTree = "<group>"; };
 		BDF34F842C10C62E00D51995 /* GlucoseData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GlucoseData.swift; sourceTree = "<group>"; };
@@ -1233,27 +1223,6 @@
 			path = View;
 			sourceTree = "<group>";
 		};
-		19DC677C29CA66F200FD9EC4 /* OverrideProfilesConfig */ = {
-			isa = PBXGroup;
-			children = (
-				19DC677E29CA675700FD9EC4 /* OverrideProfilesDataFlow.swift */,
-				19DC678029CA676A00FD9EC4 /* OverrideProfilesProvider.swift */,
-				19DC678229CA677D00FD9EC4 /* OverrideProfilesStateModel.swift */,
-				19DC677D29CA672500FD9EC4 /* View */,
-			);
-			path = OverrideProfilesConfig;
-			sourceTree = "<group>";
-		};
-		19DC677D29CA672500FD9EC4 /* View */ = {
-			isa = PBXGroup;
-			children = (
-				19DC678429CA67A400FD9EC4 /* OverrideProfilesRootView.swift */,
-				BDCD47B92C2203A600F8BCD5 /* EditOverrideForm.swift */,
-				BDCD47C22C26331400F8BCD5 /* AddOverrideForm.swift */,
-			);
-			path = View;
-			sourceTree = "<group>";
-		};
 		19E1F7E629D0828B005C8D20 /* IconConfig */ = {
 			isa = PBXGroup;
 			children = (
@@ -1342,7 +1311,7 @@
 				5031FE61F63C2A8A8B7674DD /* ManualTempBasal */,
 				D533BF261CDC1C3F871E7BFD /* NightscoutConfig */,
 				F66B236E00924A05D6A9F9DF /* NotificationsConfig */,
-				19DC677C29CA66F200FD9EC4 /* OverrideProfilesConfig */,
+				587EB7B52C4C2EB0009EB23D /* OverrideProfilesConfig */,
 				3E1C41D9301B7058AA7BF5EA /* PreferencesEditor */,
 				99C01B871ACAB3F32CE755C7 /* PumpConfig */,
 				E493126EA71765130F64CCE5 /* PumpSettingsEditor */,
@@ -2739,6 +2708,7 @@
 				388E597225AD9CF10019842D /* json in Resources */,
 				38DF178E27733E6800B3528F /* Assets.xcassets in Resources */,
 				19DA48E829CD339B00EEA1E7 /* Assets.xcassets in Resources */,
+				587EB7B62C4C2EB0009EB23D /* OverrideProfilesConfig in Resources */,
 				388E596F25AD96040019842D /* javascript in Resources */,
 				B9CAAEFC2AE70836000F68BC /* branch.txt in Resources */,
 				1927C8E62744606D00347C69 /* InfoPlist.strings in Resources */,
@@ -2893,7 +2863,6 @@
 				3811DE1725C9D40400A708ED /* Screen.swift in Sources */,
 				383948DA25CD64D500E91849 /* Glucose.swift in Sources */,
 				CE94598029E9E3BD0047C9C6 /* WatchConfigDataFlow.swift in Sources */,
-				BDCD47C32C26331400F8BCD5 /* AddOverrideForm.swift in Sources */,
 				388E596C25AD95110019842D /* OpenAPS.swift in Sources */,
 				E00EEC0527368630002FF094 /* StorageAssembly.swift in Sources */,
 				384E803825C388640086DB71 /* Script.swift in Sources */,
@@ -2929,7 +2898,6 @@
 				5895E7E52C4BF66900127D04 /* TriosPersistentContainer.xcdatamodeld in Sources */,
 				388E5A5C25B6F0770019842D /* JSON.swift in Sources */,
 				3811DF0225CA9FEA00A708ED /* Credentials.swift in Sources */,
-				19DC678529CA67A400FD9EC4 /* OverrideProfilesRootView.swift in Sources */,
 				5837A5302BD2E3C700A5DC04 /* CarbEntryStored+helper.swift in Sources */,
 				CC76E94C2BD471BA008BEB61 /* Forecast+CoreDataClass.swift in Sources */,
 				BDBAACF52C2C9CAE00370AAE /* MealPresetStored+CoreDataClass.swift in Sources */,
@@ -2955,7 +2923,6 @@
 				3811DE1825C9D40400A708ED /* Router.swift in Sources */,
 				CE7950262998056D00FA576E /* CGMSetupView.swift in Sources */,
 				582FAE432C05102C00D1C13F /* CoreDataError.swift in Sources */,
-				BDCD47BA2C2203A600F8BCD5 /* EditOverrideForm.swift in Sources */,
 				38A0363B25ECF07E00FCBB52 /* GlucoseStorage.swift in Sources */,
 				65070A332BFDCB83006F213F /* TidepoolStartView.swift in Sources */,
 				190EBCC629FF138000BA767D /* StatConfigProvider.swift in Sources */,
@@ -3048,7 +3015,6 @@
 				38C4D33A25E9A1ED00D30B77 /* NSObject+AssociatedValues.swift in Sources */,
 				38DF179027733EAD00B3528F /* SnowScene.swift in Sources */,
 				DD1DB7CC2BECCA1F0048B367 /* BuildDetails.swift in Sources */,
-				19DC677F29CA675700FD9EC4 /* OverrideProfilesDataFlow.swift in Sources */,
 				1935364028496F7D001E0B16 /* Oref2_variables.swift in Sources */,
 				CE2FAD3A297D93F0001A872C /* BloodGlucoseExtensions.swift in Sources */,
 				38E4453A274E411700EC9A94 /* Disk+[UIImage].swift in Sources */,
@@ -3087,7 +3053,6 @@
 				A0B8EC8CC5CD1DD237D1BCD2 /* PumpSettingsEditorRootView.swift in Sources */,
 				E06B911A275B5EEA003C04B6 /* Array+Extension.swift in Sources */,
 				38EA0600262091870064E39B /* BolusProgressViewStyle.swift in Sources */,
-				19DC678329CA677D00FD9EC4 /* OverrideProfilesStateModel.swift in Sources */,
 				389ECDFE2601061500D86C4F /* View+Snapshot.swift in Sources */,
 				38FEF3FE2738083E00574A46 /* CGMProvider.swift in Sources */,
 				38E98A3725F5509500C0CED0 /* String+Extensions.swift in Sources */,
@@ -3144,7 +3109,6 @@
 				F5F7E6C1B7F098F59EB67EC5 /* TargetsEditorDataFlow.swift in Sources */,
 				5075C1608E6249A51495C422 /* TargetsEditorProvider.swift in Sources */,
 				E13B7DAB2A435F57066AF02E /* TargetsEditorStateModel.swift in Sources */,
-				19DC678129CA676A00FD9EC4 /* OverrideProfilesProvider.swift in Sources */,
 				9702FF92A09C53942F20D7EA /* TargetsEditorRootView.swift in Sources */,
 				1967DFBE29D052C200759F30 /* Icons.swift in Sources */,
 				38E8754F275556FA00975559 /* WatchManager.swift in Sources */,

+ 1 - 3
FreeAPS/Sources/Modules/AddTempTarget/View/AddTempTargetRootView.swift

@@ -27,7 +27,6 @@ extension AddTempTarget {
             return formatter
         }
 
-<<<<<<< HEAD
         private var color: LinearGradient {
             colorScheme == .dark ? LinearGradient(
                 gradient: Gradient(colors: [
@@ -43,7 +42,7 @@ extension AddTempTarget {
                     startPoint: .top,
                     endPoint: .bottom
                 )
-=======
+
         private var displayString: String {
             guard let preset = selectedPreset else { return "" }
             var low = preset.targetBottom
@@ -57,7 +56,6 @@ extension AddTempTarget {
             let formattedDuration = formatter.string(from: preset.duration as NSNumber) ?? ""
 
             return "\(formattedLow) \(state.units.rawValue) for \(formattedDuration) min"
->>>>>>> 9672da256c317a314acc76d6e4f6e82cc174d133
         }
 
         var body: some View {

+ 0 - 7
FreeAPS/Sources/Modules/AutotuneConfig/View/AutotuneConfigRootView.swift

@@ -6,7 +6,6 @@ extension AutotuneConfig {
         let resolver: Resolver
         @StateObject var state = StateModel()
         @State var replaceAlert = false
-<<<<<<< HEAD
 
         @Environment(\.colorScheme) var colorScheme
         var color: LinearGradient {
@@ -25,8 +24,6 @@ extension AutotuneConfig {
                     endPoint: .bottom
                 )
         }
-=======
->>>>>>> 9672da256c317a314acc76d6e4f6e82cc174d133
 
         private var isfFormatter: NumberFormatter {
             let formatter = NumberFormatter()
@@ -127,11 +124,7 @@ extension AutotuneConfig {
                         }
                         label: { Text("Save as your Normal Basal Rates") }
                     } header: {
-<<<<<<< HEAD
-                        Text("Save on Pump")
-=======
                         Text("Replace Normal Basal")
->>>>>>> 9672da256c317a314acc76d6e4f6e82cc174d133
                     }
                 }
             }

+ 0 - 11
FreeAPS/Sources/Modules/DataTable/DataTableDataFlow.swift

@@ -137,29 +137,18 @@ enum DataTable {
 
             switch type {
             case .carbs:
-<<<<<<< HEAD
                 return numberFormatter
                     .string(from: amount as NSNumber)! + NSLocalizedString(" g", comment: "gram of carbs")
-=======
-                return numberFormatter.string(from: amount as NSNumber)! + NSLocalizedString(" g", comment: "gram of carbs")
->>>>>>> 9672da256c317a314acc76d6e4f6e82cc174d133
             case .fpus:
                 return numberFormatter
                     .string(from: amount as NSNumber)! + NSLocalizedString(" g", comment: "gram of carb equilvalents")
             case .bolus:
-<<<<<<< HEAD
                 var bolusText = " "
                 if isSMB ?? false {}
                 else if isExternal ?? false {
                     bolusText += NSLocalizedString("External", comment: "External Insulin")
                 } else {
                     bolusText += NSLocalizedString("Manual", comment: "Manual Bolus")
-=======
-                var bolusText = ""
-
-                if isExternal ?? false {
-                    bolusText += " " + NSLocalizedString("External", comment: "External Insulin")
->>>>>>> 9672da256c317a314acc76d6e4f6e82cc174d133
                 }
 
                 return numberFormatter

+ 0 - 46
FreeAPS/Sources/Modules/DataTable/DataTableProvider.swift

@@ -13,55 +13,9 @@ extension DataTable {
                 ?? PumpSettings(insulinActionCurve: 6, maxBolus: 10, maxBasal: 2)
         }
 
-<<<<<<< HEAD
         func deleteCarbsFromNightscout(withID id: String) {
             Task {
                 await nightscoutManager.deleteCarbs(withID: id)
-=======
-        func pumpSettings() -> PumpSettings {
-            storage.retrieve(OpenAPS.Settings.settings, as: PumpSettings.self)
-                ?? PumpSettings(from: OpenAPS.defaults(for: OpenAPS.Settings.settings))
-                ?? PumpSettings(insulinActionCurve: 6, maxBolus: 10, maxBasal: 2)
-        }
-
-        func tempTargets() -> [TempTarget] {
-            tempTargetsStorage.recent()
-        }
-
-        func carbs() -> [CarbsEntry] {
-            carbsStorage.recent()
-        }
-
-        func fpus() -> [CarbsEntry] {
-            carbsStorage.recent()
-        }
-
-        func deleteCarbs(_ treatement: Treatment) {
-            // need to start with tidepool because Nightscout delete data
-            // probably to revise the logic
-            // TODO:
-            tidepoolManager.deleteCarbs(
-                at: treatement.date,
-                isFPU: treatement.isFPU,
-                fpuID: treatement.fpuID,
-                syncID: treatement.id
-            )
-
-            nightscoutManager.deleteCarbs(
-                at: treatement.date,
-                isFPU: treatement.isFPU,
-                fpuID: treatement.fpuID,
-                syncID: treatement.id
-            )
-        }
-
-        func deleteInsulin(_ treatement: Treatment) {
-            // delete tidepoolManager before NS - TODO
-            tidepoolManager.deleteInsulin(at: treatement.date)
-            nightscoutManager.deleteInsulin(at: treatement.date)
-            if let id = treatement.idPumpEvent {
-                healthkitManager.deleteInsulin(syncID: id)
->>>>>>> 9672da256c317a314acc76d6e4f6e82cc174d133
             }
         }
 

+ 0 - 15
FreeAPS/Sources/Modules/NotificationsConfig/View/NotificationsConfigRootView.swift

@@ -34,7 +34,6 @@ extension NotificationsConfig {
             return formatter
         }
 
-<<<<<<< HEAD
         @Environment(\.colorScheme) var colorScheme
 
         var color: LinearGradient {
@@ -54,8 +53,6 @@ extension NotificationsConfig {
                 )
         }
 
-=======
->>>>>>> 9672da256c317a314acc76d6e4f6e82cc174d133
         @ViewBuilder private func liveActivitySection() -> some View {
             if #available(iOS 16.2, *) {
                 Section(
@@ -69,9 +66,6 @@ extension NotificationsConfig {
                                 UIApplication.shared.open(URL(string: UIApplication.openSettingsURLString)!)
                             }
                         } else {
-<<<<<<< HEAD
-                            Toggle("Show Live Activity", isOn: $state.useLiveActivity) }
-=======
                             Toggle("Show Live Activity", isOn: $state.useLiveActivity)
                         }
                         Picker(
@@ -82,7 +76,6 @@ extension NotificationsConfig {
                                 Text(selection.displayName).tag(selection)
                             }
                         }
->>>>>>> 9672da256c317a314acc76d6e4f6e82cc174d133
                     }
                 )
                 .onReceive(resolver.resolve(LiveActivityBridge.self)!.$systemEnabled, perform: {
@@ -97,11 +90,7 @@ extension NotificationsConfig {
 
             if !systemLiveActivitySetting {
                 footer =
-<<<<<<< HEAD
-                    "Live activities are turned OFF in system settings. To enable live activities, go to Settings app -> iAPS -> Turn live Activities ON.\n\n" +
-=======
                     "Live activities are turned OFF in system settings. To enable live activities, go to Settings app -> Trio -> Turn live Activities ON.\n\n" +
->>>>>>> 9672da256c317a314acc76d6e4f6e82cc174d133
                     footer
             }
 
@@ -145,11 +134,7 @@ extension NotificationsConfig {
                 }
 
                 liveActivitySection()
-<<<<<<< HEAD
             }.scrollContentBackground(.hidden).background(color)
-=======
-            }.scrollContentBackground(.hidden)
->>>>>>> 9672da256c317a314acc76d6e4f6e82cc174d133
                 .onAppear(perform: configureView)
                 .navigationBarTitle("Notifications")
                 .navigationBarTitleDisplayMode(.automatic)

+ 1 - 333
FreeAPS/Sources/Modules/OverrideProfilesConfig/OverrideProfilesStateModel.swift

@@ -23,21 +23,18 @@ extension OverrideProfilesConfig {
         @Published var isfAndCr: Bool = true
         @Published var isf: Bool = true
         @Published var cr: Bool = true
-        @Published var smbIsScheduledOff: Bool = false
+        @Published var smbIsAlwaysOff: Bool = false
         @Published var start: Decimal = 0
         @Published var end: Decimal = 23
         @Published var smbMinutes: Decimal = 0
         @Published var uamMinutes: Decimal = 0
         @Published var defaultSmbMinutes: Decimal = 0
         @Published var defaultUamMinutes: Decimal = 0
-<<<<<<< HEAD
         @Published var selectedTab: Tab = .overrides
         @Published var activeOverrideName: String = ""
         @Published var currentActiveOverride: OverrideStored?
         @Published var showOverrideEditSheet = false
         @Published var showInvalidTargetAlert = false
-=======
->>>>>>> 9672da256c317a314acc76d6e4f6e82cc174d133
 
         var units: GlucoseUnits = .mgdL
 
@@ -59,44 +56,21 @@ extension OverrideProfilesConfig {
             return "Please enter a valid target between" + " \(target)."
         }
 
-        private var formatter: NumberFormatter {
-            let formatter = NumberFormatter()
-            formatter.numberStyle = .decimal
-            formatter.maximumFractionDigits = 0
-            return formatter
-        }
-
-        private var glucoseFormatter: NumberFormatter {
-            let formatter = NumberFormatter()
-            formatter.numberStyle = .decimal
-            formatter.maximumFractionDigits = 0
-            if units == .mmolL {
-                formatter.maximumFractionDigits = 1
-            }
-            formatter.roundingMode = .halfUp
-            return formatter
-        }
-
         override func subscribe() {
             setupNotification()
             units = settingsManager.settings.units
             defaultSmbMinutes = settingsManager.preferences.maxSMBBasalMinutes
             defaultUamMinutes = settingsManager.preferences.maxUAMSMBBasalMinutes
-<<<<<<< HEAD
             setupOverridePresetsArray()
             updateLatestOverrideConfiguration()
             presetsTT = storage.presets()
             maxValue = settingsManager.preferences.autosensMax
             broadcaster.register(SettingsObserver.self, observer: self)
-=======
-            presets = [OverridePresets(context: coredataContext)]
->>>>>>> 9672da256c317a314acc76d6e4f6e82cc174d133
         }
 
         let coredataContext = CoreDataStack.shared.newTaskContext()
         let viewContext = CoreDataStack.shared.persistentContainer.viewContext
 
-<<<<<<< HEAD
         func isInputInvalid(target: Decimal) -> Bool {
             guard target != 0 else { return false }
 
@@ -112,312 +86,6 @@ extension OverrideProfilesConfig {
                 return true
             } else {
                 return false
-=======
-        struct ProfileViewData {
-            let target: Decimal
-            let duration: Decimal
-            let name: String
-            let percent: Double
-            let perpetual: Bool
-            let durationString: String
-            let scheduledSMBString: String
-            let smbString: String
-            let targetString: String
-            let maxMinutesSMB: Decimal
-            let maxMinutesUAM: Decimal
-            let isfString: String
-            let crString: String
-            let isfAndCRString: String
-        }
-
-        func profileViewData(for preset: OverridePresets) -> ProfileViewData {
-            let target = units == .mmolL ? (((preset.target ?? 0) as NSDecimalNumber) as Decimal)
-                .asMmolL : (preset.target ?? 0) as Decimal
-            let duration = (preset.duration ?? 0) as Decimal
-            let name = ((preset.name ?? "") == "") || (preset.name?.isEmpty ?? true) ? "" : preset.name!
-            let percent = preset.percentage / 100
-            let perpetual = preset.indefinite
-            let durationString = perpetual ? "" : "\(formatter.string(from: duration as NSNumber)!)"
-            let scheduledSMBString = (preset.smbIsOff && preset.smbIsScheduledOff) ? "Scheduled SMBs" : ""
-            let smbString = (preset.smbIsOff && scheduledSMBString == "") ? "SMBs are off" : ""
-            let targetString = target != 0 ? "\(glucoseFormatter.string(from: target as NSNumber)!)" : ""
-            let maxMinutesSMB = (preset.smbMinutes as Decimal?) != nil ? (preset.smbMinutes ?? 0) as Decimal : 0
-            let maxMinutesUAM = (preset.uamMinutes as Decimal?) != nil ? (preset.uamMinutes ?? 0) as Decimal : 0
-            let isfString = preset.isf ? "ISF" : ""
-            let crString = preset.cr ? "CR" : ""
-            let dash = crString != "" ? "/" : ""
-            let isfAndCRString = isfString + dash + crString
-
-            return ProfileViewData(
-                target: target,
-                duration: duration,
-                name: name,
-                percent: percent,
-                perpetual: perpetual,
-                durationString: durationString,
-                scheduledSMBString: scheduledSMBString,
-                smbString: smbString,
-                targetString: targetString,
-                maxMinutesSMB: maxMinutesSMB,
-                maxMinutesUAM: maxMinutesUAM,
-                isfString: isfString,
-                crString: crString,
-                isfAndCRString: isfAndCRString
-            )
-        }
-
-        func saveSettings() {
-            coredataContext.perform { [self] in
-                let saveOverride = Override(context: self.coredataContext)
-                saveOverride.duration = self.duration as NSDecimalNumber
-                saveOverride.indefinite = self._indefinite
-                saveOverride.percentage = self.percentage
-                saveOverride.enabled = true
-                saveOverride.smbIsOff = self.smbIsOff
-                if self.isPreset {
-                    saveOverride.isPreset = true
-                    saveOverride.id = id
-                } else { saveOverride.isPreset = false }
-                saveOverride.date = Date()
-                if override_target {
-                    if units == .mmolL {
-                        target = target.asMgdL
-                    }
-                    saveOverride.target = target as NSDecimalNumber
-                } else { saveOverride.target = 0 }
-
-                if advancedSettings {
-                    saveOverride.advancedSettings = true
-
-                    if !isfAndCr {
-                        saveOverride.isfAndCr = false
-                        saveOverride.isf = isf
-                        saveOverride.cr = cr
-                    } else { saveOverride.isfAndCr = true }
-                    if smbIsScheduledOff {
-                        saveOverride.smbIsScheduledOff = true
-                        saveOverride.start = start as NSDecimalNumber
-                        saveOverride.end = end as NSDecimalNumber
-                    } else { saveOverride.smbIsScheduledOff = false }
-
-                    saveOverride.smbMinutes = smbMinutes as NSDecimalNumber
-                    saveOverride.uamMinutes = uamMinutes as NSDecimalNumber
-                }
-                try? self.coredataContext.save()
-            }
-        }
-
-        func savePreset() {
-            coredataContext.perform { [self] in
-                let saveOverride = OverridePresets(context: self.coredataContext)
-                saveOverride.duration = self.duration as NSDecimalNumber
-                saveOverride.indefinite = self._indefinite
-                saveOverride.percentage = self.percentage
-                saveOverride.smbIsOff = self.smbIsOff
-                saveOverride.name = self.profileName
-                self.profileName = ""
-                id = UUID().uuidString
-                self.isPreset.toggle()
-                saveOverride.id = id
-                saveOverride.date = Date()
-                if override_target {
-                    saveOverride.target = (
-                        units == .mmolL
-                            ? target.asMgdL
-                            : target
-                    ) as NSDecimalNumber
-                } else { saveOverride.target = 0 }
-
-                if advancedSettings {
-                    saveOverride.advancedSettings = true
-
-                    if !isfAndCr {
-                        saveOverride.isfAndCr = false
-                        saveOverride.isf = isf
-                        saveOverride.cr = cr
-                    } else { saveOverride.isfAndCr = true }
-                    if smbIsScheduledOff {
-                        saveOverride.smbIsScheduledOff = true
-                        saveOverride.start = start as NSDecimalNumber
-                        saveOverride.end = end as NSDecimalNumber
-                    } else { smbIsScheduledOff = false }
-
-                    saveOverride.smbMinutes = smbMinutes as NSDecimalNumber
-                    saveOverride.uamMinutes = uamMinutes as NSDecimalNumber
-                }
-                try? self.coredataContext.save()
-            }
-        }
-
-        func selectProfile(id_: String) {
-            guard id_ != "" else { return }
-            coredataContext.performAndWait {
-                var profileArray = [OverridePresets]()
-                let requestProfiles = OverridePresets.fetchRequest() as NSFetchRequest<OverridePresets>
-                try? profileArray = coredataContext.fetch(requestProfiles)
-
-                guard let profile = profileArray.filter({ $0.id == id_ }).first else { return }
-
-                let saveOverride = Override(context: self.coredataContext)
-                saveOverride.duration = (profile.duration ?? 0) as NSDecimalNumber
-                saveOverride.indefinite = profile.indefinite
-                saveOverride.percentage = profile.percentage
-                saveOverride.enabled = true
-                saveOverride.smbIsOff = profile.smbIsOff
-                saveOverride.isPreset = true
-                saveOverride.date = Date()
-                saveOverride.target = profile.target
-                saveOverride.id = id_
-
-                if profile.advancedSettings {
-                    saveOverride.advancedSettings = true
-                    if !isfAndCr {
-                        saveOverride.isfAndCr = false
-                        saveOverride.isf = profile.isf
-                        saveOverride.cr = profile.cr
-                    } else { saveOverride.isfAndCr = true }
-                    if profile.smbIsScheduledOff {
-                        saveOverride.smbIsScheduledOff = true
-                        saveOverride.start = profile.start
-                        saveOverride.end = profile.end
-                    } else { saveOverride.smbIsScheduledOff = false }
-
-                    saveOverride.smbMinutes = (profile.smbMinutes ?? 0) as NSDecimalNumber
-                    saveOverride.uamMinutes = (profile.uamMinutes ?? 0) as NSDecimalNumber
-                }
-                try? self.coredataContext.save()
-            }
-        }
-
-        func savedSettings() {
-            coredataContext.performAndWait {
-                var overrideArray = [Override]()
-                let requestEnabled = Override.fetchRequest() as NSFetchRequest<Override>
-                let sortIsEnabled = NSSortDescriptor(key: "date", ascending: false)
-                requestEnabled.sortDescriptors = [sortIsEnabled]
-                try? overrideArray = coredataContext.fetch(requestEnabled)
-                isEnabled = overrideArray.first?.enabled ?? false
-                percentage = overrideArray.first?.percentage ?? 100
-                _indefinite = overrideArray.first?.indefinite ?? true
-                duration = (overrideArray.first?.duration ?? 0) as Decimal
-                smbIsOff = overrideArray.first?.smbIsOff ?? false
-                advancedSettings = overrideArray.first?.advancedSettings ?? false
-                isfAndCr = overrideArray.first?.isfAndCr ?? true
-                smbIsScheduledOff = overrideArray.first?.smbIsScheduledOff ?? false
-
-                if advancedSettings {
-                    if !isfAndCr {
-                        isf = overrideArray.first?.isf ?? false
-                        cr = overrideArray.first?.cr ?? false
-                    }
-                    if smbIsScheduledOff {
-                        start = (overrideArray.first?.start ?? 0) as Decimal
-                        end = (overrideArray.first?.end ?? 0) as Decimal
-                    }
-
-                    if (overrideArray[0].smbMinutes as Decimal?) != nil {
-                        smbMinutes = (overrideArray.first?.smbMinutes ?? 30) as Decimal
-                    }
-
-                    if (overrideArray[0].uamMinutes as Decimal?) != nil {
-                        uamMinutes = (overrideArray.first?.uamMinutes ?? 30) as Decimal
-                    }
-                }
-
-                let overrideTarget = (overrideArray.first?.target ?? 0) as Decimal
-
-                var newDuration = Double(duration)
-                if isEnabled {
-                    let duration = overrideArray.first?.duration ?? 0
-                    let addedMinutes = Int(duration as Decimal)
-                    let date = overrideArray.first?.date ?? Date()
-                    if date.addingTimeInterval(addedMinutes.minutes.timeInterval) < Date(), !_indefinite {
-                        isEnabled = false
-                    }
-                    newDuration = Date().distance(to: date.addingTimeInterval(addedMinutes.minutes.timeInterval)).minutes
-                    if overrideTarget != 0 {
-                        override_target = true
-                        target = units == .mmolL ? overrideTarget.asMmolL : overrideTarget
-                    }
-                }
-
-                if newDuration < 0 { newDuration = 0 } else { duration = Decimal(newDuration) }
-
-                if !isEnabled {
-                    _indefinite = true
-                    percentage = 100
-                    duration = 0
-                    target = 0
-                    override_target = false
-                    smbIsOff = false
-                    advancedSettings = false
-                    smbMinutes = defaultSmbMinutes
-                    uamMinutes = defaultUamMinutes
-                }
-            }
-        }
-
-        func populateSettings(from preset: OverridePresets) {
-            profileName = preset.name ?? ""
-            percentage = preset.percentage
-            duration = (preset.duration ?? 0) as Decimal
-            _indefinite = preset.indefinite
-            override_target = preset.target != nil
-            if let targetValue = preset.target as NSDecimalNumber? {
-                target = units == .mmolL ? (targetValue as Decimal).asMmolL : targetValue as Decimal
-            } else {
-                target = 0
-            }
-            advancedSettings = preset.advancedSettings
-            smbIsOff = preset.smbIsOff
-            smbIsScheduledOff = preset.smbIsScheduledOff
-            isf = preset.isf
-            cr = preset.cr
-            smbMinutes = (preset.smbMinutes ?? 0) as Decimal
-            uamMinutes = (preset.uamMinutes ?? 0) as Decimal
-            isfAndCr = preset.isfAndCr
-            start = (preset.start ?? 0) as Decimal
-            end = (preset.end ?? 0) as Decimal
-        }
-
-        func cancelProfile() {
-            _indefinite = true
-            isEnabled = false
-            percentage = 100
-            duration = 0
-            target = 0
-            override_target = false
-            smbIsOff = false
-            advancedSettings = false
-            coredataContext.perform { [self] in
-                let profiles = Override(context: self.coredataContext)
-                profiles.enabled = false
-                profiles.date = Date()
-                try? self.coredataContext.save()
->>>>>>> 9672da256c317a314acc76d6e4f6e82cc174d133
-            }
-            smbMinutes = defaultSmbMinutes
-            uamMinutes = defaultUamMinutes
-        }
-
-        func updatePreset(_ preset: OverridePresets) {
-            let context = CoreDataStack.shared.persistentContainer.viewContext
-            context.performAndWait {
-                preset.name = profileName
-                preset.percentage = percentage
-                preset.duration = NSDecimalNumber(decimal: duration)
-                let targetValue = override_target ? (units == .mmolL ? target.asMgdL : target) : nil
-                preset.target = targetValue != nil ? NSDecimalNumber(decimal: targetValue!) : nil
-                preset.indefinite = _indefinite
-                preset.advancedSettings = advancedSettings
-                preset.smbIsOff = smbIsOff
-                preset.smbIsScheduledOff = smbIsScheduledOff
-                preset.isf = isf
-                preset.cr = cr
-                preset.smbMinutes = NSDecimalNumber(decimal: smbMinutes)
-                preset.uamMinutes = NSDecimalNumber(decimal: uamMinutes)
-                preset.isfAndCr = isfAndCr
-                try? context.save()
             }
         }
     }

+ 0 - 400
FreeAPS/Sources/Modules/OverrideProfilesConfig/View/OverrideProfilesRootView.swift

@@ -1,5 +1,4 @@
 import CoreData
-import Foundation
 import SwiftUI
 import Swinject
 
@@ -63,7 +62,6 @@ extension OverrideProfilesConfig {
             return formatter
         }
 
-<<<<<<< HEAD
         var body: some View {
             VStack {
                 Picker("Tab", selection: $state.selectedTab) {
@@ -72,21 +70,6 @@ extension OverrideProfilesConfig {
                     }
                 }
                 .pickerStyle(.segmented).padding(.horizontal, 10)
-=======
-        var presetPopover: some View {
-            Form {
-                nameSection(header: "Enter a name")
-                settingsSection(header: "Settings to save")
-                Section {
-                    Button("Save") {
-                        state.savePreset()
-                        isSheetPresented = false
-                    }
-                    .disabled(
-                        state.profileName.isEmpty || fetchedProfiles
-                            .contains(where: { $0.name == state.profileName })
-                    )
->>>>>>> 9672da256c317a314acc76d6e4f6e82cc174d133
 
                 Form {
                     switch state.selectedTab {
@@ -113,7 +96,6 @@ extension OverrideProfilesConfig {
                             }
                         }
                     }
-<<<<<<< HEAD
                     .sheet(isPresented: $state.showOverrideEditSheet, onDismiss: {
                         Task {
                             await state.resetStateVariables()
@@ -189,14 +171,10 @@ extension OverrideProfilesConfig {
                 HStack {
                     Image(systemName: "hand.draw.fill")
                     Text("Swipe left to edit or delete an override preset. Hold, drag and drop to reorder a preset.")
-=======
-                    .tint(.red)
->>>>>>> 9672da256c317a314acc76d6e4f6e82cc174d133
                 }
             }
         }
 
-<<<<<<< HEAD
         private var currentActiveOverride: some View {
             Section {
                 HStack {
@@ -278,238 +256,6 @@ extension OverrideProfilesConfig {
                             Spacer()
                             Divider()
                             Text(
-=======
-        var editPresetPopover: some View {
-            Form {
-                nameSection(header: "Change name?")
-                settingsConfig(header: "Change settings")
-                Section {
-                    Button("Save") {
-                        guard let selectedPreset = selectedPreset else { return }
-                        state.updatePreset(selectedPreset)
-                        isEditSheetPresented = false
-                    }
-                    .disabled(!hasChanges())
-
-                    Button("Cancel") {
-                        isEditSheetPresented = false
-                    }
-                    .tint(.red)
-                }
-            }
-            .onAppear {
-                if let preset = selectedPreset {
-                    originalPreset = preset
-                    state.populateSettings(from: preset)
-                }
-            }
-            .onDisappear {
-                state.savedSettings()
-            }
-        }
-
-        @ViewBuilder private func nameSection(header: String) -> some View {
-            Section {
-                TextField("Profile override name", text: $state.profileName)
-            } header: {
-                Text(header)
-            }
-        }
-
-        @ViewBuilder private func settingsConfig(header: String) -> some View {
-            Section {
-                VStack {
-                    Spacer()
-                    Text("\(state.percentage.formatted(.number)) %")
-                        .foregroundColor(
-                            state
-                                .percentage >= 130 ? .red :
-                                (isEditing ? .orange : .blue)
-                        )
-                        .font(.largeTitle)
-                    Slider(
-                        value: $state.percentage,
-                        in: 10 ... 200,
-                        step: 1,
-                        onEditingChanged: { editing in
-                            isEditing = editing
-                        }
-                    ).accentColor(state.percentage >= 130 ? .red : .blue)
-                    Spacer()
-                    Toggle(isOn: $state._indefinite) {
-                        Text("Enable indefinitely")
-                    }
-                }
-                if !state._indefinite {
-                    HStack {
-                        Text("Duration")
-                        TextFieldWithToolBar(text: $state.duration, placeholder: "0", numberFormatter: formatter)
-                        Text("minutes").foregroundColor(.secondary)
-                    }
-                }
-
-                HStack {
-                    Toggle(isOn: $state.override_target) {
-                        Text("Override Profile Target")
-                    }
-                }
-                if state.override_target {
-                    HStack {
-                        Text("Target Glucose")
-                        TextFieldWithToolBar(text: $state.target, placeholder: "0", numberFormatter: glucoseFormatter)
-                        Text(state.units.rawValue).foregroundColor(.secondary)
-                    }
-                }
-                HStack {
-                    Toggle(isOn: $state.advancedSettings) {
-                        Text("More options")
-                    }
-                }
-                if state.advancedSettings {
-                    HStack {
-                        Toggle(isOn: $state.smbIsOff) {
-                            Text("Always Disable SMBs")
-                        }
-                    }
-                    if !state.smbIsOff {
-                        HStack {
-                            Toggle(isOn: $state.smbIsScheduledOff) {
-                                Text("Schedule when SMBs are Off")
-                            }
-                        }
-                        if state.smbIsScheduledOff {
-                            HStack {
-                                Text("First Hour SMBs are Off (24 hours)")
-                                TextFieldWithToolBar(text: $state.start, placeholder: "0", numberFormatter: formatter)
-                                Text("hour").foregroundColor(.secondary)
-                            }
-                            HStack {
-                                Text("First Hour SMBs are Resumed (24 hours)")
-                                TextFieldWithToolBar(text: $state.end, placeholder: "0", numberFormatter: formatter)
-                                Text("hour").foregroundColor(.secondary)
-                            }
-                        }
-                    }
-                    HStack {
-                        Toggle(isOn: $state.isfAndCr) {
-                            Text("Change ISF and CR")
-                        }
-                    }
-                    if !state.isfAndCr {
-                        HStack {
-                            Toggle(isOn: $state.isf) {
-                                Text("Change ISF")
-                            }
-                        }
-                        HStack {
-                            Toggle(isOn: $state.cr) {
-                                Text("Change CR")
-                            }
-                        }
-                    }
-                    HStack {
-                        Text("SMB Minutes")
-                        TextFieldWithToolBar(text: $state.smbMinutes, placeholder: "0", numberFormatter: formatter)
-                        Text("minutes").foregroundColor(.secondary)
-                    }
-                    HStack {
-                        Text("UAM SMB Minutes")
-                        TextFieldWithToolBar(text: $state.uamMinutes, placeholder: "0", numberFormatter: formatter)
-                        Text("minutes").foregroundColor(.secondary)
-                    }
-                }
-            } header: {
-                Text(header)
-            }
-        }
-
-        @ViewBuilder private func settingsSection(header: String) -> some View {
-            Section(header: Text(header)) {
-                let percentString = Text("Override: \(Int(state.percentage))%")
-                let targetString = state
-                    .target != 0 ? Text("Target: \(state.target.formatted()) \(state.units.rawValue)") : Text("")
-                let durationString = state
-                    ._indefinite ? Text("Duration: Indefinite") : Text("Duration: \(state.duration.formatted()) minutes")
-                let isfString = state.isf ? Text("Change ISF") : Text("")
-                let crString = state.cr ? Text("Change CR") : Text("")
-                let smbString = state.smbIsOff ? Text("Disable SMB") : Text("")
-                let scheduledSMBString = state.smbIsScheduledOff ? Text("SMB Schedule On") : Text("")
-                let maxMinutesSMBString = state
-                    .smbMinutes != 0 ? Text("\(state.smbMinutes.formatted()) SMB Basal minutes") : Text("")
-                let maxMinutesUAMString = state
-                    .uamMinutes != 0 ? Text("\(state.uamMinutes.formatted()) UAM Basal minutes") : Text("")
-
-                VStack(alignment: .leading, spacing: 2) {
-                    percentString
-                    if targetString != Text("") { targetString }
-                    if durationString != Text("") { durationString }
-                    if isfString != Text("") { isfString }
-                    if crString != Text("") { crString }
-                    if smbString != Text("") { smbString }
-                    if scheduledSMBString != Text("") { scheduledSMBString }
-                    if maxMinutesSMBString != Text("") { maxMinutesSMBString }
-                    if maxMinutesUAMString != Text("") { maxMinutesUAMString }
-                }
-                .foregroundColor(.secondary)
-                .font(.caption)
-            }
-        }
-
-        var body: some View {
-            Form {
-                if state.presets.isNotEmpty {
-                    Section {
-                        ForEach(fetchedProfiles.indices, id: \.self) { index in
-                            let preset = fetchedProfiles[index]
-                            profilesView(for: preset)
-                                .swipeActions {
-                                    Button(role: .none) {
-                                        indexToDelete = index
-                                        profileNameToDelete = preset.name ?? "this profile"
-                                        showDeleteAlert = true
-                                    } label: {
-                                        Label("Delete", systemImage: "trash")
-                                    }.tint(.red)
-
-                                    Button {
-                                        selectedPreset = preset
-                                        state.profileName = preset.name ?? ""
-                                        isEditSheetPresented = true
-                                    } label: {
-                                        Label("Edit", systemImage: "square.and.pencil")
-                                    }.tint(.blue)
-                                }
-                        }
-                    }
-                    header: { Text("Activate profile override") }
-                    footer: { VStack(alignment: .leading) {
-                        Text("Swipe left on a profile to edit or delete it.")
-                    }
-                    }
-                }
-                settingsConfig(header: "Insulin")
-                Section {
-                    HStack {
-                        Button("Start new Profile") {
-                            showAlert.toggle()
-                            alertSring = "\(state.percentage.formatted(.number)) %, " +
-                                (
-                                    state.duration > 0 || !state
-                                        ._indefinite ?
-                                        (
-                                            state
-                                                .duration
-                                                .formatted(.number.grouping(.never).rounded().precision(.fractionLength(0))) +
-                                                " min."
-                                        ) :
-                                        NSLocalizedString(" infinite duration.", comment: "")
-                                ) +
-                                (
-                                    (state.target == 0 || !state.override_target) ? "" :
-                                        (" Target: " + state.target.formatted() + " " + state.units.rawValue + ".")
-                                )
-                                +
->>>>>>> 9672da256c317a314acc76d6e4f6e82cc174d133
                                 (
                                     state
                                         .units == .mmolL ?
@@ -527,7 +273,6 @@ extension OverrideProfilesConfig {
                                 step: 1
                             ).accentColor(.green)
                         }
-<<<<<<< HEAD
                     }
                 }.listRowBackground(Color.chart)
             } else {
@@ -556,38 +301,10 @@ extension OverrideProfilesConfig {
                         Button { isPromptPresented = true }
                         label: { Text("Save as preset") }
                             .disabled(state.durationTT == 0)
-=======
-                        .disabled(unChanged())
-                        .buttonStyle(BorderlessButtonStyle())
-                        .font(.callout)
-                        .controlSize(.mini)
-                        .alert(
-                            "Start Profile",
-                            isPresented: $showAlert,
-                            actions: {
-                                Button("Cancel", role: .cancel) { state.isEnabled = false }
-                                Button("Start Profile", role: .destructive) {
-                                    if state._indefinite { state.duration = 0 }
-                                    state.isEnabled.toggle()
-                                    state.saveSettings()
-                                    dismiss()
-                                }
-                            },
-                            message: {
-                                Text(alertSring)
-                            }
-                        )
-                        Button {
-                            isSheetPresented = true
-                        }
-                        label: { Text("Save as Profile") }
->>>>>>> 9672da256c317a314acc76d6e4f6e82cc174d133
                             .tint(.orange)
                             .frame(maxWidth: .infinity, alignment: .trailing)
                             .buttonStyle(BorderlessButtonStyle())
-                            .font(.callout)
                             .controlSize(.mini)
-<<<<<<< HEAD
                     }
                 }.listRowBackground(Color.chart)
             }
@@ -618,19 +335,6 @@ extension OverrideProfilesConfig {
                     }
                 }.listRowBackground(Color.chart)
             }
-=======
-                            .disabled(unChanged())
-                    }
-                    .sheet(isPresented: $isSheetPresented) {
-                        presetPopover
-                    }
-                }
-                footer: {
-                    Text(
-                        "Your profile basal insulin will be adjusted with the override percentage and your profile ISF and CR will be inversly adjusted with the percentage."
-                    )
-                }
->>>>>>> 9672da256c317a314acc76d6e4f6e82cc174d133
 
             Section {
                 Button { state.cancel() }
@@ -665,7 +369,6 @@ extension OverrideProfilesConfig {
                 configureView()
                 state.hbt = isEnabledArray.first?.hbt ?? 160
             }
-<<<<<<< HEAD
         }
 
         private func presetView(for preset: TempTarget) -> some View {
@@ -787,54 +490,6 @@ extension OverrideProfilesConfig {
                                     Text(isfAndCRstring)
                                 }
                                 Spacer()
-=======
-            .onAppear(perform: configureView)
-            .onAppear { state.savedSettings() }
-            .navigationBarTitle("Profiles")
-            .navigationBarTitleDisplayMode(.automatic)
-            .navigationBarItems(leading: Button("Close", action: state.hideModal))
-            .sheet(isPresented: $isEditSheetPresented) {
-                editPresetPopover
-                    .padding()
-            }
-            .alert(isPresented: $showDeleteAlert) {
-                Alert(
-                    title: Text("Delete profile override"),
-                    message: Text("Are you sure you want to delete\n\(profileNameToDelete)?"),
-                    primaryButton: .destructive(Text("Delete")) {
-                        if let index = indexToDelete {
-                            removeProfile(at: IndexSet(integer: index))
-                        }
-                    },
-                    secondaryButton: .cancel()
-                )
-            }
-        }
-
-        @ViewBuilder private func profilesView(for preset: OverridePresets) -> some View {
-            let data = state.profileViewData(for: preset)
-
-            if data.name != "" {
-                HStack {
-                    VStack {
-                        HStack {
-                            Text(data.name)
-                            Spacer()
-                        }
-                        HStack(spacing: 5) {
-                            Text(data.percent.formatted(.percent.grouping(.never).rounded().precision(.fractionLength(0))))
-                            if data.targetString != "" {
-                                Text(data.targetString)
-                                Text(data.targetString != "" ? state.units.rawValue : "")
-                            }
-                            if data.durationString != "" { Text(data.durationString + (data.perpetual ? "" : "min")) }
-                            if data.smbString != "" { Text(data.smbString).foregroundColor(.secondary).font(.caption) }
-                            if data.scheduledSMBString != "" { Text(data.scheduledSMBString) }
-                            if preset.advancedSettings {
-                                Text(data.maxMinutesSMB == 0 ? "" : data.maxMinutesSMB.formatted() + " SMB")
-                                Text(data.maxMinutesUAM == 0 ? "" : data.maxMinutesUAM.formatted() + " UAM")
-                                Text(data.isfAndCRString)
->>>>>>> 9672da256c317a314acc76d6e4f6e82cc174d133
                             }
                             .padding(.top, 2)
                             .foregroundColor(.secondary)
@@ -849,7 +504,6 @@ extension OverrideProfilesConfig {
                                 showCheckmark.toggle()
                                 selectedPresetID = preset.id
 
-<<<<<<< HEAD
                                 // deactivate showCheckmark after 3 seconds
                                 DispatchQueue.main.asyncAfter(deadline: .now() + 3) {
                                     showCheckmark = false
@@ -869,60 +523,6 @@ extension OverrideProfilesConfig {
                             .foregroundStyle(.secondary)
                     }
                 })
-=======
-        private func unChanged() -> Bool {
-            let defaultProfile = state.percentage == 100 && !state.override_target && !state.advancedSettings
-            let noDurationSpecified = !state._indefinite && state.duration == 0
-            let targetZeroWithOverride = state.override_target && state.target == 0
-            let allSettingsDefault = state.percentage == 100 && !state.override_target && !state.smbIsOff && !state
-                .smbIsScheduledOff && state.smbMinutes == state.defaultSmbMinutes && state.uamMinutes == state.defaultUamMinutes
-
-            return defaultProfile || noDurationSpecified || targetZeroWithOverride || allSettingsDefault
-        }
-
-        private func hasChanges() -> Bool {
-            guard let originalPreset = originalPreset else { return false }
-
-            let targetInStateUnits: Decimal
-            let targetInPresetUnits: Decimal
-
-            if state.units == .mmolL {
-                targetInStateUnits = state.target
-                targetInPresetUnits = (originalPreset.target as NSDecimalNumber?)?.decimalValue.asMmolL ?? 0
-            } else {
-                targetInStateUnits = state.target
-                targetInPresetUnits = (originalPreset.target as NSDecimalNumber?)?.decimalValue ?? 0
-            }
-
-            let hasChanges = state.profileName != originalPreset.name ||
-                state.percentage != originalPreset.percentage ||
-                state.duration != (originalPreset.duration ?? 0) as Decimal ||
-                state._indefinite != originalPreset.indefinite ||
-                state.override_target != (originalPreset.target != nil) ||
-                (state.override_target && targetInStateUnits != targetInPresetUnits) ||
-                state.smbIsOff != originalPreset.smbIsOff ||
-                state.smbIsScheduledOff != originalPreset.smbIsScheduledOff ||
-                state.isf != originalPreset.isf ||
-                state.cr != originalPreset.cr ||
-                state.smbMinutes != (originalPreset.smbMinutes ?? 0) as Decimal ||
-                state.uamMinutes != (originalPreset.uamMinutes ?? 0) as Decimal ||
-                state.isfAndCr != originalPreset.isfAndCr ||
-                state.start != (originalPreset.start ?? 0) as Decimal ||
-                state.end != (originalPreset.end ?? 0) as Decimal
-
-            return hasChanges
-        }
-
-        private func removeProfile(at offsets: IndexSet) {
-            for index in offsets {
-                let language = fetchedProfiles[index]
-                moc.delete(language)
-            }
-            do {
-                try moc.save()
-            } catch {
-                // To do: add error
->>>>>>> 9672da256c317a314acc76d6e4f6e82cc174d133
             }
         }
     }