You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
104 lines
3.0 KiB
104 lines
3.0 KiB
//
|
|
// WithdrawFromWalletViewController.swift
|
|
// GME Remit
|
|
//
|
|
// Created by Amrit Giri on 7/6/20.
|
|
//Copyright © 2020 Gobal Money Express Co. Ltd. All rights reserved.
|
|
//
|
|
|
|
import UIKit
|
|
|
|
class WithdrawFromWalletViewController: UIViewController {
|
|
|
|
struct StringConstants {
|
|
let titleText = "bank_deposit_text".localized()
|
|
let proceedText = "proceed_text".localized()
|
|
let withdrawSubtitle = "withdraw_description".localized()
|
|
let amountPlaceholder = "enter_amount_text".localized()
|
|
let amountError = "enter_amount_text".localized()
|
|
}
|
|
// MARK: Properties
|
|
|
|
var presenter: WithdrawFromWalletModuleInterface?
|
|
|
|
// MARK: IBOutlets
|
|
@IBOutlet weak var subtitileLabel: UILabel!
|
|
@IBOutlet weak var amount: ValidationTextField!
|
|
@IBOutlet weak var proceedBtn: UIButton!
|
|
|
|
|
|
private var isValid = false {
|
|
didSet {
|
|
// proceedBtn.isEnabled = isValid
|
|
// proceedBtn.backgroundColor = isValid ? .themeRed : .themeText
|
|
proceedBtn.isEnabled = true
|
|
proceedBtn.backgroundColor = isValid ? .themeRed : .themeRed
|
|
}
|
|
}
|
|
// MARK: VC's Life cycle
|
|
|
|
override func viewDidLoad() {
|
|
super.viewDidLoad()
|
|
self.setup()
|
|
}
|
|
|
|
override func viewWillAppear(_ animated: Bool) {
|
|
super.viewWillAppear(animated)
|
|
self.title = StringConstants().titleText
|
|
self.setupNormalNavigation()
|
|
}
|
|
|
|
// MARK: IBActions
|
|
@IBAction func proceed(_ sender: Any) {
|
|
self.presenter?.makeApiRequest(amount: self.amount.text ?? "")
|
|
}
|
|
|
|
// MARK: Other Functions
|
|
private func setup() {
|
|
// all setup should be done here
|
|
self.isValid = false
|
|
self.configureLanguage()
|
|
}
|
|
|
|
private func configureLanguage() {
|
|
subtitileLabel.text = StringConstants().withdrawSubtitle
|
|
|
|
|
|
amount.titleText = StringConstants().amountPlaceholder
|
|
amount.placeholder = StringConstants().amountPlaceholder
|
|
amount.errorMessage = StringConstants().amountError
|
|
amount.addTarget(self, action: #selector(editingChanged(_:)), for: .editingChanged)
|
|
|
|
proceedBtn.setTitle(StringConstants().proceedText, for: .normal)
|
|
}
|
|
|
|
@objc private func editingChanged(_ textField: UITextField) {
|
|
guard let tf = textField as? ValidationTextField else {return}
|
|
isValid = tf.text != ""
|
|
}
|
|
}
|
|
|
|
// MARK: WithdrawFromWalletViewInterface
|
|
extension WithdrawFromWalletViewController: WithdrawFromWalletViewInterface {
|
|
func showLoading() {
|
|
self.showProgressHud()
|
|
}
|
|
|
|
func hideLoading() {
|
|
self.hideProgressHud()
|
|
}
|
|
|
|
func show(error: String) {
|
|
self.alert(type: .error, message: error)
|
|
}
|
|
|
|
func show(message: String) {
|
|
self.alertWithOk(
|
|
type: .success,
|
|
message: message,
|
|
title: "success_text".localized(),
|
|
okTitle: "Ok"
|
|
) {
|
|
}
|
|
}
|
|
}
|