From 1ff34969ba0d62ad5fd90508e37388be51b4c4fe Mon Sep 17 00:00:00 2001 From: student-i-nikolaevskiy Date: Wed, 25 Feb 2026 11:47:22 +0300 Subject: [PATCH] MINIMAL CHANGES --- .../java/ru/myitschool/work/core/Constants.kt | 2 +- .../work/data/source/NetworkDataSource.kt | 2 +- .../work/ui/screen/auth/AuthScreen.kt | 35 ++++++++++--------- .../work/ui/screen/auth/AuthViewModel.kt | 13 ++----- 4 files changed, 23 insertions(+), 29 deletions(-) diff --git a/app/src/main/java/ru/myitschool/work/core/Constants.kt b/app/src/main/java/ru/myitschool/work/core/Constants.kt index f997b69..ab0c588 100644 --- a/app/src/main/java/ru/myitschool/work/core/Constants.kt +++ b/app/src/main/java/ru/myitschool/work/core/Constants.kt @@ -1,7 +1,7 @@ package ru.myitschool.work.core object Constants { - const val HOST = "http://10.0.0.12:49165" + const val HOST = "http://10.0.0.103:49165" const val AUTH_URL = "/auth" const val INFO_URL = "/info" const val BOOKING_URL = "/booking" diff --git a/app/src/main/java/ru/myitschool/work/data/source/NetworkDataSource.kt b/app/src/main/java/ru/myitschool/work/data/source/NetworkDataSource.kt index d78e716..1405880 100644 --- a/app/src/main/java/ru/myitschool/work/data/source/NetworkDataSource.kt +++ b/app/src/main/java/ru/myitschool/work/data/source/NetworkDataSource.kt @@ -102,5 +102,5 @@ object NetworkDataSource { } } - private fun getUrl(targetUrl: String) = "${Constants.HOST}/api/$targetUrl" + private fun getUrl(targetUrl: String) = "${Constants.HOST}/api$targetUrl" } \ No newline at end of file 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 5073c93..6e82601 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 @@ -64,23 +64,6 @@ fun AuthScreen( horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center ) { - 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), - style = MaterialTheme.typography.headlineLarge, - textAlign = TextAlign.Center - ) - Text( - text = stringResource(R.string.auth_title_2), - style = MaterialTheme.typography.titleLarge, - textAlign = TextAlign.Center - ) when (val currentState = state) { is AuthState.Data -> Content(viewModel, currentState) is AuthState.Loading -> { @@ -100,6 +83,24 @@ private fun Content( 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) + ) + Spacer(modifier = Modifier.size(48.dp)) + Text( + text = stringResource(R.string.auth_title_1), + style = MaterialTheme.typography.headlineLarge, + textAlign = TextAlign.Center + ) + Text( + text = stringResource(R.string.auth_title_2), + style = MaterialTheme.typography.titleLarge, + textAlign = TextAlign.Center + ) + Spacer(modifier = Modifier.size(48.dp)) OutlinedTextField( modifier = Modifier.testTag(TestIds.Auth.CODE_INPUT).fillMaxWidth(), diff --git a/app/src/main/java/ru/myitschool/work/ui/screen/auth/AuthViewModel.kt b/app/src/main/java/ru/myitschool/work/ui/screen/auth/AuthViewModel.kt index 8ec6f24..3cb44c8 100644 --- a/app/src/main/java/ru/myitschool/work/ui/screen/auth/AuthViewModel.kt +++ b/app/src/main/java/ru/myitschool/work/ui/screen/auth/AuthViewModel.kt @@ -42,6 +42,7 @@ class AuthViewModel : ViewModel() { timerSecs -= 1 updateStateIfData { oldState -> oldState.copy( + isEnabledSend = false, error = "Слишком много попыток входа, попробуйте через $timerSecs секунд" ) } @@ -61,24 +62,16 @@ class AuthViewModel : ViewModel() { } } timer.start() - updateStateIfData { oldState -> - oldState.copy( - error = "Слишком много попыток входа, попробуйте через $timerSecs секунд" - ) - } } else { viewModelScope.launch { + _uiState.update { AuthState.Loading } checkAndSaveAuthCodeUseCase.invoke(intent.login, intent.password).fold( onSuccess = { _actionFlow.emit(AuthAction.Open(MainScreenDestination)) }, onFailure = { error -> authTries += 1 - updateStateIfData { oldState -> - oldState.copy( - error = error.message - ) - } + _uiState.update { AuthState.Data(isEnabledSend = false, error = error.message) } } ) }