added back and cancel behaviour to send sequence views

This commit is contained in:
loj 2019-02-12 21:31:40 +01:00
parent 05679d75d4
commit 3b269cc3e7
18 changed files with 157 additions and 8 deletions

View File

@ -66,6 +66,7 @@
EE76B85D21D8D1930093571F /* SourceSansPro-SemiBold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = EE76B85021D8D1930093571F /* SourceSansPro-SemiBold.ttf */; };
EE76B85E21D8D1930093571F /* SourceSansPro-ExtraLightItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = EE76B85121D8D1930093571F /* SourceSansPro-ExtraLightItalic.ttf */; };
EE76B85F21D8D1930093571F /* SourceSansPro-Italic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = EE76B85221D8D1930093571F /* SourceSansPro-Italic.ttf */; };
EE94A74C22135B7200882BB1 /* TrxDetailsVCDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE94A74B22135B7200882BB1 /* TrxDetailsVCDelegate.swift */; };
EEBEBB7521FF8DC800A6BD18 /* RecipientAddressVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEBEBB7421FF8DC800A6BD18 /* RecipientAddressVC.swift */; };
EEBEBB7721FF91B700A6BD18 /* RecipientAddressDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEBEBB7621FF91B700A6BD18 /* RecipientAddressDelegate.swift */; };
EEBEBB7821FF97AC00A6BD18 /* RecipientAddress.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = EEBEBB7221FF8B6D00A6BD18 /* RecipientAddress.storyboard */; };
@ -163,6 +164,7 @@
EE76B85021D8D1930093571F /* SourceSansPro-SemiBold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SourceSansPro-SemiBold.ttf"; sourceTree = "<group>"; };
EE76B85121D8D1930093571F /* SourceSansPro-ExtraLightItalic.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SourceSansPro-ExtraLightItalic.ttf"; sourceTree = "<group>"; };
EE76B85221D8D1930093571F /* SourceSansPro-Italic.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SourceSansPro-Italic.ttf"; sourceTree = "<group>"; };
EE94A74B22135B7200882BB1 /* TrxDetailsVCDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrxDetailsVCDelegate.swift; sourceTree = "<group>"; };
EE96916F21D561BE00BE1289 /* Passphrase.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Passphrase.storyboard; sourceTree = "<group>"; };
EEBEBB7221FF8B6D00A6BD18 /* RecipientAddress.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = RecipientAddress.storyboard; sourceTree = "<group>"; };
EEBEBB7421FF8DC800A6BD18 /* RecipientAddressVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecipientAddressVC.swift; sourceTree = "<group>"; };
@ -294,6 +296,7 @@
children = (
EE377EEA21F7AF3C00138385 /* TrxDetailTableViewCell.swift */,
EE377EE821F7A76500138385 /* TrxDetailsVC.swift */,
EE94A74B22135B7200882BB1 /* TrxDetailsVCDelegate.swift */,
EE377EEC21F7B02600138385 /* TrxMemoTableViewCell.swift */,
);
path = TrxDetails;
@ -671,6 +674,7 @@
EE377EE921F7A76500138385 /* TrxDetailsVC.swift in Sources */,
EEBEBB7B2200DFC000A6BD18 /* ScanVC.swift in Sources */,
EE576FFE21CFCC5500433CAB /* AppDelegate.swift in Sources */,
EE94A74C22135B7200882BB1 /* TrxDetailsVCDelegate.swift in Sources */,
EE377EC021E7D92200138385 /* PinEntryMode.swift in Sources */,
EE377EB721E6831E00138385 /* CreateNewWalletCoordinator.Delegate.swift in Sources */,
EEBEBB7D2200E10B00A6BD18 /* ScanVCDelegate.swift in Sources */,

View File

@ -78,3 +78,9 @@
"amount.available" = "verfügbar";
"memo.title" = "Memo (optional)";
"memo.memo.placeholder" = "Eingabe";
"memo.next" = "Weiter";

View File

@ -78,3 +78,9 @@
"amount.available" = "available";
"memo.title" = "Memo (optional)";
"memo.memo.placeholder" = "Start typing";
"memo.next" = "Next";

View File

