package com.almadev.alanreactmodule import android.view.Gravity import android.widget.FrameLayout import com.alan.alansdk.button.AlanButton import com.facebook.react.bridge.ReactApplicationContext import com.facebook.react.bridge.ReactContextBaseJavaModule import com.facebook.react.bridge.ReactMethod import com.facebook.react.uimanager.ReactProp import com.facebook.react.uimanager.SimpleViewManager import com.facebook.react.uimanager.ThemedReactContext import androidx.core.view.accessibility.AccessibilityRecordCompat.setSource import com.facebook.react.bridge.ReadableArray import com.facebook.react.views.image.ReactImageView class AlanButtonViewManager : SimpleViewManager() { private var cachedButton: AlanButton? = null override fun getName(): String { return "AlanButtonView" } @ReactProp(name = "align") fun setAlign(button: AlanButton, align: Int) { button.setButtonAlign(align) } @ReactProp(name = "projectId") fun setAlign(button: AlanButton, projectId: String) { button.initSDK(projectId) } override fun createViewInstance(reactContext: ThemedReactContext?): AlanButton { val alanButton = AlanButton(reactContext!!, null) val params = FrameLayout.LayoutParams( FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT ) params.gravity = Gravity.BOTTOM or Gravity.END alanButton.layoutParams = params cachedButton = alanButton return alanButton } @ReactMethod fun setVisuals(visuals: String) { cachedButton?.sdk?.setVisuals(visuals) } }