package com.kakaosharelink import androidx.core.content.ContextCompat.startActivity import com.facebook.react.bridge.ReactApplicationContext import com.facebook.react.bridge.ReactContextBaseJavaModule import com.facebook.react.bridge.ReactMethod import com.facebook.react.bridge.Promise import com.facebook.react.bridge.* import com.kakao.sdk.common.KakaoSdk.init import com.kakao.sdk.link.LinkClient import com.kakao.sdk.template.model.* class KakaoShareLinkModule(private val reactContext: ReactApplicationContext) : ReactContextBaseJavaModule(reactContext) { override fun getName(): String { return "KakaoShareLink" } init { val kakaoAppKey = reactContext.resources.getString( reactContext.resources.getIdentifier("kakao_app_key", "string", reactContext.packageName)) init(reactContext, kakaoAppKey) } private fun getS(dict: ReadableMap, key: String): String? { return if (dict.hasKey(key)) dict.getString(key) else null } private fun getI(dict: ReadableMap, key: String): Int? { return if (dict.hasKey(key)) dict.getInt(key) else null } private fun createLink(dict: ReadableMap): Link { val webURL: String? = getS(dict, "webUrl") val mobileWebURL: String? = getS(dict, "mobileWebUrl") return Link(webUrl = webURL, mobileWebUrl = mobileWebURL) } private fun createButton(dict: ReadableMap): Button { val title: String = getS(dict, "title")!! val link: Link = createLink(dict.getMap("link")!!) return Button(title, link) } private fun createButtons(dictArr: ReadableArray): List