package com.example.doctor.Appeals

import android.os.Bundle
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.FragmentActivity
import com.example.doctor.Adapter.VpAdapter
import com.example.doctor.R
import com.example.doctor.Appeals.TabLayout.OldAppealsFragment
import com.example.doctor.Appeals.TabLayout.NewAppealsFragment
import com.example.doctor.databinding.FragmentAppealsBinding
import com.google.android.material.tabs.TabLayoutMediator


class AppealsFragment : Fragment() {
    private lateinit var binding:FragmentAppealsBinding

    private val tList = listOf(
        "новые",
        "обработанные",
    )

    //Список с фрагментами для переключения
    private val flist = listOf(
        NewAppealsFragment.newInstance(),
        OldAppealsFragment.newInstance(),
    )

    override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        binding = FragmentAppealsBinding.inflate(layoutInflater, container, false)
        return binding.root
    }

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)

        init()
    }

    //Функция подключения переключения
    private fun init() = with(binding) {
        val adapter = VpAdapter(activity as FragmentActivity, flist)
        vpProduct.adapter = adapter

        //Переключения (связываем таблаяут(переключатель) с viewpager, чтобы переключать фрагменты)
        TabLayoutMediator(tabLayoutProduct, vpProduct) { tab, pos ->
            tab.text =
                tList[pos]//tab - нажатая кнопка, pos - позиция кнопки, tList[pos] - передаем название по полученной позиции
        }.attach()// attach() - чтобы все переключалось, а не вывадило постоянно один экран

        //Изменения цвета в зависомости на каком из tabLayout вы находитесь
        binding.tabLayoutProduct.setTabTextColors(getResources().getColor(R.color.black),
            getResources().getColor(R.color.white));
    }

    companion object {

        fun newInstance() = AppealsFragment()
    }
}