From fdb4633d3e9158e457d57e820df6e1efb4df39c2 Mon Sep 17 00:00:00 2001 From: Ruben Beltran del Rio Date: Sun, 7 May 2023 15:22:54 +0200 Subject: Update to support notes + new style --- Map/Views/MapDetail.swift | 103 ---------------------------------------------- 1 file changed, 103 deletions(-) delete mode 100644 Map/Views/MapDetail.swift (limited to 'Map/Views/MapDetail.swift') diff --git a/Map/Views/MapDetail.swift b/Map/Views/MapDetail.swift deleted file mode 100644 index bebe3a1..0000000 --- a/Map/Views/MapDetail.swift +++ /dev/null @@ -1,103 +0,0 @@ -// -// ContentView.swift -// Map -// -// Created by Ruben Beltran del Rio on 2/1/21. -// - -import Combine -import CoreData -import SwiftUI - -class SaveTimer { - let currentTimePublisher = Timer.TimerPublisher(interval: 1, runLoop: .main, mode: .default) - let cancellable: AnyCancellable? - - init() { - self.cancellable = currentTimePublisher.connect() as? AnyCancellable - } - - deinit { - self.cancellable?.cancel() - } -} - -let timer = SaveTimer() - -struct MapDetailView: View { - @Environment(\.managedObjectContext) private var viewContext - @Environment(\.colorScheme) var colorScheme - - @EnvironmentObject var store: AppStore - - @ObservedObject var map: Map - - private var mapColor: MapColor { - MapColor.colorForScheme(colorScheme) - } - - @State var title: String - @State var content: String - - var body: some View { - if map.uuid != nil { - VSplitView { - VStack { - HStack { - TextField( - "Title", text: $title - ).font(.title2).textFieldStyle(PlainTextFieldStyle()).padding(.vertical, 4.0).padding( - .leading, 4.0) - Button(action: saveText) { - Image(systemName: "doc.text") - }.padding(.vertical, 4.0).padding(.leading, 4.0) - Button(action: saveImage) { - Image(systemName: "photo") - }.padding(.vertical, 4.0).padding(.leading, 4.0).padding(.trailing, 8.0) - } - EvolutionPicker() - - ZStack(alignment: .topLeading) { - MapTextEditor(text: $content, colorScheme: colorScheme) - .background(mapColor.background) - .foregroundColor(mapColor.foreground) - .frame(minHeight: 96.0) - }.padding(.top, 8.0).padding(.leading, 8.0).background(mapColor.background).cornerRadius( - 5.0) - }.padding(.horizontal, 8.0) - ScrollView([.horizontal, .vertical]) { - SlowMapRender( - content: content, evolution: Stage.stages(store.state.selectedEvolution), - colorScheme: colorScheme) - }.background(mapColor.background) - }.onReceive(timer.currentTimePublisher) { _ in - saveModel() - }.onDisappear { - saveModel() - } - } else { - DefaultMapView() - } - } - - private func saveModel() { - map.content = content - map.title = title - try? viewContext.save() - } - - private func saveText() { - store.send(.exportMapAsText(map: map)) - } - - private func saveImage() { - store.send(.exportMapAsImage(map: map)) - } -} - -struct MapDetailView_Previews: PreviewProvider { - static var previews: some View { - MapDetailView(map: Map(), title: "", content: "").environment( - \.managedObjectContext, PersistenceController.preview.container.viewContext) - } -} -- cgit