diff --git a/Meshtastic/Extensions/CoreData/NodeInfoEntityExtension.swift b/Meshtastic/Extensions/CoreData/NodeInfoEntityExtension.swift index 00175801..6c9254fa 100644 --- a/Meshtastic/Extensions/CoreData/NodeInfoEntityExtension.swift +++ b/Meshtastic/Extensions/CoreData/NodeInfoEntityExtension.swift @@ -31,6 +31,10 @@ extension NodeInfoEntity { return traceRoutes?.count ?? 0 > 0 } + var isStoreForwardRouter: Bool { + return storeForwardConfig?.isRouter ?? false + } + var isOnline: Bool { let fifteenMinutesAgo = Calendar.current.date(byAdding: .minute, value: -15, to: Date()) if lastHeard?.compare(fifteenMinutesAgo!) == .orderedDescending { diff --git a/Meshtastic/Views/Nodes/Helpers/NodeListItem.swift b/Meshtastic/Views/Nodes/Helpers/NodeListItem.swift index f4d87e08..b6d1a673 100644 --- a/Meshtastic/Views/Nodes/Helpers/NodeListItem.swift +++ b/Meshtastic/Views/Nodes/Helpers/NodeListItem.swift @@ -60,6 +60,16 @@ struct NodeListItem: View { Text("Role: \(role?.name ?? "unknown".localized)") .font(.callout) } + if node.isStoreForwardRouter { + HStack { + Image(systemName: "envelope.arrow.triangle.branch") + .font(.callout) + .symbolRenderingMode(.hierarchical) + Text("storeforward".localized) + .font(.callout) + } + } + if node.positions?.count ?? 0 > 0 && connectedNode != node.num { HStack { let lastPostion = node.positions!.reversed()[0] as! PositionEntity