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.
 
 
 
 

126 lines
4.5 KiB

import UIKit
import Localize_Swift
class ProfileViewController: UIViewController {
struct StringConstants {
let changePasswordText = "change_password_text".localized()
let gmeWalletNotText = "gme_wallet_no_text".localized()
let yourAvailableBalanceText = "available_balance_text".localized()
let profileText = "profile_text".localized()
let withdrawButtonText = "withdraw_text".localized()
}
@IBOutlet weak var labelUserProfileName: UILabel!
@IBOutlet weak var imageViewUserProfile: UIImageView!
@IBOutlet weak var gmeWalletNumber: UILabel!
@IBOutlet weak var buttonEdit: UIButton!
@IBOutlet weak var labelUserName: UILabel?
@IBOutlet weak var labelEmail: UILabel!
@IBOutlet weak var labelMobileNumber: UILabel!
@IBOutlet weak var labelBalance: UILabel!
@IBOutlet weak var withdrawButton: UIButton!
@IBOutlet weak var changePasswordButton: UIButton!
@IBOutlet weak var bankNameLabel: UILabel!
@IBOutlet weak var referralCodeLabel: UILabel!
// titles
@IBOutlet weak var availableBalancetTitleLabel: UILabel!
@IBOutlet weak var gmeWalletNoTitle: UILabel!
@IBOutlet weak var referralCodeTitle: UILabel!
@IBOutlet weak var limitTitleLabel: UILabel!
@IBOutlet weak var limitLabel: UILabel!
var profileImage: UIImage!
public static var profileConnectionTimeOutCheck = 0
override func viewWillAppear(_ animated: Bool) {
super.viewWillDisappear(animated)
self.configureLanguage()
self.setupNormalNavigation()
self.navigationItem.title = StringConstants().profileText
self.withdrawButton.isHidden = !Utility.pennyTestVerified()
show()
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
self.navigationItem.title = ""
}
override func viewDidLoad() {
super.viewDidLoad()
NotificationCenter.default.addObserver(
self,
selector: #selector(setupTabItem),
name: NSNotification.Name(LCLLanguageChangeNotification),
object: nil
)
labelBalance.textColor = .themeRed
}
func configureLanguage() {
self.availableBalancetTitleLabel.text = StringConstants().yourAvailableBalanceText
self.gmeWalletNoTitle.text = "gme_wallet_no_text".localized()
self.withdrawButton.setTitle(StringConstants().withdrawButtonText, for: UIControl.State.normal)
self.changePasswordButton.setTitle(StringConstants().changePasswordText, for: UIControl.State.normal)
withdrawButton.layer.cornerRadius = 5
limitTitleLabel.text = "remaining_limit_text".localized()
limitLabel.textColor = .themeRed
let yearlyLimit = GMEDB.shared.user.string(.yearlyLimit)
limitLabel.text = Utility.getCommaSeperatedString(numberString: yearlyLimit ?? "")
}
override func setupTabItem() {
let image = UIImage.init(named: "ic-profile")
self.tabBarItem = UITabBarItem(title: "profile_text".localized(), image: image, selectedImage: nil)
self.tabBarItem.titlePositionAdjustment = UIOffset(
horizontal: 0,
vertical: UI_USER_INTERFACE_IDIOM() == .pad ? 2 : -6
)
}
@IBAction func withdraw(_ sender: UIButton) {
guard let vc = UIStoryboard(
name: "autoRefund",
bundle: nil
).instantiateViewController(withIdentifier: "AutoRefundsViewController") as? AutoRefundsViewController
else {
return
}
self.navigationController?.pushViewController(vc, animated: true)
}
func getWithdrawNotificationName() -> Notification.Name {
return Notification.Name.init(SideMenuNavigationNotifications.withdraw)
}
func show() {
let name = GMEDB.shared.user.string(.firstName)
self.labelUserName?.text = name?.capitalized
self.labelMobileNumber.text = GMEDB.shared.user.string(.mobileNumber)
self.labelEmail.text = GMEDB.shared.user.string(.email)
self.labelBalance.text = GMEDB.shared.user.string(.availableBalance)
let walletNum = GMEDB.shared.user.string(.walletNumber)
let bankName = GMEDB.shared.user.string(.primaryBankName)
let referralCode = GMEDB.shared.user.string(.referralCode)
bankNameLabel.text = bankName
gmeWalletNumber.text = walletNum
referralCodeLabel.text = referralCode
labelUserProfileName.layer.backgroundColor = UIColor(hex: 0x2e3192).cgColor
labelUserProfileName.layer.cornerRadius = labelUserProfileName.frame.height / 2
labelUserProfileName.text = labelUserName?.text?.prefix(1).uppercased()
}
@IBAction func goEdit(_ sender: UIButton) {
let vc = PersonalInformationWireframe().getMainView()
navigationController?.pushViewController(vc, animated: true)
}
}