package com.covalima.rekomendasaunaihan.ui.favorito import android.view.LayoutInflater import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView import com.bumptech.glide.Glide import com.covalima.rekomendasaunaihan.databinding.ItemAihanGridBinding import com.covalima.rekomendasaunaihan.model.Favorito import com.covalima.rekomendasaunaihan.network.ApiClient class FavoritoAdapter( private var lista: List, private val onItemClick: (Favorito) -> Unit ) : RecyclerView.Adapter() { inner class FavoritoViewHolder(val binding: ItemAihanGridBinding) : RecyclerView.ViewHolder(binding.root) override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): FavoritoViewHolder { val binding = ItemAihanGridBinding.inflate(LayoutInflater.from(parent.context), parent, false) return FavoritoViewHolder(binding) } override fun onBindViewHolder(holder: FavoritoViewHolder, position: Int) { val fav = lista[position] holder.binding.tvKategoria.text = "Kategoria: ${fav.naranKategoria ?: "-"}" holder.binding.tvNaranAihan.text = "Naran Aihan: ${fav.naranAihan}" holder.binding.tvRating.text = "★ ${fav.rataBintang}" Glide.with(holder.itemView.context) .load(ApiClient.getFotoUrl(fav.foto)) .placeholder(android.R.color.darker_gray) .error(android.R.color.darker_gray) .into(holder.binding.imgAihan) holder.itemView.setOnClickListener { onItemClick(fav) } } override fun getItemCount() = lista.size fun updateData(newList: List) { lista = newList notifyDataSetChanged() } }