Merge remote-tracking branch 'origin/main'
This commit is contained in:
commit
5cf8fe6f0d
@ -9,6 +9,8 @@ import androidx.navigation.fragment.NavHostFragment
|
||||
import androidx.navigation.fragment.fragment
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import ru.myitschool.work.R
|
||||
import ru.myitschool.work.ui.entrylist.EntryListDestination
|
||||
import ru.myitschool.work.ui.entrylist.EntryListFragment
|
||||
import ru.myitschool.work.ui.login.LoginDestination
|
||||
import ru.myitschool.work.ui.login.LoginFragment
|
||||
import ru.myitschool.work.ui.profile.ProfileDestination
|
||||
@ -39,6 +41,7 @@ class RootActivity : AppCompatActivity() {
|
||||
fragment<ProfileFragment, ProfileDestination>()
|
||||
fragment<QrResultFragment, QrResultDestination>()
|
||||
fragment<QrScanFragment, QrScanDestination>()
|
||||
fragment<EntryListFragment, EntryListDestination>()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,6 @@
|
||||
package ru.myitschool.work.ui.entrylist
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
data object EntryListDestination
|
@ -7,25 +7,27 @@ import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import ru.myitschool.work.R
|
||||
import ru.myitschool.work.databinding.FragmentEntryListBinding
|
||||
import ru.myitschool.work.databinding.FragmentLoginBinding
|
||||
import ru.myitschool.work.ui.login.LoginViewModel
|
||||
|
||||
class EntryListFragment : Fragment() {
|
||||
class EntryListFragment : Fragment(R.layout.fragment_entry_list) {
|
||||
|
||||
companion object {
|
||||
fun newInstance() = EntryListFragment()
|
||||
private var _binding: FragmentEntryListBinding? = null
|
||||
private val binding: FragmentEntryListBinding get() = _binding!!
|
||||
|
||||
private val viewModel: LoginViewModel by viewModels()
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
_binding = FragmentEntryListBinding.bind(view)
|
||||
initCallback()
|
||||
subscribe()
|
||||
}
|
||||
|
||||
private val viewModel: EntryListViewModel by viewModels()
|
||||
private fun initCallback (){
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
// TODO: Use the ViewModel
|
||||
}
|
||||
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater, container: ViewGroup?,
|
||||
savedInstanceState: Bundle?
|
||||
): View {
|
||||
return inflater.inflate(R.layout.fragment_entry_list, container, false)
|
||||
}
|
||||
private fun subscribe(){}
|
||||
}
|
@ -1,6 +1,7 @@
|
||||
package ru.myitschool.work.ui.profile
|
||||
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import android.view.View
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.viewModels
|
||||
@ -10,6 +11,7 @@ import com.squareup.picasso.Picasso
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import ru.myitschool.work.R
|
||||
import ru.myitschool.work.databinding.FragmentProfileBinding
|
||||
import ru.myitschool.work.ui.entrylist.EntryListDestination
|
||||
import ru.myitschool.work.ui.login.LoginDestination
|
||||
import ru.myitschool.work.ui.qr.result.QrResultDestination
|
||||
import ru.myitschool.work.ui.qr.scan.QrScanDestination
|
||||
@ -74,12 +76,19 @@ class ProfileFragment : Fragment(R.layout.fragment_profile) {
|
||||
}
|
||||
}
|
||||
|
||||
is ProfileViewModel.Action.OpenLog -> {
|
||||
findNavController().navigate(EntryListDestination) {
|
||||
popUpTo<EntryListDestination> { inclusive = true }
|
||||
}
|
||||
}
|
||||
|
||||
is ProfileViewModel.Action.OpenScan -> {
|
||||
findNavController().apply {
|
||||
navigate(QrResultDestination)
|
||||
navigate(QrScanDestination)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -87,6 +96,7 @@ class ProfileFragment : Fragment(R.layout.fragment_profile) {
|
||||
private fun initCallback() {
|
||||
binding.logout.setOnClickListener { viewModel.clickLogout() }
|
||||
binding.scan.setOnClickListener { viewModel.clickScan() }
|
||||
binding.entryList.setOnClickListener{ viewModel.clickLog()}
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
|
@ -45,7 +45,11 @@ class ProfileViewModel @Inject constructor(
|
||||
_action.emit(Action.OpenLogin)
|
||||
}
|
||||
}
|
||||
|
||||
fun clickLog(){
|
||||
viewModelScope.launch {
|
||||
_action.emit(Action.OpenLog)
|
||||
}
|
||||
}
|
||||
fun clickScan() {
|
||||
viewModelScope.launch {
|
||||
_action.emit(Action.OpenScan)
|
||||
@ -96,6 +100,7 @@ class ProfileViewModel @Inject constructor(
|
||||
sealed interface Action {
|
||||
data object OpenLogin : Action
|
||||
data object OpenScan : Action
|
||||
data object OpenLog : Action
|
||||
}
|
||||
|
||||
private companion object {
|
||||
|
Loading…
x
Reference in New Issue
Block a user