// // TodosApp.swift // Todos // // Created by Sam Jaffe on 2/28/26. // import SwiftUI import SwiftData struct UserDefaultsKeys { private static let root = "leumasjaffe.Todos" static let UrlHints = root + ".URLHints" static let WeekStart = root + ".WeekStart" static let Category = root + ".Category" } @main struct TodosApp: App { var sharedModelContainer: ModelContainer = { let schema = Schema([ Project.self, Task.self, SubTask.self, Tag.self ]) let modelConfiguration = ModelConfiguration(schema: schema, isStoredInMemoryOnly: false) do { return try ModelContainer(for: schema, configurations: [modelConfiguration]) } catch { fatalError("Could not create ModelContainer: \(error)") } }() @State private var rotate = RotateTracking() var body: some Scene { WindowGroup { ContentView(rotate: $rotate).onAppear { // Disable the tab bar options NSWindow.allowsAutomaticWindowTabbing = false } } .modelContainer(sharedModelContainer) .commands { CommandGroup(replacing: .newItem) { NewProjectMenu() .modelContainer(sharedModelContainer) } CommandGroup(replacing: .saveItem) { SaveSnapshotMenu() .modelContainer(sharedModelContainer) SaveAsMenu() .modelContainer(sharedModelContainer) ExportMenu() .modelContainer(sharedModelContainer) ImportMenu() .modelContainer(sharedModelContainer) RotateContentMenu(rotate: $rotate) .modelContainer(sharedModelContainer) } } #if os(macOS) Settings { SettingsView() } #endif } }