package com.proyek.akhir.kodel.ui.user.produk

import android.content.Intent
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import com.bumptech.glide.Glide
import com.proyek.akhir.kodel.R
import com.proyek.akhir.kodel.data.response.ProdukItem
import com.proyek.akhir.kodel.ui.user.produk.detail.DetailProdukActivity
import kotlinx.android.synthetic.main.item_produk.view.*

class ProdukAdapter(private val listProduk: List<ProdukItem>) :
    RecyclerView.Adapter<ProdukAdapter.ProdukViewHolder>() {

    inner class ProdukViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
        fun bind(produk: ProdukItem) {
            with(itemView) {
                Glide.with(itemView.context)
                    .load(produk.gambarProduk)
                    .into(imgProduk)
                namaProduk.text = produk.namaProduk
                hargaProduk.text = produk.hargaProduk.toString()
                categoryProduk.text = produk.satuanProduk
                itemView.setOnClickListener {
                    val intent = Intent(this.context, DetailProdukActivity::class.java)
                    intent.putExtra("idProduk", produk.idProduk.toString())
                    context.startActivity(intent)
                }
            }
        }
    }

    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ProdukViewHolder =
        ProdukViewHolder(
            LayoutInflater.from(parent.context).inflate(
                R.layout.item_produk, parent, false
            )
        )

    override fun getItemCount(): Int = listProduk.size

    override fun onBindViewHolder(holder: ProdukViewHolder, position: Int) {
        holder.bind(listProduk[position])
    }
}