-//
-// 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)
}
}
}