some fixes
This commit is contained in:
parent
4d3b12ada8
commit
14612dcd65
@ -1,7 +1,7 @@
|
||||
package ru.myitschool.work.core
|
||||
|
||||
object Constants {
|
||||
const val HOST = "http://10.0.0.14:49181"
|
||||
const val HOST = "http://10.0.0.165:49181"
|
||||
const val AUTH_URL = "/auth"
|
||||
const val INFO_URL = "/info"
|
||||
const val BOOKING_URL = "/booking"
|
||||
|
||||
@ -4,7 +4,8 @@ object TestIds {
|
||||
object Auth {
|
||||
const val ERROR = "auth_error"
|
||||
const val SIGN_BUTTON = "auth_sign_button"
|
||||
const val CODE_INPUT = "auth_code_input"
|
||||
const val LOGIN_INPUT = "auth_login_input"
|
||||
const val PASSWORD_INPUT = "auth_pass_input"
|
||||
}
|
||||
object Main {
|
||||
const val ERROR = "main_error"
|
||||
|
||||
@ -13,6 +13,7 @@ import ru.myitschool.work.data.source.NetworkDataSource
|
||||
object AuthRepository {
|
||||
private const val STORE = "AUTH-STORE"
|
||||
private const val CODE_KEY = "CODE"
|
||||
private const val LOGIN = "PASS"
|
||||
|
||||
private var codeCache: String? = null
|
||||
|
||||
@ -22,7 +23,9 @@ object AuthRepository {
|
||||
codeCache = text
|
||||
App.context.userDataStore.edit { preferences ->
|
||||
val prefKey = stringPreferencesKey(CODE_KEY)
|
||||
val logPass = stringPreferencesKey(LOGIN)
|
||||
preferences[prefKey] = text
|
||||
preferences[logPass] = text
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -43,7 +46,9 @@ object AuthRepository {
|
||||
codeCache = null
|
||||
App.context.userDataStore.edit { preferences ->
|
||||
val prefKey = stringPreferencesKey(CODE_KEY)
|
||||
val logKey = stringPreferencesKey(LOGIN)
|
||||
preferences.remove(prefKey)
|
||||
preferences.remove(logKey)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@ class CheckAndSaveAuthCodeUseCase(
|
||||
text: String
|
||||
): Result<Unit> {
|
||||
return repository.checkAndSave(text).mapCatching { success ->
|
||||
if (!success) error("Code is incorrect")
|
||||
if (!success) error("login or password is incorrect")
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -4,7 +4,7 @@ class CheckCodeFormatUseCase {
|
||||
operator fun invoke(
|
||||
text: String
|
||||
): Boolean {
|
||||
return text.length == 4 && text.all { char ->
|
||||
return text.length >= 8 && text.all { char ->
|
||||
char.isLetterOrDigit() &&
|
||||
((char >= 'A' && char <= 'Z') || (char >= 'a' && char <= 'z') || char.isDigit())
|
||||
}
|
||||
|
||||
@ -3,4 +3,5 @@ package ru.myitschool.work.ui.screen.auth
|
||||
sealed interface AuthIntent {
|
||||
data class Send(val text: String): AuthIntent
|
||||
data class TextInput(val text: String): AuthIntent
|
||||
data class PassInput(val text: String): AuthIntent
|
||||
}
|
||||
@ -79,7 +79,7 @@ private fun Content(
|
||||
var inputText by remember { mutableStateOf("") }
|
||||
Spacer(modifier = Modifier.size(16.dp))
|
||||
TextField(
|
||||
modifier = Modifier.testTag(TestIds.Auth.CODE_INPUT).fillMaxWidth(),
|
||||
modifier = Modifier.testTag(TestIds.Auth.LOGIN_INPUT).fillMaxWidth(),
|
||||
value = inputText,
|
||||
onValueChange = {
|
||||
inputText = it
|
||||
@ -87,6 +87,18 @@ private fun Content(
|
||||
},
|
||||
label = { Text(stringResource(R.string.auth_label)) }
|
||||
)
|
||||
|
||||
var inputPass by remember { mutableStateOf("") }
|
||||
Spacer(modifier = Modifier.size(16.dp))
|
||||
TextField(
|
||||
modifier = Modifier.testTag(TestIds.Auth.PASSWORD_INPUT).fillMaxWidth(),
|
||||
value = inputPass,
|
||||
onValueChange = {
|
||||
inputPass = it
|
||||
viewModel.onIntent(AuthIntent.PassInput(it))
|
||||
},
|
||||
label = { Text(stringResource(R.string.auth_pass)) }
|
||||
)
|
||||
Spacer(modifier = Modifier.size(16.dp))
|
||||
Button(
|
||||
modifier = Modifier.testTag(TestIds.Auth.SIGN_BUTTON).fillMaxWidth(),
|
||||
|
||||
@ -46,7 +46,7 @@ class AuthViewModel : ViewModel() {
|
||||
)
|
||||
}
|
||||
}
|
||||
is AuthIntent.TextInput -> {
|
||||
is AuthIntent.PassInput -> {
|
||||
updateStateIfData { oldState ->
|
||||
oldState.copy(
|
||||
isEnabledSend = checkCodeFormatUseCase.invoke(intent.text),
|
||||
@ -54,6 +54,11 @@ class AuthViewModel : ViewModel() {
|
||||
)
|
||||
}
|
||||
}
|
||||
is AuthIntent.TextInput -> {
|
||||
updateStateIfData { oldState ->
|
||||
oldState.copy()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -2,10 +2,10 @@ package ru.myitschool.work.ui.theme
|
||||
|
||||
import androidx.compose.ui.graphics.Color
|
||||
|
||||
val Purple80 = Color(0xFFD0BCFF)
|
||||
val PurpleGrey80 = Color(0xFFCCC2DC)
|
||||
val Pink80 = Color(0xFFEFB8C8)
|
||||
val Purple80 = Color(0xFFE46962)
|
||||
val PurpleGrey80 = Color(0xFF663906)
|
||||
val Pink80 = Color(0xFF135944)
|
||||
|
||||
val Purple40 = Color(0xFF6650a4)
|
||||
val PurpleGrey40 = Color(0xFF625b71)
|
||||
val Pink40 = Color(0xFF7D5260)
|
||||
val Purple40 = Color(0xFF6750A4)
|
||||
val PurpleGrey40 = Color(0xFFFFFFFF)
|
||||
val Pink40 = Color(0xFFE46962)
|
||||
BIN
app/src/main/penpot/v0 and v1_1511 строк кода.penpot
Normal file
BIN
app/src/main/penpot/v0 and v1_1511 строк кода.penpot
Normal file
Binary file not shown.
@ -1,9 +1,11 @@
|
||||
<resources>
|
||||
<string name="app_name">Work</string>
|
||||
<string name="title_activity_root">RootActivity</string>
|
||||
<string name="auth_title">Привет! Введи код для авторизации</string>
|
||||
<string name="auth_label">Код</string>
|
||||
<string name="auth_title">Привет! Введи логин и пароль для авторизации</string>
|
||||
<string name="auth_label">Логин</string>
|
||||
<string name="auth_sign_in">Войти</string>
|
||||
<string name="auth_pass">Пароль</string>
|
||||
|
||||
|
||||
<string name="main_refresh">Обновить</string>
|
||||
<string name="main_logout">Выйти</string>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user