diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ac75dc3..a5c8fbd 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -17,6 +17,7 @@ tools:targetApi="31"> diff --git a/app/src/main/java/ru/myitschool/work/ui/screen/auth/AuthScreen.kt b/app/src/main/java/ru/myitschool/work/ui/screen/auth/AuthScreen.kt index f9494e5..767becf 100644 --- a/app/src/main/java/ru/myitschool/work/ui/screen/auth/AuthScreen.kt +++ b/app/src/main/java/ru/myitschool/work/ui/screen/auth/AuthScreen.kt @@ -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("") } - Icon( - painter = painterResource(R.drawable.difference), - contentDescription = stringResource(R.string.icon_alter), - tint = MaterialTheme.colorScheme.primary, - modifier = Modifier.size(184.dp) - ) + + 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),