import BusX import CordX import SwiftUI extension MeetupId { public struct V: View { @StateObject var fmt = MeetupId.Formatter(K.textUI, K.textApp) @StateObject var isJA = Cord.Receive(K.isJoinAvailable, false) @StateObject var join = Cord.Button(K.join) @StateObject var txtF = Cord.TextField(K.textApp, K.textUI) let joinA = Bus.Processor(shouldEnableJoin, K.M, K.isJoinAvailable) public init() { } public var body: some View { VStack { HStack { Text("Check text field:") Text("'\(txtF.value)'") .fontWeight(.bold) } TextField("Binding-3", value: $txtF.value, formatter: Cord.TextFieldValueOwner()) .padding(8) .border(Color.blue, width: 2) Button(action: join.press.send) { Text("Join") .padding(8) .border( isJA.value ? Color.green : Color.gray, width: isJA.value ? 4 : 1 ) } .disabled(!isJA.value) } .frame(width: 320) .padding() } } }