aboutsummaryrefslogtreecommitdiff
path: root/Map/State/AppState.swift
diff options
context:
space:
mode:
Diffstat (limited to 'Map/State/AppState.swift')
-rw-r--r--Map/State/AppState.swift22
1 files changed, 8 insertions, 14 deletions
diff --git a/Map/State/AppState.swift b/Map/State/AppState.swift
index e10efea..cbc9ba6 100644
--- a/Map/State/AppState.swift
+++ b/Map/State/AppState.swift
@@ -3,14 +3,13 @@ import Foundation
import SwiftUI
struct AppState {
- var selectedMap: Map? = nil
+ var selectedEvolution: StageType = .general
var mapBeingDeleted: Map? = nil
}
enum AppAction {
- case selectMap(map: Map?)
- case deleteMap(map: Map)
- case exportMapAsImage(map: Map, evolution: StageType)
+ case selectEvolution(evolution: StageType)
+ case exportMapAsImage(map: Map)
case exportMapAsText(map: Map)
}
@@ -18,16 +17,10 @@ func appStateReducer(state: inout AppState, action: AppAction) {
switch action {
- case .selectMap(let map):
- state.selectedMap = map
+ case .selectEvolution(let evolution):
+ state.selectedEvolution = evolution
- case .deleteMap(let map):
- let context = PersistenceController.shared.container.viewContext
-
- context.delete(map)
- try? context.save()
-
- case .exportMapAsImage(let map, let evolution):
+ case .exportMapAsImage(let map):
let window = NSWindow(
contentRect: .init(
origin: .zero,
@@ -44,7 +37,8 @@ func appStateReducer(state: inout AppState, action: AppAction) {
window.isMovableByWindowBackground = true
window.makeKeyAndOrderFront(nil)
- let renderView = MapRenderView(map: map, evolution: Stage.stages(evolution))
+ let renderView = MapRenderView(
+ content: map.content ?? "", evolution: Stage.stages(state.selectedEvolution))
let view = NSHostingView(rootView: renderView)
window.contentView = view