diff --git a/GME Remit/Modules/ExchangeRates/User Interface/View/ExchangeRates.storyboard b/GME Remit/Modules/ExchangeRates/User Interface/View/ExchangeRates.storyboard index f2f726b2..1558681f 100644 --- a/GME Remit/Modules/ExchangeRates/User Interface/View/ExchangeRates.storyboard +++ b/GME Remit/Modules/ExchangeRates/User Interface/View/ExchangeRates.storyboard @@ -36,7 +36,7 @@ - + @@ -135,59 +135,60 @@ - - + + - - + + - - + + - - + + - - - + + - - + + - + - - + + - - - - + + + + @@ -207,120 +209,159 @@ - - - - + + + + - - - - - - - - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + - - + + - - + + - - - + + - - + + - - + + - + - - + + - @@ -329,14 +370,14 @@ - - - + + + - + @@ -344,17 +385,29 @@ - - - - + + + + + - + + + + + + + + + + + + - + - + @@ -393,13 +406,13 @@ - + @@ -422,7 +435,7 @@ - + + - - - + + + @@ -492,29 +520,31 @@ - - - - - - + + + + + + + - - - - - + + + + + - - - - - + + + + + + diff --git a/GME Remit/Modules/SendMoneyModules/SendMoneyExchangeRate/User Interface/View/SendMoneyExchangeRateViewController.swift b/GME Remit/Modules/SendMoneyModules/SendMoneyExchangeRate/User Interface/View/SendMoneyExchangeRateViewController.swift index 5bd3e2fc..c8cc3e83 100644 --- a/GME Remit/Modules/SendMoneyModules/SendMoneyExchangeRate/User Interface/View/SendMoneyExchangeRateViewController.swift +++ b/GME Remit/Modules/SendMoneyModules/SendMoneyExchangeRate/User Interface/View/SendMoneyExchangeRateViewController.swift @@ -46,7 +46,6 @@ class SendMoneyExchangeRateViewController: UIViewController { @IBOutlet private weak var transferFeeInfoLabel: UILabel! @IBOutlet private weak var exchangeRateLabel: UILabel! - @IBOutlet private weak var exchangeInfoStackView: UIStackView! @IBOutlet private weak var youSendTitleLabel: UILabel! @IBOutlet private weak var recipientGetsTitleLabel: UILabel! @@ -59,6 +58,10 @@ class SendMoneyExchangeRateViewController: UIViewController { @IBOutlet private weak var realSenderTitleLabel: UILabel! @IBOutlet private weak var realSenderLabel: UILabel! + @IBOutlet weak var calculatedInfoView: UIView! + @IBOutlet weak var serviceChargeView: UIStackView! + @IBOutlet weak var exchangeRateView: UIStackView! + // MARK: Properties var presenter: SendMoneyExchangeRateModuleInterface? var requestModel: SendMoneyRequestModel? @@ -89,41 +92,32 @@ class SendMoneyExchangeRateViewController: UIViewController { private var exchangeRateModel: SendMoneyExchangeRateModel? { didSet { + guard let model = exchangeRateModel else { + self.showExchangeRateInfomation(isHidden: true) + return + } + reciepientTextField.text = Utility.getCommaSeperatedStringWithDecimal( - numberString: exchangeRateModel?.recipientAmount ?? "" + numberString: model.recipientAmount ?? "" ) senderTextField.text = Utility.getCommaSeperatedStringWithDecimal( - numberString: exchangeRateModel?.senderAmount ?? "" + numberString: model.senderAmount ?? "" ) - let serviceCharge = exchangeRateModel?.transferFee?.likeCommaMoney() ?? - exchangeRateModel?.transferFee ?? + let serviceCharge = model.transferFee?.likeCommaMoney() ?? + model.transferFee ?? "0.00" let transferFee = serviceCharge != "0.00" ? "-\(serviceCharge)" : "\(serviceCharge)" transferFeeInfoLabel.text = "\(transferFee) (\("transfer_fee_included_text".localized()))" exchangeRateLabel.text = - "\(exchangeRateModel?.exchangeRate ?? "") (\("current_exchange_rate_text".localized()))" + "\(model.exchangeRate ?? "") (\("current_exchange_rate_text".localized()))" - setCoupon() + self.showExchangeRateInfomation(isHidden: false) - UIView.animate(withDuration: 0.33) {[weak self] in - guard let `self` = self else { - return - } - - self.transferFeeInfoLabel.isHidden = false - self.exchangeRateLabel.isHidden = false - self.exchangeInfoStackView.isHidden = false - self.transferFeeInfoLabel.alpha = 1 - self.exchangeRateLabel.alpha = 1 - self.exchangeInfoStackView.alpha = 1 - - self.couponBackgroundView.isHidden = false - self.couponBackgroundView.alpha = 1 - } + setCoupon() action = .continue } @@ -173,6 +167,9 @@ class SendMoneyExchangeRateViewController: UIViewController { senderTextField.receiverNativeCountry = reciepient?.countryCode ?? "" reciepientTextField.receiverNativeCountry = reciepient?.countryCode ?? "" + if senderTextField.text != "" || reciepientTextField.text != "" { + calculate() + } } override func viewDidAppear(_ animated: Bool) { @@ -214,6 +211,50 @@ class SendMoneyExchangeRateViewController: UIViewController { } configureLanguage() + + continueButton.layer.cornerRadius = 10 + continueButton.backgroundColor = .themeRed + continueButton.titleLabel?.font = .sanfrancisco(.medium, size: 18) + } + + private func showExchangeRateInfomation(isHidden flag: Bool) { + calculatedInfoView.isHidden = flag + calculatedInfoView.alpha = flag ? 0.0 : 1.0 + + if !flag { + self.serviceChargeView.isHidden = false + self.exchangeRateView.isHidden = false + self.couponBackgroundView.isHidden = false + + let animator = UIViewPropertyAnimator(duration: 0.5, curve: .easeIn) { + self.serviceChargeView.alpha = 1.0 + } + animator.addCompletion { _ in + let subAnimator = UIViewPropertyAnimator(duration: 0.5, curve: .easeIn) { + self.exchangeRateView.alpha = 1.0 + } + + subAnimator.addCompletion { _ in + let subSubAnimator = UIViewPropertyAnimator(duration: 0.5, curve: .easeIn) { + self.couponBackgroundView.alpha = 1.0 + } + subSubAnimator.startAnimation() + } + subAnimator.startAnimation() + } + animator.startAnimation() + + } else { + serviceChargeView.isHidden = true + serviceChargeView.alpha = 0.0 + + exchangeRateView.isHidden = true + exchangeRateView.alpha = 0.0 + + couponBackgroundView.isHidden = true + couponBackgroundView.alpha = 0.0 + } + } private func configureLanguage() { @@ -258,13 +299,7 @@ class SendMoneyExchangeRateViewController: UIViewController { private func configureViews() { exchangeRateModel = nil - exchangeRateLabel.isHidden = true - exchangeRateLabel.alpha = 0 - transferFeeInfoLabel.isHidden = true - transferFeeInfoLabel.alpha = 0 - exchangeInfoStackView.isHidden = true - exchangeInfoStackView.alpha = 0 - + let dropDownImage = #imageLiteral(resourceName: "dropdown_white").withRenderingMode(UIImage.RenderingMode.alwaysTemplate) let image = dropDownImage @@ -416,6 +451,7 @@ extension SendMoneyExchangeRateViewController: SendMoneyExchangeRateViewInterfac } func show(error: String) { + showExchangeRateInfomation(isHidden: true) alert(type: .error, message: error) } diff --git a/GME Remit/Modules/SendMoneyModules/SendMoneyVerification/User Interface/View/SendMoneyVerification.storyboard b/GME Remit/Modules/SendMoneyModules/SendMoneyVerification/User Interface/View/SendMoneyVerification.storyboard index 74604049..3dacb723 100644 --- a/GME Remit/Modules/SendMoneyModules/SendMoneyVerification/User Interface/View/SendMoneyVerification.storyboard +++ b/GME Remit/Modules/SendMoneyModules/SendMoneyVerification/User Interface/View/SendMoneyVerification.storyboard @@ -481,11 +481,11 @@ - - + + - + @@ -515,33 +515,28 @@ - + + + - - - + @@ -559,7 +554,7 @@ - + diff --git a/GME Remit/Modules/SendMoneyModules/SendMoneyVerification/User Interface/View/SendMoneyVerificationViewController.swift b/GME Remit/Modules/SendMoneyModules/SendMoneyVerification/User Interface/View/SendMoneyVerificationViewController.swift index 734b9252..831f78f6 100644 --- a/GME Remit/Modules/SendMoneyModules/SendMoneyVerification/User Interface/View/SendMoneyVerificationViewController.swift +++ b/GME Remit/Modules/SendMoneyModules/SendMoneyVerification/User Interface/View/SendMoneyVerificationViewController.swift @@ -135,6 +135,10 @@ class SendMoneyVerificationViewController: UITableViewController { private func setup() { configureLanguage() + + agreeAndSendButton.layer.cornerRadius = 10 + agreeAndSendButton.backgroundColor = .themeRed + agreeAndSendButton.titleLabel?.font = .sanfrancisco(.medium, size: 18) } private func configureLanguage() {