]> git.r.bdr.sh - rbdr/map/blobdiff - Map/MapApp.swift
Add some debouncing
[rbdr/map] / Map / MapApp.swift
index 14e5605792713e070c0a57a4790d6a79d20d0395..edfe4ece962015462f1925601fd24b7c8c117412 100644 (file)
@@ -1,23 +1,34 @@
-//
-//  MapApp.swift
-//  Map
-//
-//  Created by Ruben Beltran del Rio on 2/1/21.
-//
+// Copyright (C) 2024 Rubén Beltrán del Río
 
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see https://map.tranquil.systems.
+import Sparkle
 import SwiftUI
 
 @main
 struct MapApp: App {
-  let persistenceController = PersistenceController.shared
+
+  private let updaterController: SPUStandardUpdaterController = SPUStandardUpdaterController(
+    startingUpdater: true, updaterDelegate: nil, userDriverDelegate: nil)
 
   var body: some Scene {
-    WindowGroup {
-      MapEditorWindow()
-        .environment(\.managedObjectContext, persistenceController.container.viewContext)
-        .environmentObject(AppStore(initialState: AppState(), reducer: appStateReducer))
-    }.windowStyle(HiddenTitleBarWindowStyle()).commands {
-      SidebarCommands()
+    DocumentGroup(newDocument: MapDocument()) { file in
+      MapEditor(document: file.$document, url: file.fileURL)
+        .focusedSceneValue(\.document, file.$document)
+        .focusedSceneValue(\.fileURL, file.fileURL)
+    }.commands {
+      MapCommands()
+      UpdateCommands(updaterController: updaterController)
     }
   }
 }