@ -132,6 +132,9 @@
<constraint firstAttribute="height" constant="44" id="ngF-sq-bqh"/>
</constraints>
<state key="normal" image="ArrowBack"/>
<connections>
<action selector="backButtonTouched" destination="M2V-hB-lEq" eventType="touchUpInside" id="vVH-c8-o4r"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="VIp-IB-iwc">
<rect key="frame" x="356" y="48" width="44" height="44"/>
@ -140,6 +143,9 @@
<constraint firstAttribute="height" constant="44" id="L4i-X4-okR"/>
</constraints>
<state key="normal" image="CloseXBlack"/>
<connections>
<action selector="cancelButtonTouched" destination="M2V-hB-lEq" eventType="touchUpInside" id="wyU-af-Egh"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
@ -175,6 +181,8 @@
<connections>
<outlet property="amountTextField" destination="miM-vD-sj4" id="pOE-pW-ai9"/>
<outlet property="availableLabel" destination="Pfc-k9-aBV" id="wD0-iM-9fX"/>
<outlet property="backButton" destination="yL3-zj-s2d" id="xWE-ih-G4c"/>
<outlet property="cancelButton" destination="VIp-IB-iwc" id="U6E-7E-yIR"/>
<outlet property="currencyLabel" destination="dhj-KA-DVx" id="Qcl-PF-XMH"/>
<outlet property="nextButton" destination="H0N-Ax-m9d" id="N4E-Jq-0AF"/>
<outlet property="progressBar" destination="wua-MI-GFO" id="Qcd-GW-Y2L"/>

View File

@ -24,7 +24,7 @@
<!--MemoVC-->
<scene sceneID="5TK-63-Amy">
<objects>
<viewController storyboardIdentifier="Memo" id="M2V-hB-lEq" customClass="MemoVC" sceneMemberID="viewController">
<viewController storyboardIdentifier="Memo" id="M2V-hB-lEq" customClass="MemoVC" customModule="ZWallet" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="MfU-s3-T92">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
@ -98,6 +98,9 @@
<constraint firstAttribute="width" constant="44" id="onO-tg-fYE"/>
</constraints>
<state key="normal" image="ArrowBack"/>
<connections>
<action selector="backButtonTouched" destination="M2V-hB-lEq" eventType="touchUpInside" id="amt-b4-uUv"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="vp4-Hs-M8o">
<rect key="frame" x="356" y="48" width="44" height="44"/>
@ -106,6 +109,9 @@
<constraint firstAttribute="height" constant="44" id="pAE-Sf-QLC"/>
</constraints>
<state key="normal" image="CloseXBlack"/>
<connections>
<action selector="cancelTouched" destination="M2V-hB-lEq" eventType="touchUpInside" id="faP-Yu-GbJ"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
@ -130,6 +136,8 @@
<viewLayoutGuide key="safeArea" id="Vyu-5m-YUx"/>
</view>
<connections>
<outlet property="backButton" destination="BD7-Xi-ojG" id="pe5-cm-tBf"/>
<outlet property="cancelButton" destination="vp4-Hs-M8o" id="G6b-hm-KO9"/>
<outlet property="memoTextField" destination="miM-vD-sj4" id="D9a-Eb-LRK"/>
<outlet property="nextButton" destination="H0N-Ax-m9d" id="5yh-hp-fjw"/>
<outlet property="progressBar" destination="wua-MI-GFO" id="gWZ-hc-G3M"/>

View File

@ -137,6 +137,9 @@
<constraint firstAttribute="width" constant="44" id="j2d-fh-jPr"/>
</constraints>
<state key="normal" image="ArrowBack"/>
<connections>
<action selector="backButtonTouched" destination="M2V-hB-lEq" eventType="touchUpInside" id="HA3-S8-uj6"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="sj5-rL-EDb">
<rect key="frame" x="356" y="48" width="44" height="44"/>
@ -145,6 +148,9 @@
<constraint firstAttribute="height" constant="44" id="bCI-BR-QXD"/>
</constraints>
<state key="normal" image="CloseXBlack"/>
<connections>
<action selector="cancelButtonTouched" destination="M2V-hB-lEq" eventType="touchUpInside" id="DuX-G1-mzy"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
@ -175,6 +181,8 @@
<viewLayoutGuide key="safeArea" id="Vyu-5m-YUx"/>
</view>
<connections>
<outlet property="backButton" destination="bCI-gj-ygp" id="ao9-5M-zO2"/>
<outlet property="cancelButton" destination="sj5-rL-EDb" id="Mav-wY-cY3"/>
<outlet property="descriptionLabel" destination="dhj-KA-DVx" id="i3Q-Zp-D1j"/>
<outlet property="enterManuallyButton" destination="iSS-Fg-6dV" id="lPH-rV-svv"/>
<outlet property="pasteFromClipboardButton" destination="zO0-jO-sEI" id="Qpp-Fj-D5O"/>

View File

