| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216 |
- //Commenting out Autotune from Settings Menu until full removal is complete
- //import SwiftUI
- //import Swinject
- //
- //extension AutotuneConfig {
- //struct RootView: BaseView {
- //let resolver: Resolver
- //@StateObject var state = StateModel()
- //
- //@State private var shouldDisplayHint: Bool = false
- //@State var hintDetent = PresentationDetent.large
- //@State var selectedVerboseHint: AnyView?
- //@State var hintLabel: String?
- //@State private var decimalPlaceholder: Decimal = 0.0
- //@State private var booleanPlaceholder: Bool = false
- //
- //@State var replaceAlert = false
- //
- //@Environment(\.colorScheme) var colorScheme
- //var color: LinearGradient {
- //colorScheme == .dark ? LinearGradient(
- //gradient: Gradient(colors: [
- //Color.bgDarkBlue,
- //Color.bgDarkerDarkBlue
- //]),
- //startPoint: .top,
- //endPoint: .bottom
- //)
- //:
- //LinearGradient(
- //gradient: Gradient(colors: [Color.gray.opacity(0.1)]),
- //startPoint: .top,
- //endPoint: .bottom
- //)
- //}
- //private var isfFormatter: NumberFormatter {
- //let formatter = NumberFormatter()
- //formatter.numberStyle = .decimal
- //formatter.maximumFractionDigits = 2
- //return formatter
- //}
- //private var rateFormatter: NumberFormatter {
- //let formatter = NumberFormatter()
- //formatter.numberStyle = .decimal
- //formatter.maximumFractionDigits = 2
- //return formatter
- //}
- //private var dateFormatter: DateFormatter {
- //let formatter = DateFormatter()
- //formatter.dateStyle = .medium
- //formatter.timeStyle = .short
- //return formatter
- //}
- //var body: some View {
- //Form {
- //SettingInputSection(
- //decimalValue: $decimalPlaceholder,
- //booleanValue: $state.useAutotune,
- //shouldDisplayHint: $shouldDisplayHint,
- //selectedVerboseHint: Binding(
- //get: { selectedVerboseHint },
- //set: {
- //selectedVerboseHint = $0.map { AnyView($0) }
- //hintLabel = "Use Autotune"
- //}
- //),
- //units: state.units,
- //type: .boolean,
- //label: "Use Autotune",
- //miniHint: "It is not advised to use Autotune with Trio",
- //verboseHint: VStack(spacing: 10) {
- //Text("Default: OFF").bold()
- //VStack(alignment: .leading, spacing: 10) {
- //Text("It is not advised to use Autotune with Trio").bold()
- //Text("Autotune is not designed to work with Trio. It is best to keep Autotune off and do not use it.")
- //}
- //},
- //headerText: "Data-driven Adjustments"
- //)
- //
- //if state.useAutotune {
- //SettingInputSection(
- //decimalValue: $decimalPlaceholder,
- //booleanValue: $state.onlyAutotuneBasals,
- //shouldDisplayHint: $shouldDisplayHint,
- //selectedVerboseHint: Binding(
- //get: { selectedVerboseHint },
- //set: {
- //selectedVerboseHint = $0.map { AnyView($0) }
- //hintLabel = "Only Autotune Basal Insulin"
- //}
- //),
- //units: state.units,
- //type: .boolean,
- //label: "Only Autotune Basal Insulin",
- //miniHint: "Restricts Autotune adjustments to only basal settings",
- //verboseHint: Text("Restricts Autotune adjustments to only basal settings.")
- //)
- //}
- //Section(
- //header: HStack {
- //Text("Last run")
- //Spacer()
- //Text(dateFormatter.string(from: state.publishedDate))
- //},
- //content: {
- //Button {
- //state.run()
- //} label: {
- //Text("Run now")
- //}
- //.frame(maxWidth: .infinity, alignment: .center)
- //.listRowBackground(Color(.systemBlue))
- //.tint(.white)
- //}
- //)
- //
- //if let autotune = state.autotune {
- //if !state.onlyAutotuneBasals {
- //Section {
- //HStack {
- //Text("Carb ratio")
- //Spacer()
- //Text(isfFormatter.string(from: autotune.carbRatio as NSNumber) ?? "0")
- //Text("g/U").foregroundColor(.secondary)
- //}
- //HStack {
- //Text("Sensitivity")
- //Spacer()
- //if state.units == .mmolL {
- //Text(isfFormatter.string(from: autotune.sensitivity.asMmolL as NSNumber) ?? "0")
- //} else {
- //Text(isfFormatter.string(from: autotune.sensitivity as NSNumber) ?? "0")
- //}
- //Text(state.units.rawValue + "/U").foregroundColor(.secondary)
- //}
- //}
- //.listRowBackground(Color.chart)
- //}
- //
- //Section(header: Text("Basal profile")) {
- //ForEach(0 ..< autotune.basalProfile.count, id: \.self) { index in
- //HStack {
- //Text(autotune.basalProfile[index].start).foregroundColor(.secondary)
- //Spacer()
- //Text(rateFormatter.string(from: autotune.basalProfile[index].rate as NSNumber) ?? "0")
- //Text("U/hr").foregroundColor(.secondary)
- //}
- //}
- //HStack {
- //Text("Total")
- //.bold()
- //.foregroundColor(.primary)
- //Spacer()
- //Text(rateFormatter.string(from: autotune.basalProfile.reduce(0) { $0 + $1.rate } as NSNumber) ?? "0")
- //.foregroundColor(.primary) +
- //Text(" U/day")
- //.foregroundColor(.secondary)
- //}
- //}
- //.listRowBackground(Color.chart)
- //Section {
- //Button {
- //Task {
- //await state.delete()
- //}
- //} label: {
- //Text("Delete Autotune Data")
- //}
- //.frame(maxWidth: .infinity, alignment: .center)
- //.listRowBackground(Color(.loopRed))
- //.tint(.white)
- }
- // Section {
- // Button {
- // replaceAlert = true
- // } label: {
- // Text("Save as Normal Basal Rates")
- // }
- // .frame(maxWidth: .infinity, alignment: .center)
- // .listRowBackground(Color(.systemGray4))
- // .tint(.white)
- // }
- //}
- //}
- //.sheet(isPresented: $shouldDisplayHint) {
- //SettingInputHintView(
- //hintDetent: $hintDetent,
- //shouldDisplayHint: $shouldDisplayHint,
- //hintLabel: hintLabel ?? "",
- //hintText: selectedVerboseHint ?? AnyView(EmptyView()),
- //sheetTitle: "Help"
- //)
- //}
- //.scrollContentBackground(.hidden).background(color)
- //.onAppear(perform: configureView)
- //.navigationTitle("Autotune")
- //.navigationBarTitleDisplayMode(.automatic)
- //.alert(Text("Are you sure?"), isPresented: $replaceAlert) {
- //Button("Yes", action: {
- //state.replace()
- //replaceAlert.toggle()
- //})
- //Button("No", action: { replaceAlert.toggle() })
- //}
- //}
- //}
- //}
|