diff --git a/Modules/MeetupIdX/src/MeetupId.TV.swift b/Modules/MeetupIdX/src/MeetupId.TV.swift index 1ba5290..002d91e 100644 --- a/Modules/MeetupIdX/src/MeetupId.TV.swift +++ b/Modules/MeetupIdX/src/MeetupId.TV.swift @@ -5,7 +5,6 @@ extension MeetupId { public struct TV: View { let id: String @StateObject var textField = BusUI.ManyTextField(K.testTextApp, K.testTextUI) - //@StateObject var vm = VM() public init(_ id: String) { self.id = id diff --git a/Modules/MeetupIdX/src/MeetupId.V.swift b/Modules/MeetupIdX/src/MeetupId.V.swift index 0c76631..5140933 100644 --- a/Modules/MeetupIdX/src/MeetupId.V.swift +++ b/Modules/MeetupIdX/src/MeetupId.V.swift @@ -3,18 +3,20 @@ import SwiftUI extension MeetupId { public struct V: View { - @StateObject var isJoinAvailable = BusUI.Value(K.isJoinAvailable, false) - @StateObject var isLoading = BusUI.Value(K.isLoading, false) - @StateObject var join = BusUI.Button(K.join) - @StateObject var textField = BusUI.TextField(K.textApp, K.textUI) + let id: String + @StateObject var isJoinAvailable = BusUI.ManyValue(K.isJoinAvailable, false) + @StateObject var isLoading = BusUI.ManyValue(K.isLoading, false) + @StateObject var join = BusUI.ManyButton(K.join) + @StateObject var textField = BusUI.ManyTextField(K.textApp, K.textUI) - public init() { + public init(_ id: String) { + self.id = id } public var body: some View { VStack(spacing: 8) { HStack { - TextField("Binding-3", value: $textField.v, formatter: BusUI.TextFieldSource()) + ManyTextField("Binding-3", value: $textField.v, formatter: BusUI.TextFieldSource()) .disabled(isLoading.v) .padding(8) .border( @@ -27,7 +29,7 @@ extension MeetupId { } } - Button(action: join.v.send) { + ManyButton(action: join.v.send) { Text("Join") .padding(8) .border( @@ -40,6 +42,18 @@ extension MeetupId { .frame(width: 320) .padding() .animation(.easeInOut(duration: 0.3)) + .onAppear { + isJoinAvailable.id = id + isLoading.id = id + join.id = id + textField.id = id + } + .onChange(of: id) { newValue in + isJoinAvailable.id = newValue + isLoading.id = newValue + join.id = newValue + textField.id = newValue + } } } }