new_select_screen #9

Open
student-i-nikolaevskiy wants to merge 42 commits from Minipigi-org/NTO-2026-Android-TeamTask-Template:new_select_screen into main
2 changed files with 20 additions and 8 deletions
Showing only changes of commit e4a44cee0b - Show all commits

View File

@ -17,6 +17,7 @@
tools:targetApi="31">
<activity
android:name=".ui.root.RootActivity"
android:screenOrientation="portrait"
android:exported="true"
android:windowSoftInputMode="adjustNothing"
android:label="@string/title_activity_root">

View File

@ -1,15 +1,20 @@
package ru.myitschool.work.ui.screen.auth
import androidx.compose.animation.AnimatedContent
import androidx.compose.animation.AnimatedVisibility
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.BoxWithConstraints
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.ExperimentalLayoutApi
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.ime
import androidx.compose.foundation.layout.imeNestedScroll
import androidx.compose.foundation.layout.imePadding
import androidx.compose.foundation.layout.isImeVisible
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.rememberScrollState
@ -49,6 +54,7 @@ fun AuthScreen(
navController: NavController
) {
val state by viewModel.uiState.collectAsState()
val isIme = WindowInsets.isImeVisible
LaunchedEffect(Unit) {
viewModel.actionFlow.collect { action ->
@ -72,7 +78,7 @@ fun AuthScreen(
verticalArrangement = Arrangement.Center
) {
when (val currentState = state) {
is AuthState.Data -> Content(viewModel, currentState)
is AuthState.Data -> Content(viewModel, currentState, isIme)
is AuthState.Loading -> {
CircularProgressIndicator(
modifier = Modifier.size(64.dp)
@ -86,17 +92,22 @@ fun AuthScreen(
@Composable
private fun Content(
viewModel: AuthViewModel,
state: AuthState.Data
state: AuthState.Data,
isIme: Boolean
) {
var login by remember { mutableStateOf("") }
var password by remember { mutableStateOf("") }
AnimatedVisibility(!isIme ) {
Icon(
painter = painterResource(R.drawable.difference),
contentDescription = stringResource(R.string.icon_alter),
tint = MaterialTheme.colorScheme.primary,
modifier = Modifier.size(184.dp)
)
}
Spacer(modifier = Modifier.size(48.dp))
Text(
text = stringResource(R.string.auth_title_1),