HKQuantityInputView.swift 972 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. // LoopFollow
  2. // HKQuantityInputView.swift
  3. import Foundation
  4. import HealthKit
  5. import SwiftUI
  6. struct HKQuantityInputView: View {
  7. var label: String
  8. @Binding var quantity: HKQuantity
  9. var unit: HKUnit
  10. var maxLength: Int
  11. var minValue: HKQuantity
  12. var maxValue: HKQuantity
  13. @FocusState.Binding var isFocused: Bool
  14. var onValidationError: (String) -> Void
  15. @ObservedObject private var insulinPrecision = InsulinPrecisionManager.shared
  16. var body: some View {
  17. HStack {
  18. Text(label)
  19. Spacer()
  20. TextFieldWithToolBar(
  21. quantity: $quantity,
  22. maxLength: maxLength,
  23. unit: unit,
  24. minValue: minValue,
  25. maxValue: maxValue,
  26. onValidationError: onValidationError
  27. )
  28. .focused($isFocused)
  29. Text(unit.localizedShortUnitString)
  30. .foregroundColor(.secondary)
  31. }
  32. }
  33. }