diff --git a/app/src/main/assets/login/big-forbion.svg b/app/src/main/assets/login/big-forbion.svg new file mode 100644 index 0000000..a893e60 --- /dev/null +++ b/app/src/main/assets/login/big-forbion.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/ru/forbion/f7cloud/mobile/ui/LoginScreen.kt b/app/src/main/java/ru/forbion/f7cloud/mobile/ui/LoginScreen.kt index a08ff30..c790f3f 100644 --- a/app/src/main/java/ru/forbion/f7cloud/mobile/ui/LoginScreen.kt +++ b/app/src/main/java/ru/forbion/f7cloud/mobile/ui/LoginScreen.kt @@ -3,6 +3,8 @@ package ru.forbion.f7cloud.mobile.ui import android.app.Activity import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.result.contract.ActivityResultContracts +import androidx.compose.foundation.background +import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column @@ -31,9 +33,11 @@ import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip import androidx.compose.ui.focus.focusProperties import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.focus.FocusRequester +import androidx.compose.ui.graphics.Color import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalFocusManager @@ -148,13 +152,15 @@ internal fun LoginScreen(onLogin: (AuthSession) -> Unit) { } } - val logoUrl = remember(serverUrl) { - "${normalizeServerUrl(serverUrl).trimEnd('/')}/themes/forbion/images/login/big-forbion.svg" - } + // Логотип — локальный (assets/login/big-forbion.svg из живой темы): виден офлайн и до + // ввода адреса сервера. + val logoUrl = "file:///android_asset/login/big-forbion.svg" Box( modifier = Modifier .fillMaxSize() + // Живая тема логина: фон страницы --backgroud-color-main-darkgray + .background(Color(0xFFE5EFE8)) .f7SafeTopInsets() .verticalScroll(rememberScrollState()) .padding(horizontal = 16.dp, vertical = 24.dp), @@ -269,12 +275,23 @@ internal fun LoginScreen(onLogin: (AuthSession) -> Unit) { enabled = !loading && serverUrl.isNotBlank() && username.isNotBlank() && password.isNotBlank(), modifier = Modifier.fillMaxWidth(), ) - F7TextButton( - text = "Сканировать QR для входа", - onClick = { launchQrScan() }, - enabled = !loading, - modifier = Modifier.fillMaxWidth(), - ) + // Живая тема: вторичная кнопка-ссылка 40dp, фон #F0F1F4, r8, текст 14 чёрный + Box( + modifier = Modifier + .fillMaxWidth() + .height(40.dp) + .clip(RoundedCornerShape(8.dp)) + .background(Color(0xFFF0F1F4)) + .clickable(enabled = !loading, onClick = { launchQrScan() }), + contentAlignment = Alignment.Center, + ) { + Text( + "Сканировать QR для входа", + fontSize = 14.sp, + lineHeight = 20.sp, + color = F7Colors.TextPrimary, + ) + } if (loading) { CircularProgressIndicator(color = F7Colors.Primary) }