package com.myfatoorahreactnative;

import androidx.annotation.NonNull;

import com.facebook.react.ReactPackage;
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.uimanager.ViewManager;
import com.myfatoorahreactnative.cardview.MFCardViewManager;
import com.myfatoorahreactnative.cardviewv3.MFCardV3Module;
import com.myfatoorahreactnative.cardviewv3.MFCardViewV3Manager;
import com.myfatoorahreactnative.googlepay.GooglePayButtonConstantsModule;
import com.myfatoorahreactnative.googlepay.MFGPayModule;
import com.myfatoorahreactnative.googlepay.MFGooglePayManager;
import com.myfatoorahreactnative.sdkhelper.MFModule;

import java.util.ArrayList;
import java.util.List;

public class MFPackage implements ReactPackage {
  @NonNull
  @Override
  public List<NativeModule> createNativeModules(@NonNull ReactApplicationContext reactContext) {
    List<NativeModule> modules = new ArrayList<>();
    modules.add(new MFModule(reactContext));
    modules.add(new MFGPayModule(reactContext));
    modules.add(new GooglePayButtonConstantsModule(reactContext));
    modules.add(new MFCardV3Module(reactContext));
    return modules;
  }

  @NonNull
  @Override
  public List<ViewManager> createViewManagers(@NonNull ReactApplicationContext reactContext) {
    List<ViewManager> modules = new ArrayList<>();
    modules.add(new MFCardViewManager(reactContext));
    modules.add(new MFGooglePayManager(reactContext));
    modules.add(new MFCardViewV3Manager(reactContext));
    return modules;
  }
}
