diff options
Diffstat (limited to 'WaterfallFile_UI/WaterfallFile_UIApp.swift')
-rw-r--r-- | WaterfallFile_UI/WaterfallFile_UIApp.swift | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/WaterfallFile_UI/WaterfallFile_UIApp.swift b/WaterfallFile_UI/WaterfallFile_UIApp.swift new file mode 100644 index 0000000..959fe55 --- /dev/null +++ b/WaterfallFile_UI/WaterfallFile_UIApp.swift @@ -0,0 +1,45 @@ +// +// WaterfallFile_UIApp.swift +// WaterfallFile_UI +// +// Created by Jacky Jack on 23/12/2024. +// + +import SwiftUI +import SwiftData + +@main +struct WaterfallFile_UIApp: App { + + let fileSpectrum = FileSpectrum() + + @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(fileSpectrum) + .onChange(of: scenePhase) { phase in + if phase == .active { + Task(priority: .userInitiated) { + fileSpectrum.startRunning() + } + } + } + } + .modelContainer(sharedModelContainer) + } +} |