diff options
Diffstat (limited to 'Waterfall_UI/Waterfall_UIApp.swift')
-rw-r--r-- | Waterfall_UI/Waterfall_UIApp.swift | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/Waterfall_UI/Waterfall_UIApp.swift b/Waterfall_UI/Waterfall_UIApp.swift new file mode 100644 index 0000000..6d9a13b --- /dev/null +++ b/Waterfall_UI/Waterfall_UIApp.swift @@ -0,0 +1,46 @@ +// +// Waterfall_UIApp.swift +// Waterfall_UI +// +// Created by Jacky Jack on 06/01/2025. +// + +import SwiftUI +import SwiftData + + +@main +struct Waterfall_UIApp: App { + + let sdrSpectrum = SDRSpectrum() + + @Environment(\.scenePhase) private var scenePhase + + var sharedModelContainer: ModelContainer = { + let schema = Schema([ + Item.self, + ]) + let modelConfiguration = ModelConfiguration(schema: schema, isStoredInMemoryOnly: false) + + do { + return try ModelContainer(for: schema, configurations: [modelConfiguration]) + } catch { + fatalError("Could not create ModelContainer: \(error)") + } + }() + + var body: some Scene { + WindowGroup { + ContentView() + .environmentObject(sdrSpectrum) + .onChange(of: scenePhase) { phase in + if phase == .active { + Task(priority: .userInitiated) { + sdrSpectrum.startRunning() + } + } + } + } + .modelContainer(sharedModelContainer) + } +} |