d
This commit is contained in:
@@ -3,5 +3,6 @@ public extension Mic {
|
|||||||
public static let activityDate = "Mic.activityDate"
|
public static let activityDate = "Mic.activityDate"
|
||||||
public static let isActive = "Mic.isActive"
|
public static let isActive = "Mic.isActive"
|
||||||
public static let MI = "Mic.Model.Item"
|
public static let MI = "Mic.Model.Item"
|
||||||
|
public static let timeout = "Mic.timeout"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,4 +10,17 @@ public extension MicItem {
|
|||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static func shouldResetTimeout(_ c: MicItemContext) -> (delay: Int, value: Bool)? {
|
||||||
|
if
|
||||||
|
c.activityDate.isRecent,
|
||||||
|
let end = c.activityDate.value
|
||||||
|
{
|
||||||
|
let now = Date()
|
||||||
|
let timeout = now < end
|
||||||
|
return (timeout, true)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,11 +5,12 @@ extension MicItem {
|
|||||||
public struct V: View {
|
public struct V: View {
|
||||||
var id: String?
|
var id: String?
|
||||||
@StateObject var isActive = BusUI.Value(K.isActive, false)
|
@StateObject var isActive = BusUI.Value(K.isActive, false)
|
||||||
let processors: [Any]
|
let proc: [Any]
|
||||||
|
|
||||||
public init(_ id: String? = nil) {
|
public init(_ id: String? = nil) {
|
||||||
self.id = id
|
self.id = id
|
||||||
self.processors = [
|
self.proc = [
|
||||||
|
Bus.DelayV(shouldResetTimeout, K.MI, K.timeout)
|
||||||
Bus.Sync(shouldResetActivity, K.MI, K.isActive),
|
Bus.Sync(shouldResetActivity, K.MI, K.isActive),
|
||||||
MicItem.Controller()
|
MicItem.Controller()
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user