diff --git a/Meshtastic/Views/Nodes/NodeList.swift b/Meshtastic/Views/Nodes/NodeList.swift index d9a497ef..aa77c2f0 100644 --- a/Meshtastic/Views/Nodes/NodeList.swift +++ b/Meshtastic/Views/Nodes/NodeList.swift @@ -12,6 +12,16 @@ import SwiftUI import CoreLocation struct NodeList: View { + + @State private var searchText = "" + var nodesQuery: Binding { + Binding { + searchText + } set: { newValue in + searchText = newValue + nodes.nsPredicate = newValue.isEmpty ? nil : NSPredicate(format: "user.longName CONTAINS %@", newValue) + } + } @Environment(\.managedObjectContext) var context @EnvironmentObject var bleManager: BLEManager @@ -116,5 +126,7 @@ struct NodeList: View { Text("select.node") } } + .searchable(text: nodesQuery, prompt: "Find a node") } } +