HKQuantityInputView.swift 890 B

12345678910111213141516171819202122232425262728293031323334353637
  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. var body: some View {
  16. HStack {
  17. Text(label)
  18. Spacer()
  19. TextFieldWithToolBar(
  20. quantity: $quantity,
  21. maxLength: maxLength,
  22. unit: unit,
  23. minValue: minValue,
  24. maxValue: maxValue,
  25. onValidationError: onValidationError
  26. )
  27. .focused($isFocused)
  28. Text(unit.localizedShortUnitString)
  29. .foregroundColor(.secondary)
  30. }
  31. }
  32. }