feat: Adds text labeled content and style.
This commit is contained in:
@@ -19,7 +19,7 @@ public struct EquipmentMeasurementForm {
|
||||
@ObservableState
|
||||
public struct State: Equatable, Sendable {
|
||||
@Presents public var destination: Destination.State?
|
||||
@Shared public var sharedSettings: SharedPressureEstimationSettings
|
||||
@Shared public var sharedSettings: SharedPressureEstimationState
|
||||
public var allowEquipmentTypeSelection: Bool
|
||||
public var equipmentType: EquipmentMeasurement.EquipmentType
|
||||
public var focusedField: Field?
|
||||
@@ -28,7 +28,7 @@ public struct EquipmentMeasurementForm {
|
||||
public init(
|
||||
allowEquipmentTypeSelection: Bool = true,
|
||||
destination: Destination.State? = nil,
|
||||
sharedSettings: Shared<SharedPressureEstimationSettings>,
|
||||
sharedSettings: Shared<SharedPressureEstimationState>,
|
||||
equipmentType: EquipmentMeasurement.EquipmentType = .airHandler,
|
||||
focusedField: Field? = nil,
|
||||
measurements: Measurements = .init()
|
||||
@@ -224,8 +224,8 @@ public struct EquipmentMeasurementForm {
|
||||
}
|
||||
}
|
||||
|
||||
extension Store where State == EquipmentMeasurementForm.State {
|
||||
|
||||
fileprivate extension Store where State == EquipmentMeasurementForm.State {
|
||||
|
||||
func prompt(
|
||||
field: EquipmentMeasurementForm.State.Field
|
||||
) -> String {
|
||||
@@ -258,7 +258,7 @@ extension Store where State == EquipmentMeasurementForm.State {
|
||||
case .supplyPlenumPressure:
|
||||
return "Supply"
|
||||
case .airflow:
|
||||
return "Airflow"
|
||||
return "CFM"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -293,12 +293,7 @@ public struct EquipmentMeasurementFormView: View {
|
||||
}
|
||||
Section {
|
||||
Grid(alignment: .leading, horizontalSpacing: 40) {
|
||||
ForEach(store.pressureFields) { field in
|
||||
GridRow {
|
||||
TextLabel(store.label(field: field))
|
||||
textField(for: field)
|
||||
}
|
||||
}
|
||||
ForEach(store.pressureFields, content: gridRow(for:))
|
||||
}
|
||||
} header: {
|
||||
HStack {
|
||||
@@ -310,10 +305,7 @@ public struct EquipmentMeasurementFormView: View {
|
||||
|
||||
Section {
|
||||
Grid(alignment: .leading, horizontalSpacing: 60) {
|
||||
GridRow {
|
||||
TextLabel(store.label(field: .airflow))
|
||||
textField(for: .airflow)
|
||||
}
|
||||
gridRow(for: .airflow)
|
||||
}
|
||||
} footer: {
|
||||
HStack {
|
||||
@@ -325,6 +317,7 @@ public struct EquipmentMeasurementFormView: View {
|
||||
}
|
||||
}
|
||||
.bind($focusedField, to: $store.focusedField)
|
||||
.labeledContentStyle(.gridRow)
|
||||
.onAppear { send(.onAppear) }
|
||||
.textLabelStyle(.boldSecondary)
|
||||
.textFieldStyle(.roundedBorder)
|
||||
@@ -349,7 +342,13 @@ public struct EquipmentMeasurementFormView: View {
|
||||
FlaggedMeasurementListView(store: store)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private func gridRow(for field: EquipmentMeasurementForm.State.Field) -> some View {
|
||||
TextLabeledContent(store.label(field: field)) {
|
||||
textField(for: field)
|
||||
}
|
||||
}
|
||||
|
||||
private func textField(
|
||||
for field: EquipmentMeasurementForm.State.Field
|
||||
) -> some View {
|
||||
@@ -424,7 +423,7 @@ fileprivate extension InfoViewFeature.State {
|
||||
NavigationStack {
|
||||
EquipmentMeasurementFormView(
|
||||
store: Store(initialState: EquipmentMeasurementForm.State(
|
||||
sharedSettings: Shared(SharedPressureEstimationSettings()))
|
||||
sharedSettings: Shared(SharedPressureEstimationState()))
|
||||
) {
|
||||
EquipmentMeasurementForm()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user