Правка чата
This commit is contained in:
@@ -10,6 +10,8 @@ import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.draw.clip
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.filled.Bookmark
|
||||
import androidx.compose.ui.layout.ContentScale
|
||||
import androidx.compose.ui.unit.Dp
|
||||
import androidx.compose.ui.unit.dp
|
||||
@@ -24,22 +26,30 @@ fun AppAvatar(
|
||||
size: Dp = 48.dp,
|
||||
modifier: Modifier = Modifier
|
||||
) {
|
||||
val isSavedMessages = remember(name) {
|
||||
name.equals("Избранное", ignoreCase = true) || name.equals("Saved Messages", ignoreCase = true)
|
||||
}
|
||||
|
||||
val initials = remember(name) {
|
||||
val words = name.trim().split("\\s+".toRegex())
|
||||
if (words.size >= 2) {
|
||||
(words[0].take(1) + words[1].take(1)).uppercase()
|
||||
} else if (name.length >= 2) {
|
||||
name.take(2).uppercase()
|
||||
} else {
|
||||
name.take(1).uppercase()
|
||||
if (isSavedMessages) "" else {
|
||||
val words = name.trim().split("\\s+".toRegex())
|
||||
if (words.size >= 2) {
|
||||
(words[0].take(1) + words[1].take(1)).uppercase()
|
||||
} else if (name.length >= 2) {
|
||||
name.take(2).uppercase()
|
||||
} else {
|
||||
name.take(1).uppercase()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
val avatarColor = Color(0xFF4AA6F3) // Premium Telegram Blue (Web)
|
||||
|
||||
Box(
|
||||
modifier = modifier
|
||||
.size(size)
|
||||
.clip(SoftSquareShape)
|
||||
.background(MaterialTheme.colorScheme.primary.copy(alpha = 0.2f)),
|
||||
.background(avatarColor),
|
||||
contentAlignment = Alignment.Center
|
||||
) {
|
||||
if (!url.isNullOrBlank()) {
|
||||
@@ -49,10 +59,17 @@ fun AppAvatar(
|
||||
modifier = Modifier.size(size),
|
||||
contentScale = ContentScale.Crop
|
||||
)
|
||||
} else if (isSavedMessages) {
|
||||
Icon(
|
||||
imageVector = Icons.Default.Bookmark,
|
||||
contentDescription = null,
|
||||
tint = Color.White,
|
||||
modifier = Modifier.size((size.value * 0.5).dp)
|
||||
)
|
||||
} else {
|
||||
Text(
|
||||
text = initials,
|
||||
color = MaterialTheme.colorScheme.primary,
|
||||
color = Color.White,
|
||||
fontSize = (size.value * 0.4).sp,
|
||||
fontWeight = androidx.compose.ui.text.font.FontWeight.Bold,
|
||||
style = MaterialTheme.typography.titleMedium
|
||||
|
||||
Reference in New Issue
Block a user