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 import kotlinx.serialization.Serializable
@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.Fragment
import androidx.fragment.app.viewModels import androidx.fragment.app.viewModels
import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.findNavController
import androidx.navigation.toRoute
import com.squareup.picasso.Picasso import com.squareup.picasso.Picasso
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.asStateFlow
import ru.myitschool.work.R import ru.myitschool.work.R
import ru.myitschool.work.databinding.FragmentAdminBinding 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.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.collectWhenStarted
import ru.myitschool.work.utils.TextChangedListener import ru.myitschool.work.utils.TextChangedListener
@ -27,10 +31,25 @@ class AdminFragment : Fragment(R.layout.fragment_admin) {
super.onViewCreated(view, savedInstanceState) super.onViewCreated(view, savedInstanceState)
_binding = FragmentAdminBinding.bind(view) _binding = FragmentAdminBinding.bind(view)
binding.loginadmin.addTextChangedListener(TextChangedListener { viewModel.onUsernameChanged(it) })
subscribe() val username =
binding.find.setOnClickListener { findNavController().currentBackStackEntry?.toRoute<AdminDestination>()?.username
login(binding.loginadmin.text.toString()) 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) findNavController().navigate(QrScanDestination)
} }
binding.admin.setOnClickListener{ binding.admin.setOnClickListener{
findNavController().navigate(AdminDestination) findNavController().navigate(AdminDestination(user))
} }
} }
subscribe() subscribe()

View File

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