| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- import SwiftUI
- import Swinject
- extension PumpConfig {
- struct RootView: BaseView {
- let resolver: Resolver
- @StateObject var state = StateModel()
- @Environment(\.colorScheme) var colorScheme
- var color: LinearGradient {
- colorScheme == .dark ? LinearGradient(
- gradient: Gradient(colors: [
- Color("Background_1"),
- Color("Background_1"),
- Color("Background_2")
- // Color("Background_1")
- ]),
- startPoint: .top,
- endPoint: .bottom
- )
- :
- LinearGradient(
- gradient: Gradient(colors: [Color.gray.opacity(0.1)]),
- startPoint: .top,
- endPoint: .bottom
- )
- }
- var body: some View {
- NavigationView {
- Form {
- Section(header: Text("Model")) {
- if let pumpState = state.pumpState {
- Button {
- state.setupPump = true
- } label: {
- HStack {
- Image(uiImage: pumpState.image ?? UIImage()).padding()
- Text(pumpState.name)
- }
- }
- if state.alertNotAck {
- Spacer()
- Button("Acknowledge all alerts") { state.ack() }
- }
- } else {
- Button("Add Medtronic") { state.addPump(.minimed) }
- Button("Add Omnipod") { state.addPump(.omnipod) }
- Button("Add Omnipod Dash") { state.addPump(.omnipodBLE) }
- Button("Add Simulator") { state.addPump(.simulator) }
- }
- }
- }
- .scrollContentBackground(.hidden).background(color)
- .onAppear(perform: configureView)
- .navigationTitle("Pump config")
- .navigationBarTitleDisplayMode(.automatic)
- .sheet(isPresented: $state.setupPump) {
- if let pumpManager = state.provider.apsManager.pumpManager {
- PumpSettingsView(
- pumpManager: pumpManager,
- bluetoothManager: state.provider.apsManager.bluetoothManager!,
- completionDelegate: state,
- setupDelegate: state
- )
- } else {
- PumpSetupView(
- pumpType: state.setupPumpType,
- pumpInitialSettings: state.initialSettings,
- bluetoothManager: state.provider.apsManager.bluetoothManager!,
- completionDelegate: state,
- setupDelegate: state
- )
- }
- }
- }
- }
- }
- }
|