mirror of
https://github.com/meshtastic/Meshtastic-Apple.git
synced 2026-04-20 22:13:56 +00:00
Open node details view from new node notification Fix speed Simple deep linking structure
80 lines
1.5 KiB
Swift
80 lines
1.5 KiB
Swift
/*
|
|
Copyright (c) Garth Vander Houwen 2021
|
|
*/
|
|
|
|
import SwiftUI
|
|
|
|
@available(iOS 17.0, *)
|
|
struct ContentView: View {
|
|
|
|
@StateObject var appState = AppState.shared
|
|
var body: some View {
|
|
TabView(selection: $appState.tabSelection) {
|
|
Messages()
|
|
.tabItem {
|
|
Label("messages", systemImage: "message")
|
|
}
|
|
.tag(Tab.contacts)
|
|
.badge(appState.unreadDirectMessages + appState.unreadChannelMessages)
|
|
Connect()
|
|
.tabItem {
|
|
Label("bluetooth", systemImage: "antenna.radiowaves.left.and.right")
|
|
}
|
|
.tag(Tab.ble)
|
|
NodeList()
|
|
.tabItem {
|
|
Label("nodes", systemImage: "flipphone")
|
|
}
|
|
.tag(Tab.nodes)
|
|
if #available(iOS 17.0, macOS 14.0, *) {
|
|
if UserDefaults.mapUseLegacy {
|
|
NodeMap()
|
|
.tabItem {
|
|
Label("map", systemImage: "map")
|
|
}
|
|
.tag(Tab.map)
|
|
} else {
|
|
MeshMap()
|
|
.tabItem {
|
|
Label("map", systemImage: "map")
|
|
}
|
|
.tag(Tab.map)
|
|
}
|
|
} else {
|
|
NodeMap()
|
|
.tabItem {
|
|
Label("map", systemImage: "map")
|
|
}
|
|
.tag(Tab.map)
|
|
}
|
|
Settings()
|
|
.tabItem {
|
|
Label("settings", systemImage: "gear")
|
|
.font(.title)
|
|
}
|
|
.tag(Tab.settings)
|
|
}
|
|
}
|
|
}
|
|
//#Preview {
|
|
// if #available(iOS 17.0, *) {
|
|
// // ContentView(deepLinkManager: .init())
|
|
// } else {
|
|
// // Fallback on earlier versions
|
|
// }
|
|
//}
|
|
|
|
//struct ContentView_Previews: PreviewProvider {
|
|
// static var previews: some View {
|
|
// ContentView()
|
|
// }
|
|
//}
|
|
|
|
enum Tab: Hashable {
|
|
case contacts
|
|
case messages
|
|
case map
|
|
case ble
|
|
case nodes
|
|
case settings
|
|
}
|