Исправил баг с логотипом и формой (то что вниз улетала)
This commit is contained in:
2
.idea/gradle.xml
generated
2
.idea/gradle.xml
generated
@@ -4,7 +4,6 @@
|
||||
<component name="GradleSettings">
|
||||
<option name="linkedExternalProjectsSettings">
|
||||
<GradleProjectSettings>
|
||||
<option name="testRunner" value="CHOOSE_PER_TEST" />
|
||||
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||
<option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" />
|
||||
<option name="modules">
|
||||
@@ -13,6 +12,7 @@
|
||||
<option value="$PROJECT_DIR$/app" />
|
||||
</set>
|
||||
</option>
|
||||
<option name="resolveExternalAnnotations" value="false" />
|
||||
</GradleProjectSettings>
|
||||
</option>
|
||||
</component>
|
||||
|
||||
@@ -6,7 +6,9 @@ import androidx.navigation.NavHostController
|
||||
import androidx.navigation.compose.NavHost
|
||||
import androidx.navigation.compose.composable
|
||||
import com.novayaplaneta.ui.screens.ai.AIScreen
|
||||
import com.novayaplaneta.ui.screens.auth.ForgotPasswordScreen
|
||||
import com.novayaplaneta.ui.screens.auth.LoginScreen
|
||||
import com.novayaplaneta.ui.screens.auth.RegistrationScreen
|
||||
import com.novayaplaneta.ui.screens.rewards.RewardsScreen
|
||||
import com.novayaplaneta.ui.screens.schedule.ScheduleScreen
|
||||
import com.novayaplaneta.ui.screens.settings.SettingsScreen
|
||||
@@ -27,12 +29,12 @@ fun NewPlanetNavigation(
|
||||
composable("login") {
|
||||
LoginScreen(navController = navController)
|
||||
}
|
||||
// composable("registration") {
|
||||
// RegistrationScreen(navController = navController)
|
||||
// }
|
||||
// composable("forgot_password") {
|
||||
// ForgotPasswordScreen(navController = navController)
|
||||
// }
|
||||
composable("registration") {
|
||||
RegistrationScreen(navController = navController)
|
||||
}
|
||||
composable("forgot_password") {
|
||||
ForgotPasswordScreen(navController = navController)
|
||||
}
|
||||
composable("schedule") {
|
||||
ScheduleScreen(navController = navController)
|
||||
}
|
||||
|
||||
@@ -10,3 +10,6 @@ object EmailValidator {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -76,23 +76,19 @@ fun ForgotPasswordScreen(
|
||||
val horizontalPadding = (screenWidthDp * 0.04f).toInt().coerceIn(24, 48).dp
|
||||
val verticalPadding = (screenHeightDp * 0.03f).toInt().coerceIn(16, 32).dp
|
||||
|
||||
Column(
|
||||
Box(
|
||||
modifier = Modifier
|
||||
.fillMaxSize()
|
||||
.padding(horizontal = horizontalPadding, vertical = verticalPadding),
|
||||
horizontalAlignment = Alignment.CenterHorizontally
|
||||
.padding(horizontal = horizontalPadding, vertical = verticalPadding)
|
||||
) {
|
||||
// Логотип вверху слева
|
||||
val logoSizeByHeight = (screenHeightDp * 0.15f).toInt()
|
||||
val logoSizeByWidth = screenWidthDp / 5
|
||||
val logoSize = min(logoSizeByHeight, logoSizeByWidth).coerceIn(100, 160).dp
|
||||
// Логотип вверху слева - увеличенный размер
|
||||
val logoSizeByHeight = (screenHeightDp * 0.28f).toInt()
|
||||
val logoSizeByWidth = screenWidthDp / 3
|
||||
val logoSize = min(logoSizeByHeight, logoSizeByWidth).coerceIn(180, 280).dp
|
||||
|
||||
Row(
|
||||
modifier = Modifier.fillMaxWidth(),
|
||||
horizontalArrangement = Arrangement.Start
|
||||
) {
|
||||
NovayaPlanetaLogo(
|
||||
modifier = Modifier
|
||||
.align(Alignment.TopStart)
|
||||
.padding(bottom = 4.dp)
|
||||
.clickable {
|
||||
navController.navigate("login") {
|
||||
@@ -101,14 +97,12 @@ fun ForgotPasswordScreen(
|
||||
},
|
||||
size = logoSize
|
||||
)
|
||||
}
|
||||
|
||||
Spacer(modifier = Modifier.weight(0.05f))
|
||||
|
||||
// Центрированный контент - адаптивная ширина (50-70% экрана)
|
||||
val contentWidthRatio = if (isLandscape) 0.5f else 0.7f
|
||||
Column(
|
||||
modifier = Modifier
|
||||
.align(Alignment.Center)
|
||||
.fillMaxWidth(contentWidthRatio),
|
||||
horizontalAlignment = Alignment.CenterHorizontally,
|
||||
verticalArrangement = Arrangement.spacedBy(24.dp)
|
||||
@@ -370,8 +364,6 @@ fun ForgotPasswordScreen(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Spacer(modifier = Modifier.weight(0.1f))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,33 +76,28 @@ fun LoginScreen(
|
||||
val horizontalPadding = (screenWidthDp * 0.04f).toInt().coerceIn(24, 48).dp
|
||||
val verticalPadding = (screenHeightDp * 0.03f).toInt().coerceIn(16, 32).dp
|
||||
|
||||
Column(
|
||||
Box(
|
||||
modifier = Modifier
|
||||
.fillMaxSize()
|
||||
.padding(horizontal = horizontalPadding, vertical = verticalPadding),
|
||||
horizontalAlignment = Alignment.CenterHorizontally
|
||||
.padding(horizontal = horizontalPadding, vertical = verticalPadding)
|
||||
) {
|
||||
// Логотип вверху слева - уменьшенный размер
|
||||
val logoSizeByHeight = (screenHeightDp * 0.15f).toInt()
|
||||
val logoSizeByWidth = screenWidthDp / 5
|
||||
val logoSize = min(logoSizeByHeight, logoSizeByWidth).coerceIn(100, 160).dp
|
||||
// Логотип вверху слева - большой размер
|
||||
val logoSizeByHeight = (screenHeightDp * 0.28f).toInt()
|
||||
val logoSizeByWidth = screenWidthDp / 3
|
||||
val logoSize = min(logoSizeByHeight, logoSizeByWidth).coerceIn(180, 280).dp
|
||||
|
||||
Row(
|
||||
modifier = Modifier.fillMaxWidth(),
|
||||
horizontalArrangement = Arrangement.Start
|
||||
) {
|
||||
NovayaPlanetaLogo(
|
||||
modifier = Modifier.padding(bottom = 4.dp),
|
||||
modifier = Modifier
|
||||
.align(Alignment.TopStart)
|
||||
.padding(bottom = 4.dp),
|
||||
size = logoSize
|
||||
)
|
||||
}
|
||||
|
||||
Spacer(modifier = Modifier.weight(0.05f))
|
||||
|
||||
// Центрированный контент - адаптивная ширина (50-70% экрана)
|
||||
val contentWidthRatio = if (isLandscape) 0.5f else 0.7f
|
||||
Column(
|
||||
modifier = Modifier
|
||||
.align(Alignment.Center)
|
||||
.fillMaxWidth(contentWidthRatio),
|
||||
horizontalAlignment = Alignment.CenterHorizontally,
|
||||
verticalArrangement = Arrangement.spacedBy(24.dp)
|
||||
@@ -228,7 +223,7 @@ fun LoginScreen(
|
||||
enabled = uiState.isFormValid && !uiState.isLoading,
|
||||
colors = if (uiState.isFormValid) {
|
||||
ButtonDefaults.buttonColors(
|
||||
containerColor = LoginButtonBlue,
|
||||
containerColor = LoginGreenAccent,
|
||||
contentColor = Color.White
|
||||
)
|
||||
} else {
|
||||
@@ -283,8 +278,6 @@ fun LoginScreen(
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Spacer(modifier = Modifier.weight(0.1f))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,23 +76,19 @@ fun RegistrationScreen(
|
||||
val horizontalPadding = (screenWidthDp * 0.04f).toInt().coerceIn(24, 48).dp
|
||||
val verticalPadding = (screenHeightDp * 0.03f).toInt().coerceIn(16, 32).dp
|
||||
|
||||
Column(
|
||||
Box(
|
||||
modifier = Modifier
|
||||
.fillMaxSize()
|
||||
.padding(horizontal = horizontalPadding, vertical = verticalPadding),
|
||||
horizontalAlignment = Alignment.CenterHorizontally
|
||||
.padding(horizontal = horizontalPadding, vertical = verticalPadding)
|
||||
) {
|
||||
// Логотип вверху слева
|
||||
val logoSizeByHeight = (screenHeightDp * 0.15f).toInt()
|
||||
val logoSizeByWidth = screenWidthDp / 5
|
||||
val logoSize = min(logoSizeByHeight, logoSizeByWidth).coerceIn(100, 160).dp
|
||||
// Логотип вверху слева - увеличенный размер
|
||||
val logoSizeByHeight = (screenHeightDp * 0.28f).toInt()
|
||||
val logoSizeByWidth = screenWidthDp / 3
|
||||
val logoSize = min(logoSizeByHeight, logoSizeByWidth).coerceIn(180, 280).dp
|
||||
|
||||
Row(
|
||||
modifier = Modifier.fillMaxWidth(),
|
||||
horizontalArrangement = Arrangement.Start
|
||||
) {
|
||||
NovayaPlanetaLogo(
|
||||
modifier = Modifier
|
||||
.align(Alignment.TopStart)
|
||||
.padding(bottom = 4.dp)
|
||||
.clickable {
|
||||
navController.navigate("login") {
|
||||
@@ -101,14 +97,12 @@ fun RegistrationScreen(
|
||||
},
|
||||
size = logoSize
|
||||
)
|
||||
}
|
||||
|
||||
Spacer(modifier = Modifier.weight(0.05f))
|
||||
|
||||
// Центрированный контент - адаптивная ширина (50-70% экрана)
|
||||
val contentWidthRatio = if (isLandscape) 0.5f else 0.7f
|
||||
Column(
|
||||
modifier = Modifier
|
||||
.align(Alignment.Center)
|
||||
.fillMaxWidth(contentWidthRatio),
|
||||
horizontalAlignment = Alignment.CenterHorizontally,
|
||||
verticalArrangement = Arrangement.spacedBy(24.dp)
|
||||
@@ -410,8 +404,6 @@ fun RegistrationScreen(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Spacer(modifier = Modifier.weight(0.1f))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,14 +76,14 @@ fun RewardsScreen(
|
||||
.fillMaxHeight()
|
||||
.padding(vertical = 20.dp, horizontal = 16.dp)
|
||||
) {
|
||||
// Логотип над панелью навигации (увеличен)
|
||||
// Логотип над панелью навигации
|
||||
Box(
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.padding(bottom = 16.dp),
|
||||
contentAlignment = Alignment.Center
|
||||
) {
|
||||
val logoSize = (screenHeightDp * 0.18f).toInt().coerceIn(120, 200).dp
|
||||
val logoSize = (screenHeightDp * 0.22f).toInt().coerceIn(140, 240).dp
|
||||
NovayaPlanetaLogo(size = logoSize)
|
||||
}
|
||||
|
||||
|
||||
@@ -80,14 +80,14 @@ fun ScheduleScreen(
|
||||
.fillMaxHeight()
|
||||
.padding(vertical = 20.dp, horizontal = 16.dp)
|
||||
) {
|
||||
// Логотип над панелью навигации (увеличен)
|
||||
// Логотип над панелью навигации
|
||||
Box(
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.padding(bottom = 16.dp),
|
||||
contentAlignment = Alignment.Center
|
||||
) {
|
||||
val logoSize = (screenHeightDp * 0.18f).toInt().coerceIn(120, 200).dp
|
||||
val logoSize = (screenHeightDp * 0.22f).toInt().coerceIn(140, 240).dp
|
||||
NovayaPlanetaLogo(size = logoSize)
|
||||
}
|
||||
|
||||
|
||||
@@ -81,14 +81,14 @@ fun SettingsScreen(
|
||||
.fillMaxHeight()
|
||||
.padding(vertical = 20.dp, horizontal = 16.dp)
|
||||
) {
|
||||
// Логотип над панелью навигации (увеличен)
|
||||
// Логотип над панелью навигации
|
||||
Box(
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.padding(bottom = 16.dp),
|
||||
contentAlignment = Alignment.Center
|
||||
) {
|
||||
val logoSize = (screenHeightDp * 0.18f).toInt().coerceIn(120, 200).dp
|
||||
val logoSize = (screenHeightDp * 0.22f).toInt().coerceIn(140, 240).dp
|
||||
NovayaPlanetaLogo(size = logoSize)
|
||||
}
|
||||
|
||||
|
||||
@@ -14,15 +14,15 @@ val SurfaceDark = Color(0xFF1A1A1A)
|
||||
val OnBackgroundDark = Color(0xFFFFFFFF)
|
||||
val OnSurfaceDark = Color(0xFFFFFFFF)
|
||||
|
||||
// Accent Colors
|
||||
val AccentGreen = Color(0xFF4CAF50)
|
||||
val AccentOrange = Color(0xFFFF6B35)
|
||||
val AccentGold = Color(0xFFFFD700)
|
||||
// Accent Colors - мягкие пастельные тона для комфорта детей с РАС
|
||||
val AccentGreen = Color(0xFF7FD97F) // Мягкий пастельный зеленый
|
||||
val AccentOrange = Color(0xFFFFB88C) // Мягкий пастельный персиковый
|
||||
val AccentGold = Color(0xFFFFE68C) // Мягкий пастельный желтый
|
||||
|
||||
// Status Colors
|
||||
val SuccessColor = Color(0xFF4CAF50)
|
||||
val WarningColor = Color(0xFFFF6B35)
|
||||
val ErrorColor = Color(0xFFE53935)
|
||||
// Status Colors - приглушенные для комфорта
|
||||
val SuccessColor = Color(0xFF7FD97F) // Мягкий зеленый
|
||||
val WarningColor = Color(0xFFFFB88C) // Мягкий персиковый
|
||||
val ErrorColor = Color(0xFFFF9E9E) // Мягкий розовый вместо яркого красного
|
||||
|
||||
// Цвета для экрана авторизации (благоприятные для РАС из PDF)
|
||||
val LoginBackgroundTurquoise = Color(0xFFDAE7E9) // Мягкий голубой фон
|
||||
|
||||
Reference in New Issue
Block a user