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

import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Toast
import androidx.lifecycle.Observer
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.LinearLayoutManager
import com.google.android.material.snackbar.Snackbar
import com.proyek.akhir.kodel.R
import com.proyek.akhir.kodel.data.local.Produk
import com.proyek.akhir.kodel.data.response.ProdukItem
import com.proyek.akhir.kodel.ui.koperasi.produk.addProduk.TambahProdukActivity
import com.proyek.akhir.kodel.ui.user.produk.ProdukAdapter
import com.proyek.akhir.kodel.ui.user.produk.ProdukViewModel
import kotlinx.android.synthetic.main.activity_produk_koperasi.*

class ProdukKoperasiActivity : AppCompatActivity() {

    private lateinit var produkViewModel: ProdukViewModel

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_produk_koperasi)

        rvProdukKoperasi.setHasFixedSize(true)
        rvProdukKoperasi.layoutManager =
            LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false)

        refreshProductKoperasi.setOnRefreshListener {
            refreshProductKoperasi.isRefreshing = true
            showRecyclerProduk()
        }

        refreshProductKoperasi.isRefreshing = true
        showRecyclerProduk()

        addProdukKoperasi.setOnClickListener { view ->
            startActivity(Intent(this, TambahProdukActivity::class.java))
        }

    }

    private fun showRecyclerProduk() {
        produkViewModel = ViewModelProvider(this).get(ProdukViewModel::class.java)
        produkViewModel.setDataProduk().observe(this, Observer { produk ->
            if (produk != null) {
                showProduct(produk)
                refreshProductKoperasi.isRefreshing = false
            } else {
                refreshProductKoperasi.isRefreshing = false
                Toast.makeText(this, "Jaringan Lemah", Toast.LENGTH_SHORT).show()
            }
        })
    }

    private fun showProduct(item: List<ProdukItem>) {
        rvProdukKoperasi.adapter = ProdukAdapter(item)

    }
}
