This commit is contained in:
Михаил Капелько
2024-01-02 10:28:05 +03:00
parent ad7f183325
commit f983eb9f57
3 changed files with 24 additions and 12 deletions

View File

@@ -1,11 +1,6 @@
import Foundation
public extension MeetupId {
static func finishLoading(_ isLoading: Bool) -> Bool? {
guard isLoading else { return nil }
return true
}
static func formatId(_ s: String) -> String? {
let digits = s.components(separatedBy: NSCharacterSet.decimalDigits.inverted).reduce("") { $0 + $1 }
var r = ""

View File

@@ -25,6 +25,16 @@ public extension MeetupId {
return nil
}
static func shouldFinishLoading(_ c: MeetupIdContext) -> Bool? {
guard
c.isLoading.isRecent,
c.isLoading.value
else {
return nil
}
return true
}
static func shouldResetLoading(_ c: MeetupIdContext) -> Bool? {
if
c.join,
@@ -42,4 +52,9 @@ public extension MeetupId {
return nil
}
static func shouldResetText(_ c: MeetupIdContext) -> String? {
guard c.textUI.isRecent else { return nil }
return formatId(c.textUI.value)
}
}

View File

@@ -7,14 +7,16 @@ extension MeetupId {
@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 processors: [Any] = [
Bus.Debounce(formatId, 0.2, K.textUI, K.textApp),
Bus.Delay(finishLoading, 5, K.isLoading, K.finishLoading),
Bus.Sync(shouldEnableJoin, K.M, K.isJoinAvailable),
Bus.Sync(shouldResetLoading, K.M, K.isLoading)
]
let processors: [Any]
public init() { }
public init() {
processors = [
Bus.Debounce(shouldResetText, 0.2, K.M, K.textApp),
Bus.Delay(shouldFinishLoading, 5, K.M, K.finishLoading),
Bus.Sync(shouldEnableJoin, K.M, K.isJoinAvailable),
Bus.Sync(shouldResetLoading, K.M, K.isLoading)
]
}
public var body: some View {
VStack(spacing: 8) {