123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- //
- // KMCancelSubscribeCouponsWindowController.swift
- // PDF Reader Pro
- //
- // Created by User-Tangchao on 2024/12/23.
- //
- import Cocoa
- class KMCancelSubscribeCouponsWindowController_backgroundIv: NSImageView {
- override var mouseDownCanMoveWindow: Bool {
- return true
- }
- }
- class KMCancelSubscribeCouponsWindowController: KMBaseWindowController {
- @IBOutlet weak var contentBox: NSBox!
- @IBOutlet weak var backgroundIv: NSImageView!
- @IBOutlet weak var centerBox: NSBox!
- @IBOutlet weak var titleLabel: NSTextField!
- @IBOutlet weak var couponsLabel: NSTextField!
- @IBOutlet weak var buttonBox: NSBox!
-
- @IBOutlet weak var closeButton: NSButton!
-
- private lazy var submitButton_: NSButton = {
- let view = NSButton()
- view.isBordered = false
- return view
- }()
-
- private lazy var buttonIv_: NSImageView = {
- let view = NSImageView()
- return view
- }()
-
- convenience init() {
- self.init(windowNibName: "KMCancelSubscribeCouponsWindowController")
- }
-
- override func windowDidLoad() {
- super.windowDidLoad()
- window?.backgroundColor = .clear
- window?.isMovableByWindowBackground = true
-
- contentBox.fillColor = .clear
- backgroundIv.image = NSImage(named: "KMImageNameCancelSubscribeCouponsBg")
- backgroundIv.image?.size = window?.frame.size ?? NSMakeSize(400, 357)
- centerBox.borderWidth = 0
- titleLabel.stringValue = NSLocalizedString("Discount Coupons for New Users!", comment: "")
- titleLabel.font = .UbuntuMediumFontWithSize(20)
- titleLabel.isSelectable = false
-
- if KMIsDMGVersion() {
- if NSLocalizedString("USD", comment: "") == "USD" {
- couponsLabel.stringValue = String(format: NSLocalizedString("%@ Coupons for you", comment: ""), "$60")
- } else {
- couponsLabel.stringValue = String(format: NSLocalizedString("%@ Coupons for you", comment: ""), "360元")
- }
- } else {
- var showCNY = false
- if let localeId = IAPProductsManager.default()?.allAccessPackPermanent_lite?.product?.priceLocale.identifier {
- showCNY = localeId.contains("zh_CN") || localeId.contains("zh_TW")
- }
- if showCNY {
- couponsLabel.stringValue = String(format: NSLocalizedString("%@ Coupons for you", comment: ""), "360元")
- } else {
- couponsLabel.stringValue = String(format: NSLocalizedString("%@ Coupons for you", comment: ""), "USD 60")
- }
- }
- couponsLabel.font = .UbuntuMediumFontWithSize(29)
-
- closeButton.image = NSImage(named: "KMImageNameCancelSubscribeCouponsClose")
- closeButton.target = self
- closeButton.action = #selector(closeAction)
-
- buttonBox.borderWidth = 0
- contentBox.contentView?.addSubview(buttonIv_, positioned: .below, relativeTo: buttonBox)
- buttonIv_.image = NSImage(named: "KMImageNameCancelSubscribeCouponsButton")
- // 271 79 216 64
- buttonIv_.image?.size = NSMakeSize(216, 64)
- buttonIv_.mas_makeConstraints { make in
- make?.centerX.mas_equalTo()
- make?.centerY.equalTo()(buttonBox)?.offset()(4)
- }
-
- buttonBox.contentView?.addSubview(submitButton_)
- submitButton_.frame = buttonBox.contentView?.frame ?? .zero
- submitButton_.autoresizingMask = [.width, .height]
- submitButton_.title = NSLocalizedString("Get Coupons->", comment: "")
- submitButton_.font = .UbuntuMediumFontWithSize(20)
- submitButton_.target = self
- submitButton_.action = #selector(submitAction)
-
- interfaceThemeDidChanged(window?.appearance?.name ?? .aqua)
- }
-
- override func interfaceThemeDidChanged(_ appearance: NSAppearance.Name) {
- super.interfaceThemeDidChanged(appearance)
-
- KMMainThreadExecute {
- if KMAppearance.isDarkMode() {
- self.titleLabel.textColor = NSColor(hex: "#001A1E")
- // 文本渐变色 不好处理
- self.couponsLabel.textColor = NSColor(hex: "#FFAE80")
- self.submitButton_.setTitleColor(.white)
- } else {
- self.titleLabel.textColor = NSColor(hex: "#001A1E")
- // background: linear-gradient(295.44deg, #FFAE80 -10.29%, #FF815A 63.97%);
- // 文本渐变色 不好处理
- self.couponsLabel.textColor = NSColor(hex: "#FFAE80")
- self.submitButton_.setTitleColor(.white)
- }
- }
- }
-
- // MARK: - Public Methods
-
- public func openWindow() {
- showWindow(nil)
- }
-
- public func closeWindow() {
- window?.close()
- }
-
- // 打开比较表
-
- public func openCompareWindow() {
- let winC = KMProductCompareWC.shared
- winC.orientation = true
- #if VERSION_DMG
- winC.orientationType = .dmg_Base
- #else
- winC.orientationType = .lite_Base
- #endif
- winC.openWindow(discountType: .advancedYearSubscribeTrialingCancel)
-
- winC.kEventName = "Purchase_Campaign"
- winC.kEventParams = ["Campaign_NewUser" : "PUW_CancelTrial_Price_Coupon"]
- }
-
- // MARK: - Actions
-
- @objc func closeAction() {
- trackEvent(eventName: "PUW_2", params: ["PUW_Btn" : "CancelFreeTrial_Price_CancelCouponCode"], platform: .AppCenter)
-
- closeWindow()
- }
-
- @objc func submitAction() {
- closeWindow()
-
- trackEvent(eventName: "PUW_2", params: ["PUW_Btn" : "CancelFreeTrial_Price_GetCouponCode"], platform: .AppCenter)
-
- openCompareWindow()
- }
- }
|