X-Git-Url: https://git.r.bdr.sh/rbdr/map/blobdiff_plain/77d0155b661e813a85a7312ed809fc7e5a9f7440..75a0e4509a70055851b085f3f7293ae1cf48164c:/Map/State/AppState.swift diff --git a/Map/State/AppState.swift b/Map/State/AppState.swift index cbc9ba6..c261725 100644 --- a/Map/State/AppState.swift +++ b/Map/State/AppState.swift @@ -4,13 +4,13 @@ import SwiftUI struct AppState { var selectedEvolution: StageType = .general - var mapBeingDeleted: Map? = nil } enum AppAction { case selectEvolution(evolution: StageType) case exportMapAsImage(map: Map) case exportMapAsText(map: Map) + case deleteMap(map: Map) } func appStateReducer(state: inout AppState, action: AppAction) { @@ -38,7 +38,8 @@ func appStateReducer(state: inout AppState, action: AppAction) { window.makeKeyAndOrderFront(nil) let renderView = MapRenderView( - content: map.content ?? "", evolution: Stage.stages(state.selectedEvolution)) + content: Binding.constant(map.content ?? ""), + evolution: Binding.constant(Stage.stages(state.selectedEvolution))) let view = NSHostingView(rootView: renderView) window.contentView = view @@ -91,6 +92,11 @@ func appStateReducer(state: inout AppState, action: AppAction) { print("Cancel") } } + case .deleteMap(let map): + let context = PersistenceController.shared.container.viewContext + context.delete(map) + + try? context.save() } }