diff --git a/SynchronyFinancial/SynchronyFinancial WatchKit App/Base.lproj/Interface.storyboard b/SynchronyFinancial/SynchronyFinancial WatchKit App/Base.lproj/Interface.storyboard index bcf2421..2d1440e 100644 --- a/SynchronyFinancial/SynchronyFinancial WatchKit App/Base.lproj/Interface.storyboard +++ b/SynchronyFinancial/SynchronyFinancial WatchKit App/Base.lproj/Interface.storyboard @@ -289,8 +289,8 @@ - - - + + diff --git a/SynchronyFinancial/SynchronyFinancial WatchKit Extension/TransactionDetailsInterfaceController.swift b/SynchronyFinancial/SynchronyFinancial WatchKit Extension/TransactionDetailsInterfaceController.swift index d08e4fb..37713e0 100644 --- a/SynchronyFinancial/SynchronyFinancial WatchKit Extension/TransactionDetailsInterfaceController.swift +++ b/SynchronyFinancial/SynchronyFinancial WatchKit Extension/TransactionDetailsInterfaceController.swift @@ -10,13 +10,14 @@ import WatchKit import Foundation class TransactionDetailsInterfaceController: WKInterfaceController { - @IBOutlet var contentGroup: WKInterfaceGroup! @IBOutlet var activityIndicator: WKInterfaceImage! @IBOutlet var activityIndicatorLabel: WKInterfaceLabel! + @IBOutlet weak var contentGroup: WKInterfaceGroup! @IBOutlet var transactionName: WKInterfaceLabel! @IBOutlet var dateLabel: WKInterfaceLabel! @IBOutlet var amountLabel: WKInterfaceLabel! @IBOutlet var cancelButton: WKInterfaceButton! + var transaction: Transaction? var account: Account? @@ -42,7 +43,26 @@ class TransactionDetailsInterfaceController: WKInterfaceController { } @IBAction func cancelButtonTapped() { + guard let t = transaction, let acct = account else { + NSLog("Error: no values for transaction or account.") + return + } + + activityIndicator.configureForActivityIndicator() + activityIndicatorLabel.setHidden(false) + contentGroup.setHidden(true) + + FetchData.cancelPayment(accountAlias: acct.accountAlias, confirmationNum: t.confirmationNum, paymentId: t.paymentId) { conf, error in + guard error == nil else { return } + self.activityIndicatorLabel.setHidden(true) + self.activityIndicator.stopAnimating() + self.contentGroup.setHidden(false) + let context: [String: String] = ["cancellation_confirm": conf] + self.presentController(withName: "Cancellation", context: context) + self.popToRootController() + } } + override func willActivate() { // This method is called when watch view controller is about to be visible to user super.willActivate()