BolusViewModel.swift 666 B

12345678910111213141516171819202122
  1. import SwiftUI
  2. extension Bolus {
  3. class ViewModel<Provider>: BaseViewModel<Provider>, ObservableObject where Provider: BolusProvider {
  4. @Injected() var unlockmanager: UnlockManager!
  5. @Injected() var apsManager: APSManager!
  6. @Published var amount: Decimal = 0
  7. override func subscribe() {}
  8. func add() {
  9. guard amount > 0 else { return }
  10. unlockmanager.unlock()
  11. .sink { _ in } receiveValue: {
  12. self.apsManager.enactBolus(amount: Double(self.amount))
  13. self.showModal(for: nil)
  14. }
  15. .store(in: &lifetime)
  16. }
  17. }
  18. }