From 196cc9c4a22b2b618d5e64132f81ea3990f7f018 Mon Sep 17 00:00:00 2001 From: k1ngsterr1 Date: Sat, 31 Jan 2026 19:23:07 +0500 Subject: [PATCH] fix: improve dots indicator layout and enhance image counter visibility in ImageViewerScreen --- .../ui/chats/components/ImageViewerScreen.kt | 52 ++++++++++--------- 1 file changed, 28 insertions(+), 24 deletions(-) diff --git a/app/src/main/java/com/rosetta/messenger/ui/chats/components/ImageViewerScreen.kt b/app/src/main/java/com/rosetta/messenger/ui/chats/components/ImageViewerScreen.kt index 1d708bb..d23dde3 100644 --- a/app/src/main/java/com/rosetta/messenger/ui/chats/components/ImageViewerScreen.kt +++ b/app/src/main/java/com/rosetta/messenger/ui/chats/components/ImageViewerScreen.kt @@ -242,35 +242,39 @@ fun ImageViewerScreen( .padding(bottom = 32.dp) .navigationBarsPadding() ) { - // Dots indicator - Row( - modifier = Modifier - .background( - Color.Black.copy(alpha = 0.5f), - RoundedCornerShape(16.dp) - ) - .padding(horizontal = 12.dp, vertical = 8.dp), - horizontalArrangement = Arrangement.spacedBy(6.dp) + Column( + horizontalAlignment = Alignment.CenterHorizontally ) { - repeat(images.size.coerceAtMost(10)) { index -> - val isSelected = pagerState.currentPage == index - Box( - modifier = Modifier - .size(if (isSelected) 8.dp else 6.dp) - .clip(CircleShape) - .background( - if (isSelected) Color.White - else Color.White.copy(alpha = 0.4f) - ) - ) + // Dots indicator + Row( + modifier = Modifier + .background( + Color.Black.copy(alpha = 0.5f), + RoundedCornerShape(16.dp) + ) + .padding(horizontal = 12.dp, vertical = 8.dp), + horizontalArrangement = Arrangement.spacedBy(6.dp) + ) { + repeat(images.size.coerceAtMost(10)) { index -> + val isSelected = pagerState.currentPage == index + Box( + modifier = Modifier + .size(if (isSelected) 8.dp else 6.dp) + .clip(CircleShape) + .background( + if (isSelected) Color.White + else Color.White.copy(alpha = 0.4f) + ) + ) + } } - // Показываем счетчик если больше 10 фото + // Показываем счетчик под точками если больше 10 фото if (images.size > 10) { + Spacer(modifier = Modifier.height(6.dp)) Text( text = "${pagerState.currentPage + 1}/${images.size}", - color = Color.White, - fontSize = 12.sp, - modifier = Modifier.padding(start = 4.dp) + color = Color.White.copy(alpha = 0.8f), + fontSize = 12.sp ) } }