// // KMBetaUserInfoController.swift // PDF Reader Pro // // Created by kdanmobile on 2025/3/1. // import Cocoa import KMComponentLibrary class KMBetaUserInfoController: KMNBaseViewController { @IBOutlet var userIconImage: NSImageView! @IBOutlet var userEmailLabel: NSTextField! @IBOutlet weak var signOutBox: KMBox! @IBOutlet weak var signOutImageView: NSImageView! @IBOutlet weak var signOutLabel: NSTextField! override func viewDidLoad() { super.viewDidLoad() // Do view setup here. self.reloadData() } override func initContentView() { super.initContentView() userIconImage.wantsLayer = true userIconImage.layer?.cornerRadius = 20 userIconImage.layer?.masksToBounds = true signOutBox.borderWidth = 0 signOutBox.moveCallback = { [weak self](mouseEntered: Bool, mouseBox: KMBox) -> Void in guard let self = self else { return } if mouseEntered { self.signOutLabel.textColor = NSColor(named: "3091FF") self.signOutImageView.image = NSImage(named: "SignOutImage_Hov") } else { self.signOutLabel.textColor = NSColor(named: "3091FF") self.signOutImageView.image = NSImage(named: "SignOutImage") } } signOutBox.downCallback = { [weak self](downEntered: Bool, mouseBox: KMBox, event) -> Void in guard let _ = self else { return } KMUserInfoVCModel().signOutAction() } signOutLabel.textColor = NSColor(named: "3091FF") signOutLabel.font = NSFont.SFProTextRegularFont(14) signOutImageView.image = NSImage(named: "SignOutImage") } func reloadData() { self.view.wantsLayer = true self.view.layer?.backgroundColor = NSColor.white.cgColor userEmailLabel.textColor = NSColor(red: 14/255, green: 17/255, blue: 20/255, alpha: 1) userEmailLabel.font = ComponentLibrary.shared.getFontFromKey("mac/body-m-bold") userEmailLabel.stringValue = KMMemberInfo.shared.userEmail signOutLabel.stringValue = KMLocalizedString("Sign out", tableName: "MemberCenterLocalizable", comment: "") if let data = KMMemberInfo.shared.avatarImage { userIconImage.image = data } else { userIconImage.image = KMAdvertisementImage.imageWithURL(url: URL(string: KMMemberInfo.shared.avatarUrl) , completion: { [weak self] image in self?.userIconImage.image = image KMMemberInfo.shared.avatarImage = image }) } } }