feat: Update version to 1.0.6 and enhance release notes with new features and improvements

This commit is contained in:
2026-02-24 09:02:39 +05:00
parent fba95c0516
commit 73ec5d77f4
11 changed files with 275 additions and 111 deletions

View File

@@ -653,7 +653,7 @@ fun ChatsListScreen(
modifier = Modifier
.matchParentSize()
.background(
if (isDarkTheme) Color(0xFF2A2A2A) else PrimaryBlue
if (isDarkTheme) Color(0xFF2A2A2A) else Color(0xFF228BE6)
)
)
@@ -1117,7 +1117,36 @@ fun ChatsListScreen(
}
}
) {
Box(modifier = Modifier.fillMaxSize()) {
// ═══════════════════════════════════════════════════════════
// Telegram-style scale animation: main content shrinks when drawer opens
// ═══════════════════════════════════════════════════════════
val drawerWidthPx = with(LocalDensity.current) { 300.dp.toPx() }
val translateXPx = with(LocalDensity.current) { 4.dp.toPx() }
val density = LocalDensity.current
Box(
modifier = Modifier
.fillMaxSize()
.background(backgroundColor)
.graphicsLayer {
@Suppress("DEPRECATION")
val offset = drawerState.offset.value
val progress = if (offset.isNaN()) 0f
else ((drawerWidthPx + offset) / drawerWidthPx).coerceIn(0f, 1f)
if (progress > 0.001f) {
val s = 1f - 0.07f * progress
scaleX = s
scaleY = s
translationX = translateXPx * progress
transformOrigin = androidx.compose.ui.graphics.TransformOrigin(1f, 0f)
val cornerPx = with(density) { (16.dp * progress).toPx() }
shape = RoundedCornerShape(cornerPx)
clip = true
compositingStrategy = CompositingStrategy.Offscreen
}
}
) {
Scaffold(
topBar = {
key(isDarkTheme, showRequestsScreen, isSelectionMode) {
@@ -1247,8 +1276,8 @@ fun ChatsListScreen(
}
},
colors = TopAppBarDefaults.topAppBarColors(
containerColor = if (isDarkTheme) Color(0xFF2A2A2A) else Color(0xFF0D8CF4),
scrolledContainerColor = if (isDarkTheme) Color(0xFF2A2A2A) else Color(0xFF0D8CF4),
containerColor = if (isDarkTheme) Color(0xFF2A2A2A) else Color(0xFF228BE6),
scrolledContainerColor = if (isDarkTheme) Color(0xFF2A2A2A) else Color(0xFF228BE6),
navigationIconContentColor = Color.White,
titleContentColor = Color.White,
actionIconContentColor = Color.White
@@ -1320,7 +1349,7 @@ fun ChatsListScreen(
.defaultMinSize(minWidth = 20.dp, minHeight = 20.dp)
.clip(badgeShape)
.background(
color = if (isDarkTheme) Color(0xFF2A2A2A) else Color(0xFF0D8CF4)
color = if (isDarkTheme) Color(0xFF2A2A2A) else Color(0xFF228BE6)
)
.padding(2.dp)
.clip(badgeShape)
@@ -1331,7 +1360,7 @@ fun ChatsListScreen(
text = badgeText,
fontSize = 10.sp,
fontWeight = FontWeight.Bold,
color = Color(0xFF0D8CF4),
color = Color(0xFF228BE6),
lineHeight = 10.sp,
modifier = Modifier.padding(horizontal = 4.dp, vertical = 2.dp)
)
@@ -1420,9 +1449,9 @@ fun ChatsListScreen(
colors =
TopAppBarDefaults.topAppBarColors(
containerColor =
if (isDarkTheme) Color(0xFF2A2A2A) else Color(0xFF0D8CF4),
if (isDarkTheme) Color(0xFF2A2A2A) else Color(0xFF228BE6),
scrolledContainerColor =
if (isDarkTheme) Color(0xFF2A2A2A) else Color(0xFF0D8CF4),
if (isDarkTheme) Color(0xFF2A2A2A) else Color(0xFF228BE6),
navigationIconContentColor =
Color.White,
titleContentColor =

View File

@@ -197,8 +197,8 @@ fun ImageEditorScreen(
animationProgress.animateTo(
targetValue = 1f,
animationSpec = tween(
durationMillis = 250,
easing = FastOutSlowInEasing
durationMillis = 300,
easing = CubicBezierEasing(0.2f, 0.0f, 0.0f, 1.0f)
)
)
}
@@ -417,6 +417,7 @@ fun ImageEditorScreen(
Box(
modifier = Modifier
.fillMaxSize()
.graphicsLayer { alpha = animatedBackgroundAlpha }
.background(Color.Black)
.zIndex(100f)
.pointerInput(Unit) {
@@ -429,7 +430,17 @@ fun ImageEditorScreen(
Box(
modifier =
Modifier.fillMaxSize()
.graphicsLayer { alpha = animationProgress.value }
.graphicsLayer {
scaleX = animatedScale
scaleY = animatedScale
translationX = animatedTranslationX
translationY = animatedTranslationY
if (animatedCornerRadius > 0f) {
shape = RoundedCornerShape(animatedCornerRadius)
clip = true
}
alpha = animationProgress.value
}
) {
// ═══════════════════════════════════════════════════════════
// 📸 FULLSCREEN PHOTO - занимает ВЕСЬ экран, не реагирует на клавиатуру
@@ -443,10 +454,10 @@ fun ImageEditorScreen(
setPadding(0, 0, 0, 0)
setBackgroundColor(android.graphics.Color.BLACK)
// Простой FIT_CENTER - показывает ВСЁ фото, центрирует
// Edge-to-edge: фото заполняет весь экран без чёрных полос
source.apply {
scaleType = ImageView.ScaleType.FIT_CENTER
adjustViewBounds = true
scaleType = ImageView.ScaleType.CENTER_CROP
adjustViewBounds = false
setPadding(0, 0, 0, 0)
}