KMBetaUserInfoController.swift 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. //
  2. // KMBetaUserInfoController.swift
  3. // PDF Reader Pro
  4. //
  5. // Created by kdanmobile on 2025/3/1.
  6. //
  7. import Cocoa
  8. import KMComponentLibrary
  9. class KMBetaUserInfoController: KMNBaseViewController {
  10. @IBOutlet var userIconImage: NSImageView!
  11. @IBOutlet var userEmailLabel: NSTextField!
  12. @IBOutlet weak var signOutBox: KMBox!
  13. @IBOutlet weak var signOutImageView: NSImageView!
  14. @IBOutlet weak var signOutLabel: NSTextField!
  15. override func viewDidLoad() {
  16. super.viewDidLoad()
  17. // Do view setup here.
  18. self.reloadData()
  19. }
  20. override func initContentView() {
  21. super.initContentView()
  22. userIconImage.wantsLayer = true
  23. userIconImage.layer?.cornerRadius = 20
  24. userIconImage.layer?.masksToBounds = true
  25. signOutBox.borderWidth = 0
  26. signOutBox.moveCallback = { [weak self](mouseEntered: Bool, mouseBox: KMBox) -> Void in
  27. guard let self = self else { return }
  28. if mouseEntered {
  29. self.signOutLabel.textColor = NSColor(named: "3091FF")
  30. self.signOutImageView.image = NSImage(named: "SignOutImage_Hov")
  31. } else {
  32. self.signOutLabel.textColor = NSColor(named: "3091FF")
  33. self.signOutImageView.image = NSImage(named: "SignOutImage")
  34. }
  35. }
  36. signOutBox.downCallback = { [weak self](downEntered: Bool, mouseBox: KMBox, event) -> Void in
  37. guard let _ = self else { return }
  38. KMUserInfoVCModel().signOutAction()
  39. }
  40. signOutLabel.textColor = NSColor(named: "3091FF")
  41. signOutLabel.font = NSFont.SFProTextRegularFont(14)
  42. signOutImageView.image = NSImage(named: "SignOutImage")
  43. }
  44. func reloadData() {
  45. self.view.wantsLayer = true
  46. self.view.layer?.backgroundColor = NSColor.white.cgColor
  47. userEmailLabel.textColor = NSColor(red: 14/255, green: 17/255, blue: 20/255, alpha: 1)
  48. userEmailLabel.font = ComponentLibrary.shared.getFontFromKey("mac/body-m-bold")
  49. userEmailLabel.stringValue = KMMemberInfo.shared.userEmail
  50. signOutLabel.stringValue = KMLocalizedString("Sign out", tableName: "MemberCenterLocalizable", comment: "")
  51. if let data = KMMemberInfo.shared.avatarImage {
  52. userIconImage.image = data
  53. } else {
  54. userIconImage.image = KMAdvertisementImage.imageWithURL(url: URL(string: KMMemberInfo.shared.avatarUrl) , completion: { [weak self] image in
  55. self?.userIconImage.image = image
  56. KMMemberInfo.shared.avatarImage = image
  57. })
  58. }
  59. }
  60. }