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.
 
 
 
 

184 lines
6.6 KiB

import UIKit
class HomeAccountDetailView: UIView {
private let accountDetailView: UIView = {
let view = UIView(frame: .zero)
view.backgroundColor = .themeWhite
view.translatesAutoresizingMaskIntoConstraints = false
return view
}()
private let accountNumberTitleLabel: UILabel = {
let label = UILabel()
label.translatesAutoresizingMaskIntoConstraints = false
return label
}()
private let accountNumberValueLabel: UILabel = {
let label = UILabel()
label.translatesAutoresizingMaskIntoConstraints = false
return label
}()
private let balanceTitleLabel: UILabel = {
let label = UILabel()
label.translatesAutoresizingMaskIntoConstraints = false
return label
}()
private var balanceValueLabel: UILabel = {
let label = UILabel()
label.translatesAutoresizingMaskIntoConstraints = false
return label
}()
private let copyButton: UIButton = {
let button = UIButton()
button.translatesAutoresizingMaskIntoConstraints = false
return button
}()
private let uploadSlipButton: UIButton = {
let button = UIButton()
button.translatesAutoresizingMaskIntoConstraints = false
return button
}()
private let exchangeRateView: UIView = {
let view = UIView()
view.translatesAutoresizingMaskIntoConstraints = false
return view
}()
override init(frame: CGRect) {
super.init(frame: .zero)
setup()
}
// override func awakeFromNib() {
// super.awakeFromNib()
// setup()
// }
required init?(coder: NSCoder) {
super.init(coder: coder)
fatalError("init(coder:) has not been implemented")
}
func setup() {
uiSetup()
uiPropertiesSetup()
}
private func uiSetup() {
self.addSubview(accountDetailView)
accountDetailView.anchor(top: self.topAnchor,
paddingTop: 0,
bottom: self.bottomAnchor,
paddingBottom: 0,
left: self.leadingAnchor,
paddingLeft: 0,
right: self.trailingAnchor,
paddingRight: 0,
width: 0,
height: 0)
accountDetailView.addSubviews(accountNumberTitleLabel,
accountNumberValueLabel,
balanceTitleLabel,
balanceValueLabel,
copyButton,
uploadSlipButton)
accountDetailView.addShadow()
accountNumberTitleLabel.anchor(top: accountDetailView.topAnchor,
paddingTop: 16,
bottom: nil,
paddingBottom: 0,
left: accountDetailView.leadingAnchor, paddingLeft: 16,
right: accountDetailView.trailingAnchor, paddingRight: -16)
accountNumberValueLabel.anchor(top: accountNumberTitleLabel.bottomAnchor,
paddingTop: 4,
bottom: nil,
paddingBottom: 0,
left: accountDetailView.leadingAnchor,
paddingLeft: 16
)
copyButton.anchor(top: nil,
bottom: nil,
left: accountNumberValueLabel.trailingAnchor,
paddingLeft: 4,
width: 80,
height: 80
)
copyButton.center(centerX: nil,
paddingX: 0,
centerY: accountNumberValueLabel.centerYAnchor,
paddingY: 0)
copyButton.anchorLessThanEqualTo(right: accountDetailView.trailingAnchor,
paddingRight: -16)
balanceTitleLabel.anchor(top: accountNumberValueLabel.bottomAnchor,
paddingTop: 16,
left: accountDetailView.leadingAnchor,
paddingLeft: 16)
balanceValueLabel.anchor(top: balanceTitleLabel.bottomAnchor,
paddingTop: 4,
bottom: accountDetailView.bottomAnchor,
paddingBottom: -16,
left: accountDetailView.leadingAnchor,
paddingLeft: 16)
uploadSlipButton.anchor(top: balanceTitleLabel.topAnchor,
bottom: balanceValueLabel.bottomAnchor,
right: accountDetailView.trailingAnchor,
paddingRight: -16
)
}
func uiPropertiesSetup() {
accountDetailView.setupCornerRadius(20,maskedCorners: [.layerMinXMaxYCorner, .layerMaxXMaxYCorner])
accountNumberTitleLabel.text = "account_number_text".localized()
copyButton.setTitle("Copy", for: .normal)
copyButton.setTitleColor(.red, for: .normal)
balanceTitleLabel.text = "domestic_available_balance_text".localized()
balanceValueLabel.text = "6482682342"
uploadSlipButton.backgroundColor = .red
uploadSlipButton.set(cornerRadius: 5)
uploadSlipButton.setImage(UIImage(named: "chat"), for: .normal)
uploadSlipButton.setTitle("Upload", for: .normal)
uploadSlipButton.setTitleColor(.green, for: .normal)
uploadSlipButton.contentEdgeInsets = UIEdgeInsets(top: 10,
left: 10,
bottom: 10,
right: 20)
}
func setupData() {
let availableBalance = GMEDB.shared.user.string(.availableBalance)
balanceValueLabel.text = availableBalance
let walletNumber = GMEDB.shared.user.string(.referralCode) ?? ""
accountNumberValueLabel.text = walletNumber == "" ? "N/A" : walletNumber
}
func setAmount(_ amount: String) {
balanceValueLabel.text = amount
}
}