package com.covalima.rekomendasaunaihan.ui.aihan import android.content.Intent import android.os.Bundle import android.view.View import android.widget.Toast import androidx.appcompat.app.AppCompatActivity import androidx.recyclerview.widget.GridLayoutManager import com.covalima.rekomendasaunaihan.databinding.ActivityAihanFiltruBinding import com.covalima.rekomendasaunaihan.model.Aihan import com.covalima.rekomendasaunaihan.model.ApiResponse import com.covalima.rekomendasaunaihan.network.ApiClient import com.covalima.rekomendasaunaihan.ui.detail.DetailAihanActivity import com.covalima.rekomendasaunaihan.ui.home.GridAihanAdapter import retrofit2.Call import retrofit2.Callback import retrofit2.Response /** * Hatudu lista ai-han tradisionál ne'ebé filtradu tuir Kategoria ka * Ingredientes ne'ebé utilizadór hili husi "Lista Kategoria" ka * "Lista Ingredientes". Sr: click "Da'an" -> hatudu hotu-hotu ai-han * ho kategoria "Da'an" (Kaldu Naan, Koto Tisi); click "Akar" -> hatudu * ai-han "Akar" ne'ebé uza ingredientes "Akar". */ class AihanFiltruActivity : AppCompatActivity() { private lateinit var binding: ActivityAihanFiltruBinding private lateinit var adapter: GridAihanAdapter override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityAihanFiltruBinding.inflate(layoutInflater) setContentView(binding.root) val idKategoria = intent.getIntExtra("id_kategoria", -1).takeIf { it > 0 } val idIngredientes = intent.getIntExtra("id_ingredientes", -1).takeIf { it > 0 } val naranGrupu = intent.getStringExtra("naran_grupu") ?: "-" val tipuGrupu = intent.getStringExtra("tipu_grupu") ?: "Kategoria" setSupportActionBar(binding.toolbar) supportActionBar?.setDisplayHomeAsUpEnabled(true) supportActionBar?.title = "$tipuGrupu: $naranGrupu" binding.toolbar.setNavigationOnClickListener { finish() } adapter = GridAihanAdapter(emptyList()) { aihan -> val intent = Intent(this, DetailAihanActivity::class.java) intent.putExtra("id_aihan", aihan.idAihan) // Se liu husi filtru Ingredientes, hatudu FOTO RESEP iha Detalhe if (idIngredientes != null) { intent.putExtra("uza_foto_resep", true) } startActivity(intent) } binding.rvAihanFiltru.layoutManager = GridLayoutManager(this, 2) binding.rvAihanFiltru.adapter = adapter loadAihan(idKategoria, idIngredientes) } private fun loadAihan(idKategoria: Int?, idIngredientes: Int?) { binding.progressBar.visibility = View.VISIBLE binding.tvEmpty.visibility = View.GONE ApiClient.apiService.getListAihanTuirFiltru(idKategoria, idIngredientes) .enqueue(object : Callback>> { override fun onResponse( call: Call>>, response: Response>> ) { binding.progressBar.visibility = View.GONE val data = response.body()?.data ?: emptyList() if (data.isEmpty()) { binding.tvEmpty.visibility = View.VISIBLE binding.tvSubtitulu.text = "0 ai-han hetan" } else { binding.tvSubtitulu.text = "${data.size} ai-han hetan" adapter.updateData(data) } } override fun onFailure(call: Call>>, t: Throwable) { binding.progressBar.visibility = View.GONE binding.tvEmpty.visibility = View.VISIBLE Toast.makeText(this@AihanFiltruActivity, "Konesaun falha: ${t.message}", Toast.LENGTH_SHORT).show() } }) } }