package com.proyek.akhir.kodel.ui.koperasi.beranda.pengguna

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.proyek.akhir.kodel.R
import com.proyek.akhir.kodel.data.response.AnggotaItem
import com.proyek.akhir.kodel.ui.koperasi.beranda.HomeViewModel
import kotlinx.android.synthetic.main.activity_pengguna.*

class PenggunaActivity : AppCompatActivity() {

    private lateinit var viewModelPengguna: HomeViewModel
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_pengguna)

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

        refreshPenggunaKoperasi.setOnRefreshListener {
            refreshPenggunaKoperasi.isRefreshing = true
            showRecyclerView()
        }
        refreshPenggunaKoperasi.isRefreshing = true
        showRecyclerView()
    }

    private fun showRecyclerView() {
        viewModelPengguna = ViewModelProvider(this).get(HomeViewModel::class.java)
        viewModelPengguna.getAnggotaKoperasi()
        viewModelPengguna.setDataAnggota().observe(this, Observer { pengguna ->
            if (pengguna != null) {
                refreshPenggunaKoperasi.isRefreshing = false
                showDataAnggota(pengguna)
            } else {
                refreshPenggunaKoperasi.isRefreshing = false
                Toast.makeText(this, "Koneksi Lemah, Refresh!", Toast.LENGTH_SHORT).show()
            }
        })
    }

    private fun showDataAnggota(anggotaItem: List<AnggotaItem>) {
        rvPenggunaKoperasi.adapter = PenggunaAdapter(anggotaItem)
    }
}

