mirror of
https://github.com/meshtastic/Meshtastic-Apple.git
synced 2026-04-20 22:13:56 +00:00
pass detail information in deep links
This commit is contained in:
parent
3dbe92c599
commit
f02926b43b
3 changed files with 11 additions and 11 deletions
|
|
@ -188,7 +188,7 @@ func upsertNodeInfoPacket (packet: MeshPacket, context: NSManagedObjectContext)
|
|||
subtitle: "\(newUser.longName ?? "unknown".localized)",
|
||||
content: "New Node has been discovered",
|
||||
target: "nodes",
|
||||
path: "meshtastic:///nodes?nodenum=\(newUser.num)"
|
||||
path: "meshtastic:///nodes?nodenum=\(newUser.num)&detail=nodeMap"
|
||||
)
|
||||
]
|
||||
manager.schedule()
|
||||
|
|
@ -235,7 +235,7 @@ func upsertNodeInfoPacket (packet: MeshPacket, context: NSManagedObjectContext)
|
|||
fetchedNode[0].channel = Int32(packet.channel)
|
||||
}
|
||||
|
||||
if let nodeInfoMessage = try? NodeInfo(serializedData: packet.decoded.payload) {
|
||||
if let nodeInfoMessage = try? NodeInfo(serializedBytes: packet.decoded.payload) {
|
||||
|
||||
fetchedNode[0].hopsAway = Int32(nodeInfoMessage.hopsAway)
|
||||
fetchedNode[0].favorite = nodeInfoMessage.isFavorite
|
||||
|
|
|
|||
|
|
@ -79,14 +79,14 @@ class Router: ObservableObject {
|
|||
}
|
||||
|
||||
func routeNodes(_ components: URLComponents) {
|
||||
let nodeId = components.queryItems?
|
||||
.first(where: { $0.name == "nodenum" })?
|
||||
.value
|
||||
.flatMap(Int64.init)
|
||||
let detail = components.queryItems?
|
||||
.first(where: { $0.name == "detail" })?
|
||||
.value
|
||||
route(to: .nodes(NodeListNavigationState(selectedNodeNum: nodeId, details: detail != nil ? NodeDetails(rawValue: detail!) : nil)))
|
||||
let nodeId = components.queryItems?
|
||||
.first(where: { $0.name == "nodenum" })?
|
||||
.value
|
||||
.flatMap(Int64.init)
|
||||
let detail = components.queryItems?
|
||||
.first(where: { $0.name == "detail" })?
|
||||
.value
|
||||
route(to: .nodes(NodeListNavigationState(selectedNodeNum: nodeId, details: detail != nil ? NodeDetails(rawValue: detail!) : nil)))
|
||||
}
|
||||
|
||||
private func routeMap(_ components: URLComponents) {
|
||||
|
|
|
|||
|
|
@ -251,7 +251,7 @@ struct NodeList: View {
|
|||
await searchNodeList()
|
||||
}
|
||||
}
|
||||
.onChange(of: router.navigationState) { _ in
|
||||
.onChange(of: router.navigationState) { state in
|
||||
// Handle deep link routing
|
||||
if case .nodes(let selected) = router.navigationState {
|
||||
self.selectedNode = selected?.selectedNodeNum.flatMap {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue