package com.tamarasdk.ui
import android.app.Activity
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import com.tamarasdk.InformationResult
import com.tamarasdk.R
import com.tamarasdk.TamaraPayment
import com.tamarasdk.const.Information
import com.tamarasdk.model.request.WidgetProperties
import com.tamarasdk.model.response.CartPage
import com.tamarasdk.model.response.Product
class TamaraWidgetFragment: Fragment() {
companion object {
const val ARG_TYPE = "type"
const val ARG_PROPERTIES = "properties"
const val CART_PAGE = "CART"
const val PRODUCT = "PRODUCT"
}
private var properties: WidgetProperties? = null
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View {
return inflater.inflate(R.layout.tamara_fragment_widget, container, false)
}
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
arguments?.let {
properties = it.getParcelable(ARG_PROPERTIES)
val type = it.getString(ARG_TYPE)
it.remove(ARG_PROPERTIES)
it.remove(ARG_TYPE)
properties?.let {
when(type) {
CART_PAGE -> {
val intent = InformationResult.successIntent("INFORMATION_RESULT")
intent.putExtra(Information.CART.toString(), CartPage(script = generateUI(it.language, it.country, it.publicKey, it.amount, "3"),
url = generateURL(it.language, it.country, it.publicKey, it.amount, "3")))
activity?.setResult(
Activity.RESULT_OK, intent)
activity?.finish()
}
PRODUCT -> {
val intent = InformationResult.successIntent("INFORMATION_RESULT")
intent.putExtra(Information.PRODUCT.toString(), Product(script = generateUI(it.language, it.country, it.publicKey, it.amount, "2"),
url = generateURL(it.language, it.country, it.publicKey, it.amount, "2")))
activity?.setResult(
Activity.RESULT_OK, intent)
activity?.finish()
}
else -> {
}
}
}
}
}
fun generateUI(language: String, country: String, publicKey: String,
amount: Double, inline: String): String {
var srcScript = "https://cdn-sandbox.tamara.co/widget-v2/tamara-widget.js"
if (!TamaraPayment.getInstance().isSandbox) {
srcScript = "https://cdn.tamara.co/widget-v2/tamara-widget.js"
}
return "\n" +
" \n" +
"\n" +
" \n" +
" "
}
fun generateURL(language: String, country: String, publicKey: String,
amount: Double, inline: String): String {
if (TamaraPayment.getInstance().isSandbox) {
return "https://cdn-sandbox.tamara.co/widget-v2/tamara-widget.html?lang=$language&public_key=$publicKey&country=$country&amount=$amount&inline_type=$inline"
}
return "https://cdn.tamara.co/widget-v2/tamara-widget.html?lang=$language&public_key=$publicKey&country=$country&amount=$amount&inline_type=$inline"
}
}