import Foundation
import BlazeSDK

class BlazeMomentsRowWidget: BlazeWidgetMomentsBase<BlazeMomentsWidgetRowView> {
    override func didSetProps(_ changedProps: [String]!) {
        widget.widgetIdentifier = "moments-row-\(reactTag.intValue)"
        
        super.didSetProps(changedProps)
        
        setupPlayerStyle()
    }
    
    func setupPlayerStyle() {
        let momentsStyle = blazeMomentsPlayerStyle.extractPlayerMomentsStyle()
        widget.momentsPlayerStyle = momentsStyle
    }

    override func createWidget() -> BlazeWidgetView {
        let layout = BlazeWidgetLayout.Presets.MomentsWidget.Row.verticalRectangles // Default layout for row.
        let widget = BlazeMomentsWidgetRowView(layout: layout)
        return widget
    }
    
    override func parseLayout(from presetWidgetLayout: String?) -> BlazeWidgetLayout {
        let layout: BlazeWidgetLayout
        switch(presetWidgetLayout) {
        case "widgetRectangle":
            layout = BlazeWidgetLayout.Presets.MomentsWidget.Row.verticalRectangles
        default:
            layout = BlazeWidgetLayout.Presets.MomentsWidget.Row.verticalRectangles
        }
        return layout
    }
    
}
