//
//  ButtonInfo.swift
//
//  Created by linjie jiang on 7/28/23.
//

import Foundation
import FireworkVideo

@objc
public class ButtonInfo: NSObject, Codable {
    var imageName: String?
    var systemImageName: String?
    var tintColor: String?

    public func getButtonDisplayConfiguration() -> ButtonDisplayConfiguration? {
        if let imageName = imageName, let image = UIImage(named: imageName) {
            var config = ButtonDisplayConfiguration()
            config.displayMode = .image(image)
            return config
        }

        if #available(iOS 13.0, *) {
            if let systemImageName = systemImageName, let image = UIImage(systemName: systemImageName) {
                var config = ButtonDisplayConfiguration()
                config.displayMode = .image(image)
                if let tintColor = tintColor?.uicolor() {
                    config.tintColor = tintColor
                }
                return config
            }
        }

        return nil
    }
}
