//
//  CountdownTimerConfiguration.swift
//  react-native-firework-sdk
//
//  Created by linjie jiang on 1/26/24.
//

import Foundation
import FireworkVideo

public struct CountdownTimerConfiguration: Codable, Equatable {
    var isHidden: Bool?
    var appearance: AppearanceMode?

    enum AppearanceMode: String, Codable {
        /// Light Mode
        case light
        /// Dark Mode
        case dark

        func fwAppearanceMode() -> FireworkVideo.CountdownTimerConfiguration.AppearanceMode {
            switch self {
            case .dark:
                return .dark
            case .light:
                return .light
            }
        }
    }

    func fwCountdownTimerConfiguration() -> FireworkVideo.CountdownTimerConfiguration {
        var result = FireworkVideo.CountdownTimerConfiguration()
        if let isHidden = isHidden {
            result.isHidden = isHidden
        }

        if let appearance = appearance {
            result.appearance = appearance.fwAppearanceMode()
        }

        return result
    }
}
