Sesame-iOS/Sesame-Watch Watch App/Sesame_WatchApp.swift
2023-12-12 17:33:42 +01:00

51 lines
1.3 KiB
Swift

import SwiftUI
import SwiftData
@main
struct Sesame_Watch_Watch_AppApp: App {
@State
var modelContainer: ModelContainer
@ObservedObject
var coordinator: RequestCoordinator
let keyManagement = KeyManagement()
@State
var selected: Int = 0
@State
var didLaunchFromComplication = false
init() {
do {
let modelContainer = try ModelContainer(for: HistoryItem.self)
self.modelContainer = modelContainer
self.coordinator = .init(modelContext: modelContainer.mainContext)
} catch {
fatalError("Failed to create model container: \(error)")
}
}
var body: some Scene {
WindowGroup {
TabView(selection: $selected) {
ContentView(coordinator: coordinator, didLaunchFromComplication: $didLaunchFromComplication)
.tag(1)
SettingsView()
.environmentObject(keyManagement)
.tag(2)
HistoryView()
.tag(3)
}
.tabViewStyle(PageTabViewStyle())
.onOpenURL { url in
selected = 0
didLaunchFromComplication = true
}
}
.modelContainer(modelContainer)
}
}