Михаил Капелько 10 months ago
parent
commit
cca1543856
3 changed files with 17 additions and 2 deletions
  1. +1
    -0
      Modules/MicX/Mic/src/Mic.K.swift
  2. +13
    -0
      Modules/MicX/MicItem/src/MicItem.Shoulds.swift
  3. +3
    -2
      Modules/MicX/MicItem/src/MicItem.V.swift

+ 1
- 0
Modules/MicX/Mic/src/Mic.K.swift View File

@@ -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"
} }
} }

+ 13
- 0
Modules/MicX/MicItem/src/MicItem.Shoulds.swift View File

@@ -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
}
} }

+ 3
- 2
Modules/MicX/MicItem/src/MicItem.V.swift View File

@@ -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()
] ]


Loading…
Cancel
Save