//
//  KMWinBackDespView.swift
//  PDF Reader Pro
//
//  Created by User-Tangchao on 2025/1/15.
//

import Cocoa

class KMWinBackDespView: NSView {
    private lazy var iconIv_: NSImageView = {
        let view = NSImageView()
        return view
    }()
    
    private lazy var titleLabel_: NSTextField = {
        let view = NSTextField(wrappingLabelWithString: "")
        view.font = .SFProTextRegularFont(20)
        return view
    }()
    
    private lazy var subTitleLabel_: NSTextField = {
        let view = NSTextField(wrappingLabelWithString: "")
        return view
    }()
    
    private lazy var hLine_: NSView = {
        let view = NSView()
        view.wantsLayer = true
        return view
    }()
    
    private lazy var tipLabel_: NSTextField = {
        let view = NSTextField(wrappingLabelWithString: "")
        view.font = .SFProTextRegularFont(14)
        return view
    }()
    
    var iconIv: NSImageView {
        get {
            return iconIv_
        }
    }
    
    var titleLabel: NSTextField {
        get {
            return titleLabel_
        }
    }
    
    var subTitleLabel: NSTextField {
        get {
            return subTitleLabel_
        }
    }
    
    var hLine: NSView {
        get {
            return hLine_
        }
    }
    
    var tipLabel: NSTextField {
        get {
            return tipLabel_
        }
    }
    
    convenience init() {
        self.init(frame: .init(x: 0, y: 0, width: 200, height: 40))
        
        initSubviews()
    }
    
    override func awakeFromNib() {
        super.awakeFromNib()
        
        initSubviews()
    }
    
    public func initSubviews() {
        addSubview(iconIv_)
        addSubview(titleLabel_)
        addSubview(subTitleLabel_)
        addSubview(hLine_)
        addSubview(tipLabel_)
        
        iconIv_.mas_makeConstraints { make in
            make?.size.mas_equalTo()(NSMakeSize(72, 72))
            make?.leading.mas_equalTo()(20)
            make?.top.mas_equalTo()(16)
        }
        
        titleLabel_.mas_makeConstraints { make in
            make?.leading.equalTo()(self.iconIv_.mas_trailing)?.offset()(16)
            make?.top.mas_equalTo()(16)
            make?.trailing.mas_equalTo()(-20)
        }
        
        subTitleLabel_.mas_makeConstraints { make in
            make?.leading.equalTo()(self.iconIv_.mas_trailing)?.offset()(16)
            make?.trailing.mas_equalTo()(-20)
            make?.top.equalTo()(titleLabel_.mas_bottom)?.offset()(4)
        }
        
        hLine_.mas_makeConstraints { make in
            make?.leading.mas_equalTo()(20)
            make?.trailing.mas_equalTo()(-20)
            make?.top.equalTo()(iconIv_.mas_bottom)?.offset()(12)
            make?.height.mas_equalTo()(1)
        }
        
        tipLabel_.mas_makeConstraints { make in
            make?.leading.mas_equalTo()(20)
            make?.trailing.mas_equalTo()(-20)
            make?.top.equalTo()(hLine_.mas_bottom)?.offset()(12)
        }
    }
}