admin panel back button

This commit is contained in:
shipovnikaaa 2025-02-19 18:08:01 +03:00
parent 933ac87888
commit 40825f2416
4 changed files with 34 additions and 13 deletions

View File

@ -2,4 +2,4 @@ package ru.myitschool.work.ui.admin
import kotlinx.serialization.Serializable
@Serializable
data object AdminDestination
data class AdminDestination(val username: String)

View File

@ -5,13 +5,17 @@ import android.view.View
import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels
import androidx.navigation.fragment.findNavController
import androidx.navigation.toRoute
import com.squareup.picasso.Picasso
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.asStateFlow
import ru.myitschool.work.R
import ru.myitschool.work.databinding.FragmentAdminBinding
import ru.myitschool.work.ui.login.LoginDestination
import ru.myitschool.work.ui.main.MainDestination
import ru.myitschool.work.ui.qr.result.QrResultDestination
import ru.myitschool.work.ui.qr.scan.QrScanDestination
import ru.myitschool.work.utils.collectWhenStarted
import ru.myitschool.work.utils.TextChangedListener
@ -27,10 +31,25 @@ class AdminFragment : Fragment(R.layout.fragment_admin) {
super.onViewCreated(view, savedInstanceState)
_binding = FragmentAdminBinding.bind(view)
binding.loginadmin.addTextChangedListener(TextChangedListener { viewModel.onUsernameChanged(it) })
subscribe()
binding.find.setOnClickListener {
login(binding.loginadmin.text.toString())
val username =
findNavController().currentBackStackEntry?.toRoute<AdminDestination>()?.username
username?.let { user ->
binding.loginadmin.addTextChangedListener(TextChangedListener {
viewModel.onUsernameChanged(it)
})
subscribe()
binding.adminName.text = user
binding.find.setOnClickListener {
login(binding.loginadmin.text.toString())
}
binding.backAdmin.setOnClickListener{
findNavController().apply {
popBackStack<AdminDestination>(true)
navigate(MainDestination(user))
}
}
}
}

View File

@ -44,7 +44,7 @@ class MainFragment: Fragment(R.layout.fragment_main) {
findNavController().navigate(QrScanDestination)
}
binding.admin.setOnClickListener{
findNavController().navigate(AdminDestination)
findNavController().navigate(AdminDestination(user))
}
}
subscribe()

View File

@ -6,15 +6,16 @@
android:layout_height="match_parent">
<TextView
android:id="@+id/admin_name"
android:layout_width="89dp"
android:layout_height="25dp"
android:id="@+id/adminName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
android:textSize="24sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.118" />
app:layout_constraintVertical_bias="0.089" />
<Button
android:id="@+id/block"
@ -109,13 +110,14 @@
android:id="@+id/loginadmin"
android:layout_width="164dp"
android:layout_height="54dp"
android:layout_marginTop="12dp"
android:layout_marginTop="24dp"
android:ems="10"
android:hint="@string/login_admin_label"
android:inputType="text"
android:hint = "@string/login_admin_label"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.497"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/admin_name" />
app:layout_constraintTop_toBottomOf="@+id/adminName" />
<Button
android:id="@+id/find"