diff --git a/SynchronyFinancial/SynchronyFinancial WatchKit App/Base.lproj/Interface.storyboard b/SynchronyFinancial/SynchronyFinancial WatchKit App/Base.lproj/Interface.storyboard
index 28bb61d..d1254a2 100644
--- a/SynchronyFinancial/SynchronyFinancial WatchKit App/Base.lproj/Interface.storyboard
+++ b/SynchronyFinancial/SynchronyFinancial WatchKit App/Base.lproj/Interface.storyboard
@@ -124,18 +124,29 @@
-
+
+
+
+
+
+
-
+
+
@@ -146,16 +157,20 @@
-
+
-
-
@@ -172,13 +187,21 @@
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -222,6 +245,6 @@
-
+
diff --git a/SynchronyFinancial/SynchronyFinancial WatchKit Extension/AccountDetailsInterfaceController.swift b/SynchronyFinancial/SynchronyFinancial WatchKit Extension/AccountDetailsInterfaceController.swift
index a33a0f7..2019c6a 100644
--- a/SynchronyFinancial/SynchronyFinancial WatchKit Extension/AccountDetailsInterfaceController.swift
+++ b/SynchronyFinancial/SynchronyFinancial WatchKit Extension/AccountDetailsInterfaceController.swift
@@ -13,14 +13,24 @@ class AccountDetailsInterfaceController: WKInterfaceController {
var selectedAccount: Account?
var dictForAcct: [String: Account] = [:]
+ @IBOutlet weak var transactionsButton: WKInterfaceButton!
+ @IBOutlet weak var payButton: WKInterfaceButton!
@IBOutlet weak var balanceLabel: WKInterfaceLabel!
@IBOutlet weak var availableFundsLabel: WKInterfaceLabel!
@IBOutlet weak var accountNameLabel: WKInterfaceLabel!
@IBOutlet weak var nextPaymentDueLabel: WKInterfaceLabel!
+ @IBAction func payBillTapped() {
+ if let acct = selectedAccount {
+ dictForAcct.updateValue(acct, forKey: "acct")
+ }
+ pushController(withName: "PayMinimum", context: dictForAcct)
+ }
+
override func awake(withContext context: Any?) {
super.awake(withContext: context)
-
+ payButton.setWidth(self.contentFrame.width / 2)
+ transactionsButton.setWidth(self.contentFrame.width / 2)
guard let data = context as? [String: Account] else {
NSLog("Error receiving context containing selected account in AccountDetailInterfaceController")
return
diff --git a/SynchronyFinancial/SynchronyFinancial WatchKit Extension/AccountTableInterfaceController.swift b/SynchronyFinancial/SynchronyFinancial WatchKit Extension/AccountTableInterfaceController.swift
index b72e5f9..9f5694c 100644
--- a/SynchronyFinancial/SynchronyFinancial WatchKit Extension/AccountTableInterfaceController.swift
+++ b/SynchronyFinancial/SynchronyFinancial WatchKit Extension/AccountTableInterfaceController.swift
@@ -44,7 +44,8 @@ class AccountTableInterfaceController: WKInterfaceController {
override func table(_ table: WKInterfaceTable, didSelectRowAt rowIndex: Int) {
acctDict.updateValue(accounts[rowIndex], forKey: "acct")
- self.presentController(withNames: ["AccountDetails", "Transactions"], contexts: [self.acctDict, self.transactionDict])
+ self.pushController(withName: "AccountDetails", context: self.acctDict)
+// self.presentController(withNames: ["AccountDetails", "Transactions"], contexts: [self.acctDict, self.transactionDict])
}
private func configureRows() {
diff --git a/SynchronyFinancial/SynchronyFinancial WatchKit Extension/PayBillInterfaceController.swift b/SynchronyFinancial/SynchronyFinancial WatchKit Extension/PayBillInterfaceController.swift
index c20d261..c9b4b1f 100644
--- a/SynchronyFinancial/SynchronyFinancial WatchKit Extension/PayBillInterfaceController.swift
+++ b/SynchronyFinancial/SynchronyFinancial WatchKit Extension/PayBillInterfaceController.swift
@@ -11,6 +11,7 @@ import Foundation
class PayBillInterfaceController: WKInterfaceController {
var acct: Account?
+ var payDict: [String: Any] = [:]
@IBOutlet weak var balanceLabel: WKInterfaceLabel!
@IBOutlet weak var payBalanceButton: WKInterfaceButton!
@@ -40,13 +41,23 @@ class PayBillInterfaceController: WKInterfaceController {
super.didDeactivate()
}
+ override func contextForSegue(withIdentifier segueIdentifier: String) -> Any? {
+ if segueIdentifier == "PayMinimum" {
+ payDict.updateValue(Double(acct?.minimumPayment ?? 0.0), forKey: "payment_amount")
+ } else if segueIdentifier == "PayAll" {
+ payDict.updateValue(Double(acct?.balance ?? 0.0), forKey: "payment_amount")
+ }
+ return payDict
+ }
+
private func configure() {
if let valid = acct {
- let balanceFormatted = String(format: "%.2f", valid.balance)
+ payDict.updateValue(valid, forKey: "acct")
+ let balanceFormatted = String(format: "$%.2f", valid.balance)
balanceLabel.setText("Balance: \(balanceFormatted)")
payBalanceButton.setTitle("Pay \(balanceFormatted)")
- let minimumFormatted = String(format: "%.2f", valid.minimumPayment)
+ let minimumFormatted = String(format: "$%.2f", valid.minimumPayment)
minimumLabel.setText("Minimum Payment: \(minimumFormatted)")
payMinimumButton.setTitle("Pay \(minimumFormatted)")
}
diff --git a/SynchronyFinancial/SynchronyFinancial WatchKit Extension/PaymentDetailInterfaceController.swift b/SynchronyFinancial/SynchronyFinancial WatchKit Extension/PaymentDetailInterfaceController.swift
index f7c6d13..30ed7b8 100644
--- a/SynchronyFinancial/SynchronyFinancial WatchKit Extension/PaymentDetailInterfaceController.swift
+++ b/SynchronyFinancial/SynchronyFinancial WatchKit Extension/PaymentDetailInterfaceController.swift
@@ -12,6 +12,8 @@ import Foundation
class PaymentDetailInterfaceController: WKInterfaceController {
var selectedAccount: Account?
var dictForAcct: [String: Account] = [:]
+ var paymentButtonArmed: Bool = false
+ var paymentAmount: Double = 0.0
@IBOutlet weak var detailButton: WKInterfaceButton!
@IBOutlet weak var amount: WKInterfaceLabel!
@@ -19,18 +21,28 @@ class PaymentDetailInterfaceController: WKInterfaceController {
override func awake(withContext context: Any?) {
super.awake(withContext: context)
+ guard let data = context as? [String: Any], let acct = data["acct"] as? Account, let amount = data["payment_amount"] as? Double else {
+ NSLog("Error getting account object and payment amount")
+ return
+ }
- // Configure interface objects here.
+ self.paymentAmount = amount
+ self.selectedAccount = acct
+ paymentButton.setTitle(String(format: "Pay $%.2f", amount))
}
- override func contextForSegue(withIdentifier segueIdentifier: String) -> Any? {
- if segueIdentifier == "PayAll" || segueIdentifier == "PayMinimum" {
- if let acct = selectedAccount {
- dictForAcct.updateValue(acct, forKey: "acct")
- return dictForAcct
- }
+ @IBAction func paymentAction() {
+ if paymentButtonArmed {
+ popToRootController()
+ } else {
+// animate(withDuration: 0.75) {
+// self.paymentButton.setBackgroundColor(UIColor.init(red: 141, green: 241, blue: 48, alpha: 1.0))
+// }
+
+ paymentButton.setBackgroundColor(#colorLiteral(red: 0.6092301607, green: 0.9366738796, blue: 0.2432599962, alpha: 1))
+ paymentButtonArmed = true
+ paymentButton.setTitle("Pay Now")
}
- return nil
}
override func willActivate() {
@@ -42,11 +54,4 @@ class PaymentDetailInterfaceController: WKInterfaceController {
// This method is called when watch view controller is no longer visible
super.didDeactivate()
}
- private func configure() {
- //if acct {
- detailButton.setTitle("Payment: Bank Of America")
- amount.setText("")
- paymentButton.setTitle("Pay now!")
- //}
- }
}