@ -154,6 +154,9 @@ Memo 4</string>
<constraint firstAttribute="width" constant="44" id="b2a-iZ-nm6"/>
</constraints>
<state key="normal" image="ArrowBackWhite"/>
<connections>
<action selector="backButtonTouched" destination="3iR-4S-bLd" eventType="touchUpInside" id="Mzx-VB-rlA"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" red="0.96854275465011597" green="0.96868163347244263" blue="0.96851247549057007" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
@ -172,6 +175,7 @@ Memo 4</string>
</view>
<connections>
<outlet property="amountLabel" destination="oqZ-HW-Zcf" id="r5e-JA-dQq"/>
<outlet property="backButton" destination="9h8-Pz-hky" id="dcN-P7-cwH"/>
<outlet property="detailsTableView" destination="etR-G8-YOv" id="5r1-iQ-qOl"/>
<outlet property="fiatAmountLabel" destination="9dR-7B-uMn" id="y2f-Fc-VGx"/>
<outlet property="headerView" destination="jbe-IX-HiN" id="ShJ-QC-BaI"/>

View File

@ -62,11 +62,13 @@ extension HomeCoordinator: HomeVCDelegate {
self.registerForNewTrx()
let vc = self.viewFactory.getHomeView()
vc.delegate = self
vc.localizer = self.localizer
vc.trxHistory = self.trxHistoryProvider.all()
self.navigationController.pushViewController(vc, animated: true)
self.homeVC = self.viewFactory.getHomeView()
if let vc = self.homeVC {
vc.delegate = self
vc.localizer = self.localizer
vc.trxHistory = self.trxHistoryProvider.all()
self.navigationController.pushViewController(vc, animated: true)
}
}
private func showSend() {
@ -79,6 +81,7 @@ extension HomeCoordinator: HomeVCDelegate {
private func showTrxDetailsView(for trxDetails: TrxDetails) {
let vc = self.viewFactory.getTrxDetailsView()
vc.delegate = self
vc.localizer = self.localizer
vc.trxDetails = trxDetails
self.navigationController.pushViewController(vc, animated: true)
@ -119,6 +122,14 @@ extension HomeCoordinator: HomeVCDelegate {
}
extension HomeCoordinator: TrxDetailsVCDelegate {
func trxDetailsVCDelegateBackTouched(sender: TrxDetailsVC) {
self.navigationController.popViewController(animated: true)
}
}
extension HomeCoordinator: TrxHistoryObservable {
func changed() {
@ -127,4 +138,15 @@ extension HomeCoordinator: TrxHistoryObservable {
}
extension HomeCoordinator: SendCoordinatorDelegate {}
extension HomeCoordinator: SendCoordinatorDelegate {
func sendCoordinatorSuccessful(coordinator: SendCoordinator) {
#warning("implement")
}
func sendCoordinatorCancelled(coordinator: SendCoordinator) {
if let vc = self.homeVC {
self.navigationController.popToViewController(vc, animated: true)
}
}
}

View File

@ -54,6 +54,14 @@ extension SendCoordinator: RecipientAddressDelegate {
self.showAmountView()
}
func recipientAddressVCBackTouched(sender: RecipientAddressVC) {
self.navigationController.popViewController(animated: true)
}
func recipientAddressVCCancelTouched(sender: RecipientAddressVC) {
self.delegate?.sendCoordinatorCancelled(coordinator: self)
}
private func showRecipientAddressView() {
let vc = self.viewFactory.getRecipientAddressView()
vc.delegate = self
@ -88,6 +96,14 @@ extension SendCoordinator: AmountVCDelegate {
self.showMemoView()
}
func amountVCDelegateBackTouched(sender: AmountVC) {
self.navigationController.popViewController(animated: true)
}
func amountVCDelegateCancelTouched(sender: AmountVC) {
self.delegate?.sendCoordinatorCancelled(coordinator: self)
}
private func showAmountView() {
let vc = self.viewFactory.getAmountView()
vc.delegate = self
@ -106,6 +122,14 @@ extension SendCoordinator: MemoVCDelegate {
#warning("implement")
}
func memoVCDelegateBackTouched(sender: MemoVC) {
self.navigationController.popViewController(animated: true)
}
func memoVCDelegateCancelTouched(sender: MemoVC) {
self.delegate?.sendCoordinatorCancelled(coordinator: self)
}
private func showMemoView() {
let vc = self.viewFactory.getMemoVC()
vc.delegate = self

View File

@ -9,4 +9,7 @@
import Foundation
internal protocol SendCoordinatorDelegate: class {}
internal protocol SendCoordinatorDelegate: class {
func sendCoordinatorSuccessful(coordinator: SendCoordinator)
func sendCoordinatorCancelled(coordinator: SendCoordinator)
}

View File

@ -10,6 +10,8 @@ import UIKit
class AmountVC: UIViewController {
@IBOutlet weak var backButton: UIButton!
@IBOutlet weak var cancelButton: UIButton!
@IBOutlet weak var progressBar: ZWProgressBar!
@IBOutlet weak var titleLabel: UILabel!
@IBOutlet weak var currencyLabel: UILabel!
@ -33,6 +35,14 @@ class AmountVC: UIViewController {
self.delegate?.amountVCDelegateNextButtonTouched(sender: self, amount: zec)
}
@IBAction func backButtonTouched() {
self.delegate?.amountVCDelegateBackTouched(sender: self)
}
@IBAction func cancelButtonTouched() {
self.delegate?.amountVCDelegateCancelTouched(sender: self)
}
override func viewDidLoad() {
super.viewDidLoad()
self.setup()

View File

@ -12,4 +12,6 @@ import Foundation
internal protocol AmountVCDelegate: class {
func amountVCDelegateSendMaximumButtonTouched(sender: AmountVC)
func amountVCDelegateNextButtonTouched(sender: AmountVC, amount: ZecInAtomicUnits)
func amountVCDelegateBackTouched(sender: AmountVC)
func amountVCDelegateCancelTouched(sender: AmountVC)
}

View File

@ -10,6 +10,8 @@ import UIKit
class MemoVC: UIViewController {
@IBOutlet weak var backButton: UIButton!
@IBOutlet weak var cancelButton: UIButton!
@IBOutlet weak var progressBar: ZWProgressBar!
@IBOutlet weak var titleLabel: UILabel!
@IBOutlet weak var memoTextField: UITextField!
@ -23,6 +25,14 @@ class MemoVC: UIViewController {
self.delegate?.memoVCDelegateNextButtonTouched(sender: self, memo: self.memoTextField.text)
}
@IBAction func backButtonTouched() {
self.delegate?.memoVCDelegateBackTouched(sender: self)
}
@IBAction func cancelTouched() {
self.delegate?.memoVCDelegateCancelTouched(sender: self)
}
override func viewDidLoad() {
super.viewDidLoad()
self.setup()

View File

@ -11,4 +11,6 @@ import Foundation
internal protocol MemoVCDelegate: class {
func memoVCDelegateNextButtonTouched(sender: MemoVC, memo: String?)
func memoVCDelegateBackTouched(sender: MemoVC)
func memoVCDelegateCancelTouched(sender: MemoVC)
}

View File

@ -13,4 +13,6 @@ internal protocol RecipientAddressDelegate: class {
func recipientAddressVCScanButtonTouched(sender: RecipientAddressVC)
func recipientAddressVCPasteFromClipboardButtonTouched(sender: RecipientAddressVC)
func recipientAddressVCEnterManuallyButtonTouched(sender: RecipientAddressVC)
func recipientAddressVCBackTouched(sender: RecipientAddressVC)
func recipientAddressVCCancelTouched(sender: RecipientAddressVC)
}

View File

@ -10,6 +10,8 @@ import UIKit
class RecipientAddressVC: UIViewController {
@IBOutlet weak var backButton: UIButton!
@IBOutlet weak var cancelButton: UIButton!
@IBOutlet weak var progressBar: ZWProgressBar!
@IBOutlet weak var titelLabel: UILabel!
@IBOutlet weak var descriptionLabel: UILabel!
@ -20,6 +22,14 @@ class RecipientAddressVC: UIViewController {
public weak var delegate: RecipientAddressDelegate?
public weak var localizer: Localizable?
@IBAction func backButtonTouched() {
self.delegate?.recipientAddressVCBackTouched(sender: self)
}
@IBAction func cancelButtonTouched() {
self.delegate?.recipientAddressVCCancelTouched(sender: self)
}
@IBAction func scanCodeButtonTouched() {
self.delegate?.recipientAddressVCScanButtonTouched(sender: self)
}

View File

@ -10,15 +10,21 @@ import UIKit
class TrxDetailsVC: UIViewController {
@IBOutlet weak var backButton: UIButton!
@IBOutlet weak var trxDirectionLabel: UILabel!
@IBOutlet weak var amountLabel: UILabel!
@IBOutlet weak var fiatAmountLabel: UILabel!
@IBOutlet weak var headerView: UIView!
@IBOutlet weak var detailsTableView: UITableView!
public weak var delegate: TrxDetailsVCDelegate?
public weak var localizer: Localizable?
public var trxDetails: TrxDetails?
@IBAction func backButtonTouched() {
self.delegate?.trxDetailsVCDelegateBackTouched(sender: self)
}
override func viewDidLoad() {
super.viewDidLoad()

View File

@ -0,0 +1,14 @@
//
// TrxDetailsVCDelegate.swift
// ZWallet
//
// Created by loj on 12.02.19.
// Copyright © 2019 XMR Systems LLC. All rights reserved.
//
import Foundation
internal protocol TrxDetailsVCDelegate: class {
func trxDetailsVCDelegateBackTouched(sender: TrxDetailsVC)
}