//
//  MPPositive_SearchResultShowTableViewCell.swift
//  MusicPlayer
//
//  Created by Mr.Zhou on 2024/5/13.
//

import UIKit

class MPPositive_SearchResultShowTableViewCell: UITableViewCell {
    //特殊图片（展示预览图片）
    private lazy var iconImageView:UIImageView = {
        let imageView:UIImageView = .init()
        imageView.contentMode = .scaleAspectFill
        imageView.layer.masksToBounds = true
        return imageView
    }()
    private lazy var titleLabel:UILabel = createLabel(font: .systemFont(ofSize: 14*width, weight: .regular), textColor: .white, textAlignment: .left)
    private lazy var subtitleLabel:UILabel = createLabel(font: .systemFont(ofSize: 12*width, weight: .regular), textColor: .init(hex: "#FFFFFF", alpha: 0.6), textAlignment: .left)
    ///更多按钮
    private lazy var moreBtn:UIButton = {
        let btn:UIButton = .init()
        btn.setBackgroundImage(UIImage(named: "Song_More'logo"), for: .normal)
        btn.addTarget(self, action: #selector(moreActionClick(_ :)), for: .touchUpInside)
        return btn
    }()
    ///下载状态按钮
    private lazy var loadBtn:UIButton = {
        let btn:UIButton = .init()
        btn.setBackgroundImage(UIImage(named: "Song_Unload'logo"), for: .normal)
        btn.setBackgroundImage(UIImage(named: "Song_Loaded'logo"), for: .selected)
        btn.addTarget(self, action: #selector(loadActionClick(_ :)), for: .touchUpInside)
        return btn
    }()
    var itemView:MPPositive_SearchResultItemViewModel!{
        didSet{
            itemView.setImage(iconImageView)
            titleLabel.text = itemView.title
            subtitleLabel.text = itemView.subtitle
            //检索类型
            if itemView.item.itemType == .single {
                moreBtn.isHidden = false
                loadBtn.isHidden = false
            }else {
                moreBtn.isHidden = true
                loadBtn.isHidden = true
            }
        }
    }
    override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
        super.init(style: style, reuseIdentifier: reuseIdentifier)
        selectionStyle = .none
        backgroundColor = .clear
        configure()
    }
    
    required init?(coder: NSCoder) {
        super.init(coder: coder)
    }
    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code
    }

    override func setSelected(_ selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)

        // Configure the view for the selected state
    }
    private func configure() {
        contentView.addSubview(iconImageView)
        iconImageView.snp.makeConstraints { make in
            make.width.height.equalTo(60*width)
            make.top.equalToSuperview().offset(8*width).priority(999)
            make.bottom.equalToSuperview().offset(-8*width)
            make.left.equalToSuperview().offset(18*width)
        }
        contentView.addSubview(moreBtn)
        moreBtn.snp.makeConstraints { make in
            make.width.height.equalTo(24*width)
            make.centerY.equalTo(iconImageView.snp.centerY)
            make.right.equalToSuperview().offset(-18*width)
        }
        contentView.addSubview(loadBtn)
        loadBtn.snp.makeConstraints { make in
            make.width.height.equalTo(24*width)
            make.centerY.equalTo(iconImageView.snp.centerY)
            make.right.equalToSuperview().offset(-54*width)
        }
        contentView.addSubview(titleLabel)
        titleLabel.snp.makeConstraints { make in
            make.top.equalTo(iconImageView.snp.top).offset(10*width)
            make.left.equalTo(iconImageView.snp.right).offset(12*width)
            make.right.equalTo(loadBtn.snp.left).offset(-10*width)
        }
        contentView.addSubview(subtitleLabel)
        subtitleLabel.snp.makeConstraints { make in
            make.bottom.equalTo(iconImageView.snp.bottom).offset(-10*width)
            make.left.equalTo(titleLabel.snp.left)
            make.right.equalTo(titleLabel.snp.right)
        }
    }
    
    //点击更多
    @objc private func moreActionClick(_ sender:UIButton) {
        
    }
    //点击下载
    @objc private func loadActionClick(_ sender:UIButton) {
        
    }
}
