2024-07-10 21:17:14 -05:00
|
|
|
import Foundation
|
|
|
|
|
|
|
|
|
|
// MARK: Messages
|
|
|
|
|
|
|
|
|
|
enum MessagesNavigationState: Hashable {
|
|
|
|
|
case channels(
|
|
|
|
|
channelId: Int32? = nil,
|
|
|
|
|
messageId: Int64? = nil
|
|
|
|
|
)
|
|
|
|
|
case directMessages(
|
|
|
|
|
userNum: Int64? = nil,
|
|
|
|
|
messageId: Int64? = nil
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// MARK: Map
|
|
|
|
|
|
|
|
|
|
enum MapNavigationState: Hashable {
|
|
|
|
|
case selectedNode(Int64)
|
|
|
|
|
case waypoint(Int64)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// MARK: Settings
|
|
|
|
|
|
|
|
|
|
enum SettingsNavigationState: String {
|
|
|
|
|
case about
|
|
|
|
|
case appSettings
|
|
|
|
|
case routes
|
|
|
|
|
case routeRecorder
|
|
|
|
|
case lora
|
|
|
|
|
case channels
|
|
|
|
|
case shareQRCode
|
|
|
|
|
case user
|
|
|
|
|
case bluetooth
|
|
|
|
|
case device
|
|
|
|
|
case display
|
|
|
|
|
case network
|
|
|
|
|
case position
|
|
|
|
|
case power
|
|
|
|
|
case ambientLighting
|
|
|
|
|
case cannedMessages
|
|
|
|
|
case detectionSensor
|
|
|
|
|
case externalNotification
|
|
|
|
|
case mqtt
|
|
|
|
|
case rangeTest
|
|
|
|
|
case paxCounter
|
|
|
|
|
case ringtone
|
|
|
|
|
case serial
|
2024-08-08 07:33:31 -07:00
|
|
|
case security
|
2024-07-10 21:17:14 -05:00
|
|
|
case storeAndForward
|
|
|
|
|
case telemetry
|
|
|
|
|
case meshLog
|
|
|
|
|
case debugLogs
|
|
|
|
|
case appFiles
|
|
|
|
|
case firmwareUpdates
|
|
|
|
|
}
|
|
|
|
|
|
2024-08-28 07:02:55 -05:00
|
|
|
struct NavigationState: Hashable {
|
2024-07-10 21:17:14 -05:00
|
|
|
enum Tab: String, Hashable {
|
|
|
|
|
case messages
|
|
|
|
|
case bluetooth
|
|
|
|
|
case nodes
|
|
|
|
|
case map
|
|
|
|
|
case settings
|
|
|
|
|
}
|
|
|
|
|
|
2024-08-28 07:02:55 -05:00
|
|
|
var selectedTab: Tab = .bluetooth
|
|
|
|
|
var messages: MessagesNavigationState?
|
|
|
|
|
var nodeListSelectedNodeNum: Int64?
|
|
|
|
|
var map: MapNavigationState?
|
|
|
|
|
var settings: SettingsNavigationState?
|
2024-07-10 21:17:14 -05:00
|
|
|
}
|