2023-08-12 00:59:02 -06:00
|
|
|
package com.isolaatti.followers.ui
|
|
|
|
|
|
|
|
|
|
import android.os.Bundle
|
|
|
|
|
import android.view.LayoutInflater
|
|
|
|
|
import android.view.View
|
|
|
|
|
import android.view.ViewGroup
|
|
|
|
|
import androidx.fragment.app.Fragment
|
|
|
|
|
import androidx.fragment.app.viewModels
|
2023-08-19 17:31:50 -06:00
|
|
|
import androidx.navigation.findNavController
|
|
|
|
|
import androidx.navigation.fragment.findNavController
|
2023-08-12 00:59:02 -06:00
|
|
|
import com.google.android.material.tabs.TabLayoutMediator
|
|
|
|
|
import com.isolaatti.R
|
|
|
|
|
import com.isolaatti.databinding.FragmentFollowersMainBinding
|
|
|
|
|
import com.isolaatti.followers.presentation.FollowersViewModel
|
|
|
|
|
import com.isolaatti.followers.presentation.FollowersViewPagerAdapter
|
|
|
|
|
import dagger.hilt.android.AndroidEntryPoint
|
|
|
|
|
|
|
|
|
|
@AndroidEntryPoint
|
|
|
|
|
class MainFollowersFragment : Fragment() {
|
|
|
|
|
|
|
|
|
|
private lateinit var binding: FragmentFollowersMainBinding
|
|
|
|
|
private val viewModel: FollowersViewModel by viewModels()
|
|
|
|
|
|
|
|
|
|
override fun onCreateView(
|
|
|
|
|
inflater: LayoutInflater,
|
|
|
|
|
container: ViewGroup?,
|
|
|
|
|
savedInstanceState: Bundle?
|
|
|
|
|
): View {
|
|
|
|
|
binding = FragmentFollowersMainBinding.inflate(inflater)
|
|
|
|
|
|
|
|
|
|
return binding.root
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
|
|
|
|
super.onViewCreated(view, savedInstanceState)
|
|
|
|
|
|
2023-08-15 00:02:29 -06:00
|
|
|
arguments?.getInt(ARGUMENT_USER_ID)?.let {
|
|
|
|
|
viewModel.userId = it
|
|
|
|
|
}
|
|
|
|
|
|
2023-08-12 00:59:02 -06:00
|
|
|
binding.viewPagerFollowersMain.adapter = FollowersViewPagerAdapter(this)
|
|
|
|
|
TabLayoutMediator(binding.tabLayoutFollowers, binding.viewPagerFollowersMain) { tab, position ->
|
|
|
|
|
when(position) {
|
|
|
|
|
0 -> tab.text = getText(R.string.followers)
|
|
|
|
|
1 -> tab.text = getText(R.string.followings)
|
|
|
|
|
}
|
|
|
|
|
}.attach()
|
2023-08-19 17:31:50 -06:00
|
|
|
|
|
|
|
|
binding.toolbar.setNavigationOnClickListener {
|
|
|
|
|
findNavController().popBackStack()
|
|
|
|
|
}
|
2023-08-12 00:59:02 -06:00
|
|
|
}
|
2023-08-15 00:02:29 -06:00
|
|
|
|
|
|
|
|
companion object {
|
|
|
|
|
const val ARGUMENT_USER_ID = "userId"
|
|
|
|
|
}
|
2023-08-12 00:59:02 -06:00
|
|
|
}
|