| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- import LibreTransmitter
- import SwiftUI
- import Swinject
- extension LibreConfig {
- struct RootView: BaseView {
- let resolver: Resolver
- @StateObject var state = StateModel()
- @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
- )
- }
- var body: some View {
- Group {
- if state.configured, let manager = state.source.manager {
- LibreTransmitterSettingsView(
- manager: manager,
- glucoseUnit: state.unit
- ) {
- self.state.source.manager = nil
- self.state.configured = false
- } completion: {
- state.hideModal()
- }
- } else {
- LibreTransmitterSetupView { manager in
- self.state.source.manager = manager
- self.state.configured = true
- } completion: {
- state.hideModal()
- }
- }
- }
- .scrollContentBackground(.hidden).background(color)
- .navigationBarTitle("")
- .navigationBarHidden(true)
- .onAppear(perform: configureView)
- }
- }
- }
|