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.

97 lines
3.9 KiB

6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 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. let withdrawButtonText = "withdraw_text".localized()
  10. }
  11. @IBOutlet weak var labelUserProfileName: UILabel!
  12. @IBOutlet weak var imageViewUserProfile: UIImageView!
  13. @IBOutlet weak var gmeWalletNumber: UILabel!
  14. @IBOutlet weak var buttonEdit: UIButton!
  15. @IBOutlet weak var labelUserName: UILabel?
  16. @IBOutlet weak var labelEmail: UILabel!
  17. @IBOutlet weak var labelMobileNumber: UILabel!
  18. @IBOutlet weak var labelBalance: UILabel!
  19. @IBOutlet weak var withdrawButton: UIButton!
  20. @IBOutlet weak var changePasswordButton: UIButton!
  21. // titles
  22. @IBOutlet weak var availableBalancetTitleLabel: UILabel!
  23. @IBOutlet weak var gmeWalletNoTitle: UILabel!
  24. var profileImage: UIImage!
  25. public static var profileConnectionTimeOutCheck = 0
  26. override func viewWillAppear(_ animated: Bool) {
  27. super.viewWillDisappear(animated)
  28. self.configureLanguage()
  29. self.setupNormalNavigation()
  30. self.navigationItem.title = StringConstants().profileText
  31. self.withdrawButton.isHidden = !Utility.pennyTestVerified()
  32. show()
  33. }
  34. override func viewWillDisappear(_ animated: Bool) {
  35. super.viewWillDisappear(animated)
  36. self.navigationItem.title = ""
  37. }
  38. override func viewDidLoad() {
  39. super.viewDidLoad()
  40. NotificationCenter.default.addObserver(self, selector: #selector(setupTabItem), name: NSNotification.Name(LCLLanguageChangeNotification), object: nil)
  41. }
  42. func configureLanguage() {
  43. self.availableBalancetTitleLabel.text = StringConstants().yourAvailableBalanceText
  44. self.gmeWalletNoTitle.text = "gme_wallet_no_text".localized()
  45. self.withdrawButton.setTitle(StringConstants().withdrawButtonText, for: UIControlState.normal)
  46. self.changePasswordButton.setTitle(StringConstants().changePasswordText, for: UIControlState.normal)
  47. }
  48. override func setupTabItem() {
  49. let image = UIImage.init(named: "ic-profile")
  50. self.tabBarItem = UITabBarItem(title: "profile_text".localized(), image: image, selectedImage: nil)
  51. self.tabBarItem.titlePositionAdjustment = UIOffset(horizontal: 0, vertical: UI_USER_INTERFACE_IDIOM() == .pad ? 2 : -6)
  52. // gme_wallet_no_text
  53. }
  54. @IBAction func withdraw(_ sender: UIButton) {
  55. let vc = UIStoryboard.init(name: "autoRefund", bundle: nil).instantiateViewController(withIdentifier: "AutoRefundsViewController") as! AutoRefundsViewController
  56. self.navigationController?.pushViewController(vc, animated: true)
  57. }
  58. func getWithdrawNotificationName() -> Notification.Name {
  59. return Notification.Name.init(SideMenuNavigationNotifications.withdraw)
  60. }
  61. func show() {
  62. let store = UserDefaults.standard
  63. let name = store.string(forKey: UserKeys.firstName)
  64. self.labelUserName?.text = name?.capitalized
  65. self.labelMobileNumber.text = store.string(forKey: UserKeys.mobileNumber)
  66. self.labelEmail.text = store.string(forKey: UserKeys.email)
  67. self.labelBalance.text = store.string(forKey: UserKeys.availableBalance)
  68. let walletNum = store.string(forKey: UserKeys.walletNumber)
  69. let bankName = store.string(forKey: UserKeys.primaryBankName)
  70. gmeWalletNumber.text = walletNum
  71. labelUserProfileName.layer.backgroundColor = UIColor(hex: 0x2e3192).cgColor
  72. labelUserProfileName.layer.cornerRadius = labelUserProfileName.frame.height / 2
  73. labelUserProfileName.text = labelUserName?.text?.prefix(1).uppercased()
  74. }
  75. // ccR
  76. }