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
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
|
|
}
|
|
|
|
|
|
}
|