mirror of
https://github.com/meshtastic/Meshtastic-Apple.git
synced 2026-04-20 22:13:56 +00:00
66 lines
1.4 KiB
Swift
66 lines
1.4 KiB
Swift
/*
|
|
Copyright (c) Garth Vander Houwen 2021
|
|
*/
|
|
|
|
import SwiftUI
|
|
|
|
@available(iOS 17.0, *)
|
|
struct ContentView: View {
|
|
@ObservedObject
|
|
var appState: AppState
|
|
|
|
@ObservedObject
|
|
var router: Router
|
|
|
|
var body: some View {
|
|
TabView(selection: $appState.router.navigationState.selectedTab) {
|
|
Messages(
|
|
router: appState.router,
|
|
unreadChannelMessages: $appState.unreadChannelMessages,
|
|
unreadDirectMessages: $appState.unreadDirectMessages
|
|
)
|
|
.tabItem {
|
|
Label("messages", systemImage: "message")
|
|
}
|
|
.tag(NavigationState.Tab.messages)
|
|
.badge(appState.totalUnreadMessages)
|
|
|
|
Connect()
|
|
.tabItem {
|
|
Label("bluetooth", systemImage: "antenna.radiowaves.left.and.right")
|
|
}
|
|
.tag(NavigationState.Tab.bluetooth)
|
|
|
|
NodeList(
|
|
router: appState.router
|
|
)
|
|
.tabItem {
|
|
Label("nodes", systemImage: "flipphone")
|
|
}
|
|
.tag(NavigationState.Tab.nodes)
|
|
|
|
if #available(iOS 17.0, macOS 14.0, *), !UserDefaults.mapUseLegacy {
|
|
MeshMap(router: appState.router)
|
|
.tabItem {
|
|
Label("map", systemImage: "map")
|
|
}
|
|
.tag(NavigationState.Tab.map)
|
|
} else {
|
|
NodeMap(router: appState.router)
|
|
.tabItem {
|
|
Label("map", systemImage: "map")
|
|
}
|
|
.tag(NavigationState.Tab.map)
|
|
}
|
|
|
|
Settings(
|
|
router: appState.router
|
|
)
|
|
.tabItem {
|
|
Label("settings", systemImage: "gear")
|
|
.font(.title)
|
|
}
|
|
.tag(NavigationState.Tab.settings)
|
|
}
|
|
}
|
|
}
|