//
//  CircleStoryManager.swift
//  react-native-firework-sdk
//

import FireworkVideo
import Foundation

@objc(FWCircleStoryManager)
class FWCircleStoryManager: RCTViewManager, CircleStoryDelegate {
    override func view() -> UIView! {
        _ = FWSAppLanguageManager.shared
        let circleStory = CircleStory()
        circleStory.delegate = self

        return circleStory
    }

    override class func requiresMainQueueSetup() -> Bool {
        return true
    }

    override var methodQueue: DispatchQueue {
        return DispatchQueue.main
    }

    func circleStoryDidLoadFeed(_ view: CircleStory) {
        view.onCircleStoryLoadFinished?(nil)
    }

    func circleStory(_ view: CircleStory, didFailToLoadFeed error: VideoFeedError) {
        if case .contentSourceError(let feedContentSourceError) = error,
           case .emptyFeed = feedContentSourceError {
            view.onCircleStoryEmpty?(nil)
        } else {
            view.onCircleStoryLoadFinished?(error.jsObject)
        }
    }
}
