import UIKit
import BlazeSDK
import React

class BlazeStoriesGridWidget: BlazeWidgetBase<BlazeStoriesWidgetGridView> {
    override func didSetProps(_ changedProps: [String]!) {
        widget.widgetIdentifier = "stories-grid-\(reactTag.intValue)"
        super.didSetProps(changedProps)
        
        setupPlayerStyle()
    }
    
    func setupPlayerStyle() {
        let storyStyle = playerStyle.extractPlayerStoryStyle()
        widget.storyPlayerStyle = storyStyle
    }
    
    override func createWidget() -> BlazeWidgetView {
        let layout = BlazeWidgetLayout.Presets.StoriesWidget.Grid.twoColumnsVerticalRectangles // Default layout for grid.
        let widget = BlazeStoriesWidgetGridView(layout: layout)
        
        return widget
    }
    
    override func parseLayout(from presetWidgetLayout: String?) -> BlazeWidgetLayout {        
        guard let layout = presetWidgetLayout?.asWidgetLayoutPreset else {
            // Default.
            return BlazeWidgetLayout.Presets.StoriesWidget.Grid.twoColumnsVerticalRectangles
        }
        
        return layout
    }
    
}
