package com.covalima.rekomendasaunaihan.ui.ingredientes import android.view.LayoutInflater import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView import com.bumptech.glide.Glide import com.covalima.rekomendasaunaihan.databinding.ItemIngredientesBinding import com.covalima.rekomendasaunaihan.model.Ingredientes import com.covalima.rekomendasaunaihan.network.ApiClient class IngredientesAdapter( private var listIngredientes: List, private val onItemClick: (Ingredientes) -> Unit ) : RecyclerView.Adapter() { inner class IngredientesViewHolder(val binding: ItemIngredientesBinding) : RecyclerView.ViewHolder(binding.root) override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): IngredientesViewHolder { val binding = ItemIngredientesBinding.inflate(LayoutInflater.from(parent.context), parent, false) return IngredientesViewHolder(binding) } override fun onBindViewHolder(holder: IngredientesViewHolder, position: Int) { val ingredientes = listIngredientes[position] holder.binding.tvNaranIngredientes.text = "Naran Ingredientes: ${ingredientes.naranIngredientes}" holder.binding.tvDeskrisaun.text = "Deskrisaun: ${ingredientes.deskrisaun ?: "-"}" Glide.with(holder.itemView.context) .load(ApiClient.getFotoUrl(ingredientes.foto)) .placeholder(android.R.color.darker_gray) .error(android.R.color.darker_gray) .into(holder.binding.imgIngredientes) holder.binding.cardContent.setOnClickListener { onItemClick(ingredientes) } } override fun getItemCount() = listIngredientes.size fun updateData(newList: List) { listIngredientes = newList notifyDataSetChanged() } }