package com.reactnativezoom.videosdk;

import androidx.annotation.NonNull;

import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.uimanager.SimpleViewManager;
import com.facebook.react.uimanager.ThemedReactContext;
import com.facebook.react.uimanager.annotations.ReactProp;
import com.reactnativezoom.videosdk.convert.RNZoomVideoSdkVideoResolution;

import us.zoom.sdk.ZoomVideoSDKVideoResolution;

public class RNZoomBroadcastStreamingViewManager extends SimpleViewManager<RNZoomBroadcastStreamingView> {

    public static final String REACT_CLASS = "RNZoomBroadcastStreamingView";

    public static RNZoomBroadcastStreamingViewManager createInstance(ReactApplicationContext context) {
        return new RNZoomBroadcastStreamingViewManager();
    }

    @NonNull
    @Override
    public String getName() {
        return REACT_CLASS;
    }

    @NonNull
    @Override
    protected RNZoomBroadcastStreamingView createViewInstance(@NonNull ThemedReactContext reactContext) {
        return new RNZoomBroadcastStreamingView(reactContext);
    }

    @ReactProp(name = "videoResolution")
    public void setVideoResolution(RNZoomBroadcastStreamingView view, String value) {
        ZoomVideoSDKVideoResolution resolution = RNZoomVideoSdkVideoResolution.valueOf(value);
        if (resolution != null) {
            view.setVideoResolution(resolution);
        }
    }
}
