diff --git a/enzevalos_iphone/SwiftUI/Read/Tabbed Views/MessageViewChildren/WarningMessageView.swift b/enzevalos_iphone/SwiftUI/Read/Tabbed Views/MessageViewChildren/WarningMessageView.swift new file mode 100644 index 0000000000000000000000000000000000000000..e499a3f4fbbbcddb988d1cc29e3c9a9ad8123ee8 --- /dev/null +++ b/enzevalos_iphone/SwiftUI/Read/Tabbed Views/MessageViewChildren/WarningMessageView.swift @@ -0,0 +1,37 @@ +// +// WarningMessageView.swift +// enzevalos_iphone +// +// Created by melicoa97 on 11.03.20. +// Copyright © 2020 fu-berlin. All rights reserved. +// + +import SwiftUI + +struct DialogView: View { + + let option: DialogOption + + var body: some View { + VStack { + Text(NSLocalizedString("corruptedHeadline", comment: "corrupted mail")) + .font(.system(size: 25)) + .frame(maxWidth: .infinity) + .background(Color.yellow) + HStack{ + Text("!") + .foregroundColor(Color.red) + .font(.system(size: 60)) + .padding([.leading, .top, .bottom]) + Text(NSLocalizedString("corruptedText", comment: "corrupted mail")) + .padding() + } + } + } +} + +struct WarningMessageView_Previews: PreviewProvider { + static var previews: some View { + DialogView(option: .postcard) + } +} diff --git a/enzevalos_iphone/SwiftUI/Read/Tabbed Views/SenderViewMain.swift b/enzevalos_iphone/SwiftUI/Read/Tabbed Views/SenderViewMain.swift index 1d5fc6452ade40320ddbdf580f5cf9a74315e01e..9b5a3eabb5c4ead9f6334ba3a180bccccf79b8a8 100644 --- a/enzevalos_iphone/SwiftUI/Read/Tabbed Views/SenderViewMain.swift +++ b/enzevalos_iphone/SwiftUI/Read/Tabbed Views/SenderViewMain.swift @@ -49,10 +49,14 @@ struct SenderViewMain <M: DisplayMail>: View { } } - + let Landmarks = [ + Landmark(name: "Berlin", domain: "exampledomain.de", location: .init(latitude: 52.520008, longitude: 13.404954)), + Landmark(name: "New York", domain: "secondexampledomain.de", location: .init(latitude: 40.730610, longitude: -73.935242)), + Landmark(name: "Sydney", domain: "thirdexampledomain.de", location: .init(latitude: -33.865143, longitude: 151.209900)) + ] private func selectNextLandmark() { - let landmarks = mail.routingStops + let landmarks = Landmarks// mail.routingStops /// This method identifies and moves to the next selected landmark if let selectedLandmark = selectedLandmark, let currentIndex = landmarks.firstIndex(where: { $0 == selectedLandmark }), currentIndex + 1 < landmarks.endIndex { self.selectedLandmark = landmarks[currentIndex + 1] @@ -62,7 +66,7 @@ struct SenderViewMain <M: DisplayMail>: View { } private func selectPrevLandmark() { - let landmarks = mail.routingStops + let landmarks = Landmarks //mail.routingStops /// This method identifies and moves to the prevoius selected landmark if let selectedLandmark = selectedLandmark, let currentIndex = landmarks.firstIndex(where: { $0 == selectedLandmark }), currentIndex + -1 >= 0 { self.selectedLandmark = landmarks[currentIndex - 1] @@ -119,7 +123,7 @@ struct SenderViewMain <M: DisplayMail>: View { private var map: some View { ZStack { ZStack { - MapView(landmarks: mail.routingStops, + MapView(landmarks: Landmarks,//mail.routingStops, selectedLandmark: $selectedLandmark, showingLandmarkDetails: $showingLandmarkDetails) .frame(height: 300) HStack { diff --git a/enzevalos_iphone/SwiftUI/SupportingViews/MapView.swift b/enzevalos_iphone/SwiftUI/SupportingViews/MapView.swift index 40483c05a95628ca8da3127b8b82f18996a49ca5..1e2f5c2b0293429f06159db7b9d67ff46e26134d 100644 --- a/enzevalos_iphone/SwiftUI/SupportingViews/MapView.swift +++ b/enzevalos_iphone/SwiftUI/SupportingViews/MapView.swift @@ -107,6 +107,7 @@ struct MapView: UIViewRepresentable { let span = mapView.region.span let region = MKCoordinateRegion(center: coordinates, span: span) mapView.setRegion(region, animated: true) + mapView.setZoomByDelta(delta: 10, animated: false) } func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? { @@ -183,5 +184,21 @@ struct MapView: UIViewRepresentable { let polyline = MKPolyline (coordinates: &locations, count: locations.count) mapView.addOverlay(polyline) } - } + +extension MKMapView { + + // delta is the zoom factor + // 2 will zoom out x2 + // .5 will zoom in by x2 + + func setZoomByDelta(delta: Double, animated: Bool) { + var _region = region; + var _span = region.span; + _span.latitudeDelta *= delta; + _span.longitudeDelta *= delta; + _region.span = _span; + + setRegion(_region, animated: animated) + } + } diff --git a/enzevalos_iphone/SwiftUI/SupportingViews/SwiftUI to UIKit/AttributedTextView.swift b/enzevalos_iphone/SwiftUI/SupportingViews/SwiftUI to UIKit/AttributedTextView.swift new file mode 100644 index 0000000000000000000000000000000000000000..b2fb9f5c3fe12602aa228ac2500ba4b30a3d9e55 --- /dev/null +++ b/enzevalos_iphone/SwiftUI/SupportingViews/SwiftUI to UIKit/AttributedTextView.swift @@ -0,0 +1,37 @@ +// +// AttributedTextView.swift +// enzevalos_iphone +// +// Created by Oliver Wiese on 17.04.20. +// Copyright © 2020 fu-berlin. All rights reserved. +// + +import SwiftUI + +struct SelectableTextView: UIViewRepresentable { + var attributedText: NSAttributedString + + init(_ attributedText: NSAttributedString) { + self.attributedText = attributedText + } + + func makeUIView(context: Context) -> UITextView { + let view = UITextView() + view.isSelectable = true + view.allowsEditingTextAttributes = false + view.isScrollEnabled = true + return view + } + + func updateUIView(_ label: UITextView, context: Context) { + label.attributedText = attributedText + } +} + + +struct AttributedTextView_Previews: PreviewProvider { + static let text = "Hello World www.fu-berlin.de" + static var previews: some View { + SelectableTextView(NSAttributedString(string: text)) + } +} diff --git a/enzevalos_iphoneTests/GeneratedMocks.swift b/enzevalos_iphoneTests/GeneratedMocks.swift index 9617a9669780ecdeb323d814882911a6d1728625..ca02ed66645d9ba501aa7363bca8997051220859 100644 --- a/enzevalos_iphoneTests/GeneratedMocks.swift +++ b/enzevalos_iphoneTests/GeneratedMocks.swift @@ -1,4 +1,4 @@ -// MARK: - Mocks generated from file: enzevalos_iphone/AuthenticationModel.swift at 2020-03-21 09:49:42 +0000 +// MARK: - Mocks generated from file: enzevalos_iphone/AuthenticationModel.swift at 2020-04-28 19:16:47 +0000 // // AuthenticationModel.swift @@ -654,7 +654,7 @@ import Foundation } -// MARK: - Mocks generated from file: enzevalos_iphone/AuthenticationViewModel.swift at 2020-03-21 09:49:42 +0000 +// MARK: - Mocks generated from file: enzevalos_iphone/AuthenticationViewModel.swift at 2020-04-28 19:16:47 +0000 // // AuthenticationViewModel.swift