// LoopFollow // Observable.swift import Foundation import HealthKit import SwiftUI /* Observable in memory storage */ class Observable { static let shared = Observable() var tempTarget = ObservableValue(default: nil) var override = ObservableValue(default: nil) var minAgoText = ObservableValue(default: "?? min ago") var bgText = ObservableValue(default: "BG") var bg = ObservableValue(default: nil) var bgStale = ObservableValue(default: true) var bgTextColor = ObservableValue(default: .primary) var directionText = ObservableValue(default: "-") var deltaText = ObservableValue(default: "+0") var iobText = ObservableValue(default: "--") var serverText = ObservableValue(default: "Server") var loopStatusText = ObservableValue(default: "") var loopStatusColor = ObservableValue(default: .primary) var predictionText = ObservableValue(default: "") var predictionColor = ObservableValue(default: .purple) var currentAlarm = ObservableValue(default: nil) var alarmSoundPlaying = ObservableValue(default: false) var debug = ObservableValue(default: false) var chartSettingsChanged = ObservableValue(default: false) var alertLastLoopTime = ObservableValue(default: nil) var previousAlertLastLoopTime = ObservableValue(default: nil) var deviceRecBolus = ObservableValue(default: nil) var deviceBatteryLevel = ObservableValue(default: nil) var pumpBatteryLevel = ObservableValue(default: nil) var enactedOrSuggested = ObservableValue(default: nil) var lastSentTOTP = ObservableValue(default: nil) var loopFollowDeviceToken = ObservableValue(default: "") var isNotLooping = ObservableValue(default: false) /// Selected tab index used by SwiftUI TabView — set from MainViewController to switch tabs var selectedTabIndex = ObservableValue(default: 0) private init() {} }