KMNBetaFeedbackSuccessWindowController.swift 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. //
  2. // KMNBetaFeedbackSuccessWindowController.swift
  3. // PDF Reader Pro Beta
  4. //
  5. // Created by kdanmobile on 2025/3/1.
  6. //
  7. import Cocoa
  8. import KMComponentLibrary
  9. class KMNBetaFeedbackSuccessWindowController: KMNBaseWindowController {
  10. @IBOutlet var titleLabel: NSTextField!
  11. @IBOutlet var subTitleLabel: NSTextField!
  12. @IBOutlet var emailLabel: NSTextField!
  13. @IBOutlet var webLabel: NSTextField!
  14. @IBOutlet var sureButton: ComponentButton!
  15. override func windowDidLoad() {
  16. super.windowDidLoad()
  17. // Implement this method to handle any initialization after your window controller's window has been loaded from its nib file.
  18. }
  19. override func initContentView() {
  20. titleLabel.font = NSFont.boldSystemFont(ofSize: 24)
  21. subTitleLabel.font = ComponentLibrary.shared.getFontFromKey ("mac/body-m-medium")
  22. sureButton.properties = ComponentButtonProperty(type: .primary,
  23. size: .s,
  24. state: .normal,
  25. buttonText: KMLocalizedString("I Know"))
  26. sureButton.setTarget(self, action: #selector(submitButtonClicked(_ :)))
  27. sureButton.keyEquivalent = KMKeyEquivalent.enter
  28. }
  29. override func updateUIThemeColor() {
  30. window?.contentView?.wantsLayer = true
  31. window?.contentView?.layer?.backgroundColor = ComponentLibrary.shared.getComponentColorFromKey("colorBg/popup").cgColor
  32. subTitleLabel.textColor = ComponentLibrary.shared.getComponentColorFromKey ("colorText/1")
  33. sureButton.reloadData()
  34. updateLabel()
  35. }
  36. override func updateUILanguage() {
  37. titleLabel.stringValue = KMLocalizedString("Feedback Successfully!")
  38. subTitleLabel.stringValue = KMLocalizedString("Thanks for your feedback!")
  39. sureButton.properties.buttonText = KMLocalizedString("I Know")
  40. sureButton.reloadData()
  41. updateLabel()
  42. }
  43. func updateLabel() {
  44. let text = KMLocalizedString("We have distributed a gift to your Personal Account %@")
  45. let email = KMMemberInfo.shared.userEmail
  46. let fullString = String(format: text, email)
  47. let attrStr = NSMutableAttributedString(string: fullString)
  48. attrStr.addAttribute(.font, value: ComponentLibrary.shared.getFontFromKey("mac/body-xs-regular"), range: (fullString as NSString).range(of: text))
  49. attrStr.addAttribute(.foregroundColor, value: ComponentLibrary.shared.getComponentColorFromKey("colorText/2"), range: (fullString as NSString).range(of: text))
  50. attrStr.addAttribute(.foregroundColor, value: ComponentLibrary.shared.getComponentColorFromKey("colorPrimary/textLight"), range: (fullString as NSString).range(of: email))
  51. // 设置整个文本字体
  52. attrStr.addAttribute(.font, value: ComponentLibrary.shared.getFontFromKey("mac/body-xs-regular"), range: NSRange(location: 0, length: text.count))
  53. // 应用富文本
  54. emailLabel.attributedStringValue = attrStr
  55. let linkText = "Please visit our Official Website to Sign in to check your reward."
  56. let linkAttrStr = NSMutableAttributedString(string: linkText)
  57. let link = KMLocalizedString("Official Website")
  58. // 设置超链接文本属性
  59. let url = URL(string: "https://www.pdfreaderpro.com")!
  60. linkAttrStr.addAttribute(.link, value: url, range: (linkText as NSString).range(of: link))
  61. // 设置字体和颜色
  62. linkAttrStr.addAttribute(.font, value: ComponentLibrary.shared.getFontFromKey("mac/body-xs-regular"), range: NSRange(location: 0, length: linkText.count))
  63. linkAttrStr.addAttribute(.foregroundColor, value: ComponentLibrary.shared.getComponentColorFromKey("colorText/2"), range: NSRange(location: 0, length: linkText.count))
  64. linkAttrStr.addAttribute(.foregroundColor, value: ComponentLibrary.shared.getComponentColorFromKey("colorPrimary/textLight"), range: (linkText as NSString).range(of: link))
  65. linkAttrStr.addAttribute(.underlineStyle, value: NSUnderlineStyle.single.rawValue, range: (linkText as NSString).range(of: link))
  66. // 应用富文本到 NSTextField
  67. webLabel.attributedStringValue = linkAttrStr
  68. }
  69. //MARK: - Action
  70. @objc func submitButtonClicked(_ sender: NSView) {
  71. own_closeEndSheet()
  72. }
  73. }