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
4 changed files with 23 additions and 9 deletions
Showing only changes of commit 17fd20fb6a - Show all commits

View File

@ -1 +1,3 @@
penpot deck: https://pp.sicampus.ru/#/workspace?team-id=14a6b474-d5fa-807f-8007-9f0741c1b7ad&project-id=14a6b474-d5fa-807f-8007-9f0741c1b7ae&file-id=8e3f3321-7df1-807a-8007-9f6a7201af74&page-id=50b061ab-362d-8056-8007-9d94752aa99f&layout=layers&board-id=6fa8b836-315d-80ad-8007-9f6ddff01da2 penpot deck: https://pp.sicampus.ru/#/workspace?team-id=14a6b474-d5fa-807f-8007-9f0741c1b7ad&project-id=14a6b474-d5fa-807f-8007-9f0741c1b7ae&file-id=8e3f3321-7df1-807a-8007-9f6a7201af74&page-id=50b061ab-362d-8056-8007-9d94752aa99f&layout=layers&board-id=6fa8b836-315d-80ad-8007-9f6ddff01da2
login: anna
password: qwerty1!

BIN
S-APP-MINIPIGS.penpot Normal file

Binary file not shown.

View File

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

View File

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