HKQuantityInputView.swift 1003 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. //
  2. // HKQuantityInputView.swift
  3. // LoopFollow
  4. //
  5. // Created by Jonas Björkert on 2024-09-17.
  6. // Copyright © 2024 Jon Fawcett. All rights reserved.
  7. //
  8. import Foundation
  9. import SwiftUI
  10. import HealthKit
  11. struct HKQuantityInputView: View {
  12. var label: String
  13. @Binding var quantity: HKQuantity
  14. var unit: HKUnit
  15. var maxLength: Int
  16. var minValue: HKQuantity
  17. var maxValue: HKQuantity
  18. @FocusState.Binding var isFocused: Bool
  19. var onValidationError: (String) -> Void
  20. var body: some View {
  21. HStack {
  22. Text(label)
  23. Spacer()
  24. TextFieldWithToolBar(
  25. quantity: $quantity,
  26. maxLength: maxLength,
  27. unit: unit,
  28. minValue: minValue,
  29. maxValue: maxValue,
  30. onValidationError: onValidationError
  31. )
  32. .focused($isFocused)
  33. Text(unit.localizedShortUnitString)
  34. .foregroundColor(.secondary)
  35. }
  36. }
  37. }