fix: fix avatar animation & profile colors
This commit is contained in:
@@ -465,7 +465,7 @@ fun ChatsListScreen(
|
||||
text = accountName,
|
||||
fontSize = 16.sp,
|
||||
fontWeight = FontWeight.SemiBold,
|
||||
color = if (isColorLight(headerColor)) Color.Black else Color.White
|
||||
color = Color.White
|
||||
)
|
||||
}
|
||||
|
||||
@@ -476,8 +476,7 @@ fun ChatsListScreen(
|
||||
text =
|
||||
"@$accountUsername",
|
||||
fontSize = 13.sp,
|
||||
color =
|
||||
if (isColorLight(headerColor)) Color.Black.copy(alpha = 0.7f) else Color.White.copy(alpha = 0.7f)
|
||||
color = Color.White.copy(alpha = 0.7f)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -257,9 +257,6 @@ fun ProfileScreen(
|
||||
|
||||
// Цвета в зависимости от темы
|
||||
val backgroundColor = if (isDarkTheme) Color(0xFF1A1A1A) else Color(0xFFFFFFFF)
|
||||
val surfaceColor = if (isDarkTheme) Color(0xFF2C2C2E) else Color(0xFFF2F2F7)
|
||||
val textColor = if (isDarkTheme) Color.White else Color.Black
|
||||
val secondaryTextColor = if (isDarkTheme) Color(0xFF8E8E93) else Color(0xFF666666)
|
||||
val avatarColors = getAvatarColor(accountPublicKey, isDarkTheme)
|
||||
|
||||
// Проверяем наличие аватара
|
||||
@@ -321,14 +318,14 @@ fun ProfileScreen(
|
||||
}
|
||||
}
|
||||
|
||||
// Пружинистая анимация для snap-эффекта - быстрая
|
||||
// Быстрая snap-анимация без застревания
|
||||
val animatedOverscroll by
|
||||
animateFloatAsState(
|
||||
targetValue = snapTarget,
|
||||
animationSpec =
|
||||
spring(
|
||||
dampingRatio = Spring.DampingRatioLowBouncy,
|
||||
stiffness = 2000f // Очень быстрая анимация
|
||||
dampingRatio = Spring.DampingRatioMediumBouncy, // Меньше пружинистости
|
||||
stiffness = 4000f // Очень быстрый snap
|
||||
),
|
||||
label = "overscroll"
|
||||
)
|
||||
@@ -384,7 +381,7 @@ fun ProfileScreen(
|
||||
): Offset {
|
||||
// Если достигли верха (scrollOffset = 0) и тянем вниз - создаем overscroll
|
||||
if (available.y > 0 && scrollOffset == 0f) {
|
||||
val resistance = 0.3f
|
||||
val resistance = 0.5f // Легче тянуть (было 0.3f)
|
||||
val delta = available.y * resistance
|
||||
overscrollOffset = (overscrollOffset + delta).coerceAtMost(maxOverscroll)
|
||||
return Offset(0f, available.y)
|
||||
@@ -704,7 +701,7 @@ fun ProfileScreen(
|
||||
@Composable
|
||||
private fun CollapsingProfileHeader(
|
||||
name: String,
|
||||
username: String,
|
||||
@Suppress("UNUSED_PARAMETER") username: String,
|
||||
publicKey: String,
|
||||
avatarColors: AvatarColors,
|
||||
collapseProgress: Float,
|
||||
|
||||
Reference in New Issue
Block a user