123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- //
- // TSMineTopView.swift
- // TSLiveWallpaper
- //
- // Created by 100Years on 2025/6/12.
- //
- class TSMineTopView: TSBaseView {
-
- var clickUpgrade:(()->Void)?
- lazy var saveView: UIButton = {
- let saveLabel = UIButton.createButton(title: "Save", backgroundColor:"#E83E3E".uiColor, font: .font(name: .ZillaSlab,size: 12), titleColor: .mainText,corner: 4.0)
- saveLabel.contentEdgeInsets = UIEdgeInsets(top: 0, left: 12, bottom: 0, right: 12)
- return saveLabel
- }()
-
-
- lazy var titleLabel: UILabel = {
- let titleLabel = UILabel.createLabel(text: "Update to PRO", font: .font(name: .ZillaSlabBoldItalic,size: 24,weight: .bold), textColor: .mainText)
- return titleLabel
- }()
-
- lazy var timeLabel: UILabel = {
- let timeLabel = UILabel.createLabel(text: "Limited Time Discount", font: .font(name: .ZillaSlab,size: 14), textColor: .lesserText)
- return timeLabel
- }()
- lazy var upgradeBtn: UIButton = {
- let upgradeBtn = kCreateNormalSubmitBtn(title: "Upgrade".localized,font: .font(size: 18,weight: .medium)){ [weak self] in
- guard let self = self else { return }
- clickUpgrade?()
- }
- return upgradeBtn
- }()
-
- lazy var noVipView: UIView = {
- let contentView = UIView()
- let vipBgImageView = UIImageView.createImageView(image: .settingPurchaseBg, contentMode: .scaleToFill)
- contentView.addSubview(vipBgImageView)
- vipBgImageView.snp.makeConstraints { make in
- make.top.equalTo(0)
- make.leading.trailing.bottom.equalTo(0)
- }
-
- contentView.addSubview(upgradeBtn)
- upgradeBtn.snp.makeConstraints { make in
- make.leading.equalTo(16)
- make.height.equalTo(38)
- make.trailing.equalTo(-16)
- make.bottom.equalTo(-12)
- }
-
- contentView.addSubview(titleLabel)
- titleLabel.snp.makeConstraints { make in
- make.leading.equalTo(16)
- make.top.equalTo(20)
- make.height.equalTo(18)
- }
- contentView.addSubview(timeLabel)
- timeLabel.snp.makeConstraints { make in
- make.leading.equalTo(16)
- // make.top.equalTo(titleLabel.snp.bottom).offset(18)
- make.bottom.equalTo(upgradeBtn.snp.top).offset(-14)
- }
- contentView.addSubview(saveView)
- saveView.snp.makeConstraints { make in
- make.trailing.equalTo(-13)
- make.top.equalTo(20)
- make.height.equalTo(28)
- }
-
- saveView.setRotation(angle: 15)
-
- return contentView
- }()
-
-
- lazy var vipTitleLabel: UILabel = {
- let titleLabel = UILabel.createLabel(text: kAppName, font: .font(name: .ZillaSlabBoldItalic,size: 36,weight: .bold), textColor: .mainText)
- kMainAsync {
- titleLabel.applyGradient(colors: ["#F1D3AB".uiColor,"#E4A858".uiColor])
- }
- return titleLabel
- }()
-
- lazy var vipTimeLabel: UILabel = {
- let timeLabel = UILabel.createLabel(text: "Limited Time Discount", font: .font(size: 14), textColor: .lesserText)
- return timeLabel
- }()
-
-
- lazy var vipView: UIView = {
- let contentView = UIView()
-
- let vipBgImageView = UIImageView.createImageView(image: .settingPurchaseVipBg, contentMode: .scaleToFill)
- contentView.addSubview(vipBgImageView)
- vipBgImageView.snp.makeConstraints { make in
- make.top.equalTo(0)
- make.leading.trailing.bottom.equalTo(0)
- }
-
- contentView.addSubview(vipTitleLabel)
- vipTitleLabel.snp.makeConstraints { make in
- make.top.equalTo(24)
- make.centerX.equalToSuperview()
- }
- contentView.addSubview(vipTimeLabel)
- vipTimeLabel.snp.makeConstraints { make in
- make.centerX.equalToSuperview()
- make.top.equalTo(vipTitleLabel.snp.bottom).offset(20)
- }
- contentView.isHidden = true
- return contentView
- }()
-
- override func creatUI() {
- contentView.snp.updateConstraints { make in
- make.bottom.equalTo(-16)
- }
-
- contentView.addSubview(noVipView)
- noVipView.snp.makeConstraints { make in
- make.edges.equalToSuperview()
- }
-
- contentView.addSubview(vipView)
- vipView.snp.makeConstraints { make in
- make.edges.equalToSuperview()
- }
- updateVipView()
- }
-
- func updateVipView() {
- if PurchaseManager.default.isVip {
- self.height = 120 + 16
- noVipView.isHidden = true
- vipView.isHidden = false
- vipTimeLabel.text = "Due Date: \(PurchaseManager.default.expiredDateString)"
- } else {
- self.height = 134 + 16
- noVipView.isHidden = false
- vipView.isHidden = true
- saveView.setTitle("Save" + " " + PurchaseManager.default.vipType.saveString, for: .normal)
- }
- }
- }
|