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.

105 lines
3.8 KiB

6 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 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 = "gme_wallet_no_text".localized()
  7. let yourAvailableBalanceText = "available_balance_text".localized()
  8. let profileText = "profile_text".localized()
  9. }
  10. @IBOutlet weak var labelUserProfileName: UILabel!
  11. @IBOutlet weak var imageViewUserProfile: UIImageView!
  12. @IBOutlet weak var gmeWalletNumber: UILabel!
  13. @IBOutlet weak var labelUserName: UILabel?
  14. @IBOutlet weak var labelEmail: UILabel!
  15. @IBOutlet weak var labelMobileNumber: UILabel!
  16. @IBOutlet weak var labelBalance: UILabel!
  17. @IBOutlet weak var changePasswordButton: UIButton!
  18. @IBOutlet weak var bankNameLabel: UILabel!
  19. @IBOutlet weak var referralCodeLabel: UILabel!
  20. // titles
  21. @IBOutlet weak var availableBalancetTitleLabel: UILabel!
  22. @IBOutlet weak var gmeWalletNoTitle: UILabel!
  23. @IBOutlet weak var referralCodeTitle: UILabel!
  24. @IBOutlet weak var limitTitleLabel: UILabel!
  25. @IBOutlet weak var limitLabel: UILabel!
  26. var profileImage: UIImage!
  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. }
  35. override func viewWillDisappear(_ animated: Bool) {
  36. super.viewWillDisappear(animated)
  37. self.navigationItem.title = ""
  38. }
  39. override func viewDidLoad() {
  40. super.viewDidLoad()
  41. NotificationCenter.default.addObserver(
  42. self,
  43. selector: #selector(setupTabItem),
  44. name: NSNotification.Name(LCLLanguageChangeNotification),
  45. object: nil
  46. )
  47. labelBalance.textColor = .themeRed
  48. }
  49. func configureLanguage() {
  50. self.availableBalancetTitleLabel.text = StringConstants().yourAvailableBalanceText
  51. self.gmeWalletNoTitle.text = "gme_wallet_no_text".localized()
  52. self.changePasswordButton.setTitle(StringConstants().changePasswordText, for: UIControl.State.normal)
  53. limitTitleLabel.text = "remaining_limit_text".localized()
  54. limitLabel.textColor = .themeRed
  55. let yearlyLimit = GMEDB.shared.user.string(.yearlyLimit)
  56. limitLabel.text = Utility.getCommaSeperatedString(numberString: yearlyLimit ?? "")
  57. }
  58. override func setupTabItem() {
  59. let image = UIImage.init(named: "ic-profile")
  60. self.tabBarItem = UITabBarItem(title: "profile_text".localized(), image: image, selectedImage: nil)
  61. self.tabBarItem.titlePositionAdjustment = UIOffset(
  62. horizontal: 0,
  63. vertical: UI_USER_INTERFACE_IDIOM() == .pad ? 2 : -6
  64. )
  65. }
  66. func show() {
  67. let name = GMEDB.shared.user.string(.firstName)
  68. self.labelUserName?.text = name?.capitalized
  69. self.labelMobileNumber.text = GMEDB.shared.user.string(.mobileNumber)
  70. self.labelEmail.text = GMEDB.shared.user.string(.email)
  71. self.labelBalance.text = GMEDB.shared.user.string(.availableBalance)
  72. let walletNum = GMEDB.shared.user.string(.walletNumber)
  73. let bankName = GMEDB.shared.user.string(.primaryBankName)
  74. let referralCode = GMEDB.shared.user.string(.referralCode)
  75. bankNameLabel.text = bankName
  76. gmeWalletNumber.text = walletNum
  77. referralCodeLabel.text = referralCode == "" ? "N/A".localized() : referralCode
  78. labelUserProfileName.layer.backgroundColor = UIColor(hex: 0x2e3192).cgColor
  79. labelUserProfileName.layer.cornerRadius = labelUserProfileName.frame.height / 2
  80. labelUserProfileName.text = labelUserName?.text?.prefix(1).uppercased()
  81. }
  82. @IBAction func goEdit(_ sender: UIButton) {
  83. let vc = PersonalInformationWireframe().getMainView()
  84. navigationController?.pushViewController(vc, animated: true)
  85. }
  86. }