feat: Add BlurredAvatarBackground component and integrate it into ChatsListScreen and ProfileScreen

This commit is contained in:
2026-01-24 20:18:27 +05:00
parent 23e1d72ac0
commit dc548a3c7a
8 changed files with 420 additions and 29 deletions

View File

@@ -38,6 +38,7 @@ import com.rosetta.messenger.network.ProtocolManager
import com.rosetta.messenger.network.ProtocolState
import com.rosetta.messenger.ui.components.AppleEmojiText
import com.rosetta.messenger.ui.components.AvatarImage
import com.rosetta.messenger.ui.components.BlurredAvatarBackground
import com.rosetta.messenger.ui.onboarding.PrimaryBlue
import java.text.SimpleDateFormat
import java.util.*
@@ -385,12 +386,25 @@ fun ChatsListScreen(
)
val headerColor = avatarColors.backgroundColor
// Header с размытым фоном аватарки
Box(
modifier =
Modifier.fillMaxWidth()
.background(
color = headerColor
)
modifier = Modifier.fillMaxWidth()
) {
// ═══════════════════════════════════════════════════════════
// 🎨 BLURRED AVATAR BACKGROUND (на всю область header)
// ═══════════════════════════════════════════════════════════
BlurredAvatarBackground(
publicKey = accountPublicKey,
avatarRepository = avatarRepository,
fallbackColor = headerColor,
blurRadius = 40f,
alpha = 0.6f
)
// Content поверх фона
Column(
modifier = Modifier
.fillMaxWidth()
.statusBarsPadding()
.padding(
top = 16.dp,
@@ -398,8 +412,7 @@ fun ChatsListScreen(
end = 20.dp,
bottom = 20.dp
)
) {
Column {
) {
// Avatar - используем AvatarImage
Box(
modifier =