| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- // LoopFollow
- // DexcomSettingsViewModel.swift
- import Combine
- import Foundation
- class DexcomSettingsViewModel: ObservableObject {
- /// Whether this is a fresh setup (credentials were empty when view appeared)
- private(set) var isFreshSetup: Bool = false
- @Published var userName: String = Storage.shared.shareUserName.value {
- willSet {
- if newValue != userName {
- Storage.shared.shareUserName.value = newValue
- }
- }
- }
- @Published var password: String = Storage.shared.sharePassword.value {
- willSet {
- if newValue != password {
- Storage.shared.sharePassword.value = newValue
- }
- }
- }
- @Published var server: String = Storage.shared.shareServer.value {
- willSet {
- if newValue != server {
- Storage.shared.shareServer.value = newValue
- }
- }
- }
- /// Whether credentials are filled in
- var hasCredentials: Bool {
- !userName.isEmpty && !password.isEmpty
- }
- init() {
- isFreshSetup = Storage.shared.shareUserName.value.isEmpty
- }
- }
|