package com.example.doctor


import android.annotation.SuppressLint
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import com.example.doctor.Appeals.AppealsFragment
import com.example.doctor.Home.HomeFragment
import com.example.doctor.Patients.PatientsListFragment
import com.example.doctor.Pref.ConclusionPref
import com.example.doctor.Pref.SavePref
import com.example.doctor.Setting.SettingFragment
import com.example.doctor.databinding.FragmentMainBinding


class MainFragment : Fragment() {
    private lateinit var binding: FragmentMainBinding

    val prefDoctorSave = SavePref()
    val prefDoctorConclusion = ConclusionPref()

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

    @SuppressLint("ResourceType")
    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)

        //MainAndAuth()
        fragment_inicializ()
    }

//    fun MainAndAuth(){
//
//        //Token = prefDoctorConclusion.conclusionToken()
//        if(Token == ""){
//            Auth()
//        }
//        else{
//            Main()
//        }
//    }

//    fun Auth(){
//        val intetn = Intent(requireContext(), AuthActivity::class.java)
//        startActivity(intetn)
//        activity?.finish()
//    }
//    fun Main(){
//        fragment_inicializ()
//    }



    //Инициализация фрагментов
    fun fragment_inicializ() {
        Token = prefDoctorConclusion.conclusionToken(requireContext())
        //Вывод фрагмента на активити при первоначальной загрузке
        activity?.supportFragmentManager?.beginTransaction()
            ?.replace(R.id.CLMainFragment, HomeFragment.newInstance())
            ?.commit()//Заменяем наш экран на фрагмент (используем наш экран как основу)//R.id.placeHolder - куда всталяем //MainFragment.newInstance() - это то что мы вставляем


        //Эран который будет выбран по умолчанию(кнопка которая будет прожата по умолчанию)
        binding.buttonNavigation.selectedItemId = R.id.home//По умолчанию и так первая, но на всякий случай выберу еще програмным путем первую ячейку

        //Нажатие на bottom navigation
        binding.buttonNavigation.setOnItemSelectedListener {

            when (it.itemId) {//it.itemId - это id нажатого элемента
                R.id.home -> {
                    activity?.supportFragmentManager?.beginTransaction()
                        ?.replace(R.id.CLMainFragment, HomeFragment.newInstance())?.commit()//Заменяем наш экран на фрагмент (используем наш экран как основу)//R.id.placeHolder - куда всталяем //MainFragment.newInstance() - это то что мы вставляем
                }
                R.id.patient -> {
                    activity?.supportFragmentManager?.beginTransaction()
                        ?.replace(R.id.CLMainFragment, PatientsListFragment.newInstance())?.commit()//Заменяем наш экран на фрагмент (используем наш экран как основу)//R.id.placeHolder - куда всталяем //MainFragment.newInstance() - это то что мы вставляем
                }


                R.id.list_check -> {//Если вы не авторизованный пользваотель то вам не будет доступен доступ к данном фрагменту
                    activity?.supportFragmentManager?.beginTransaction()
                        ?.replace(R.id.CLMainFragment, AppealsFragment.newInstance())?.commit()//Заменяем наш экран на фрагмент (используем наш экран как основу)//R.id.placeHolder - куда всталяем //MainFragment.newInstance() - это то что мы вставляем
                }
                R.id.setting -> {//Если вы не авторизованный пользваотель то вам не будет доступен доступ к данном фрагменту
                    activity?.supportFragmentManager?.beginTransaction()
                        ?.replace(R.id.CLMainFragment, SettingFragment.newInstance())?.commit()//Заменяем наш экран на фрагмент (используем наш экран как основу)//R.id.placeHolder - куда всталяем //MainFragment.newInstance() - это то что мы вставляем
                }

            }
            true
        }
    }

    companion object {

        fun newInstance() = MainFragment()
    }
}