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.

121 lines
4.8 KiB

6 years ago
5 years ago
5 years ago
6 years ago
  1. import UIKit
  2. import Localize_Swift
  3. class ProfileViewController: UIViewController {
  4. struct StringConstants {
  5. let changePasswordText = "change_password_text".localized()
  6. let gmeWalletNotText = "jme_wallet_no_text_1".localized()
  7. let yourAvailableBalanceText = "available_balance_text".localized()
  8. let profileText = "profile_text".localized()
  9. }
  10. @IBOutlet weak var gmeWalletNumber: UILabel!
  11. @IBOutlet weak var labelUserName: UILabel?
  12. @IBOutlet weak var labelEmail: UILabel!
  13. @IBOutlet weak var labelMobileNumber: UILabel!
  14. @IBOutlet weak var labelBalance: UILabel!
  15. @IBOutlet weak var backgroundView: UIView!
  16. @IBOutlet weak var changePasswordButton: UIButton!
  17. @IBOutlet weak var bankNameLabel: UILabel!
  18. @IBOutlet weak var referralCodeLabel: UILabel!
  19. // titles
  20. @IBOutlet weak var availableBalancetTitleLabel: UILabel!
  21. @IBOutlet weak var gmeWalletNoTitle: UILabel!
  22. @IBOutlet weak var referralCodeTitle: UILabel!
  23. @IBOutlet weak var limitTitleLabel: UILabel!
  24. @IBOutlet weak var limitLabel: UILabel!
  25. var profileImage: UIImage!
  26. @IBOutlet weak var referBtn: UIButton!
  27. public static var profileConnectionTimeOutCheck = 0
  28. override func viewWillAppear(_ animated: Bool) {
  29. super.viewWillDisappear(animated)
  30. self.configureLanguage()
  31. self.setupNormalNavigation()
  32. self.navigationItem.title = StringConstants().profileText
  33. show()
  34. // let image = UIImage.init(named: "profile")
  35. // self.tabBarItem = UITabBarItem(title: "profile_text".localized(), image: image, selectedImage: UIImage(named: "profile_selected"))
  36. }
  37. override func viewWillDisappear(_ animated: Bool) {
  38. super.viewWillDisappear(animated)
  39. self.navigationItem.title = ""
  40. }
  41. override func viewDidLoad() {
  42. super.viewDidLoad()
  43. NotificationCenter.default.addObserver(
  44. self,
  45. selector: #selector(setupTabItem),
  46. name: NSNotification.Name(LCLLanguageChangeNotification),
  47. object: nil
  48. )
  49. labelBalance.textColor = .themeBlue
  50. backgroundView.backgroundColor = .themeMixedRed
  51. backgroundView.layer.cornerRadius = 12
  52. referBtn.isHidden = true
  53. if let showRefer = GMEDB.shared.user.string(.showInviteCode) {
  54. referBtn.isHidden = showRefer != "Y"
  55. }
  56. referBtn.isUserInteractionEnabled = true
  57. referBtn.rounded()
  58. }
  59. func configureLanguage() {
  60. referralCodeTitle.text = "referral_code_text".localized()
  61. self.availableBalancetTitleLabel.text = StringConstants().yourAvailableBalanceText
  62. self.gmeWalletNoTitle.text = "jme_wallet_no_text_1".localized()
  63. self.changePasswordButton.setTitle(StringConstants().changePasswordText, for: UIControl.State.normal)
  64. limitTitleLabel.text = "remaining_limit_text".localized()
  65. referralCodeTitle.text = "memberShipId_text".localized()
  66. referBtn.setTitle("refer_and_earn_text".localized(), for: .normal)
  67. limitLabel.textColor = .themeBlue
  68. let yearlyLimit = GMEDB.shared.user.string(.yearlyLimit)
  69. limitLabel.text = Utility.getCommaSeperatedString(numberString: yearlyLimit ?? "")
  70. }
  71. override func setupTabItem() {
  72. let image = UIImage.init(named: "profile")
  73. self.tabBarItem = UITabBarItem(title: "profile_text".localized(), image: image, selectedImage: UIImage(named: "profile_selected"))
  74. self.tabBarItem.titlePositionAdjustment = UIOffset(
  75. horizontal: 0,
  76. vertical: UI_USER_INTERFACE_IDIOM() == .pad ? 2 : -2
  77. )
  78. }
  79. func show() {
  80. let name = GMEDB.shared.user.string(.firstName)
  81. let isVerified = GMEDB.shared.user.string(.verified)
  82. self.labelUserName?.text = name?.uppercased()
  83. self.labelMobileNumber.text = GMEDB.shared.user.string(.mobileNumber)
  84. self.labelEmail.text = GMEDB.shared.user.string(.email)
  85. self.labelBalance.text = GMEDB.shared.user.string(.availableBalance)
  86. let walletNum = GMEDB.shared.user.string(.walletNumber)
  87. // let bankName = GMEDB.shared.user.string(.primaryBankName)
  88. let bankName = "JME Account No"
  89. let referralCode = GMEDB.shared.user.string(.referralCode)
  90. bankNameLabel.text = bankName
  91. gmeWalletNumber.text = walletNum
  92. referralCodeLabel.text = referralCode == "" ? "na_text".localized() : referralCode
  93. }
  94. @IBAction func goEdit(_ sender: UIButton) {
  95. let vc = PersonalInformationWireframe().getMainView()
  96. navigationController?.pushViewController(vc, animated: true)
  97. }
  98. @IBAction func referBtnClicked(_ sender: Any) {
  99. let vc = InviteUserWireframe().getMainView()
  100. navigationController?.pushViewController(vc, animated: true)
  101. }
  102. }