From 8b488128656cfee63a4a5fcd604f2684d92283eb Mon Sep 17 00:00:00 2001 From: k1ngsterr1 Date: Wed, 18 Mar 2026 20:15:44 +0500 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20=D0=B1=D0=BB=D0=BE=D0=BA=20Add=20Members=20=D0=B8=20En?= =?UTF-8?q?cryption=20Key=20=D0=BD=D0=B0=20=D1=8D=D0=BA=D1=80=D0=B0=D0=BD?= =?UTF-8?q?=D0=B5=20=D0=B3=D1=80=D1=83=D0=BF=D0=BF=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../messenger/ui/chats/GroupInfoScreen.kt | 103 ++++++++++-------- 1 file changed, 56 insertions(+), 47 deletions(-) diff --git a/app/src/main/java/com/rosetta/messenger/ui/chats/GroupInfoScreen.kt b/app/src/main/java/com/rosetta/messenger/ui/chats/GroupInfoScreen.kt index 6597dd2..dbd4784 100644 --- a/app/src/main/java/com/rosetta/messenger/ui/chats/GroupInfoScreen.kt +++ b/app/src/main/java/com/rosetta/messenger/ui/chats/GroupInfoScreen.kt @@ -44,6 +44,9 @@ import androidx.compose.foundation.lazy.itemsIndexed import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.text.selection.SelectionContainer import androidx.compose.foundation.verticalScroll +import compose.icons.TablerIcons +import compose.icons.tablericons.Code +import androidx.compose.foundation.shape.CircleShape import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.ArrowBack @@ -1158,75 +1161,81 @@ fun GroupInfoScreen( } } + Spacer(modifier = Modifier.height(8.dp)) Surface( - modifier = Modifier.fillMaxWidth(), + modifier = Modifier + .fillMaxWidth() + .padding(horizontal = 16.dp), color = sectionColor, - shape = RoundedCornerShape(0.dp) + shape = RoundedCornerShape(12.dp) ) { - Row( - modifier = Modifier - .fillMaxWidth() - .clickable { openInviteSharePicker() } - .padding(horizontal = 16.dp, vertical = 12.dp), - verticalAlignment = Alignment.CenterVertically - ) { - Icon( - imageVector = Icons.Default.PersonAdd, - contentDescription = null, - tint = accentColor - ) - Spacer(modifier = Modifier.size(12.dp)) - Text( - text = "Add Members", - color = accentColor, - fontSize = 17.sp, - fontWeight = FontWeight.Medium - ) - } - } - - Surface( - modifier = Modifier.fillMaxWidth(), - color = sectionColor, - shape = RoundedCornerShape(0.dp) - ) { - Column( - modifier = Modifier - .fillMaxWidth() - .clickable { openEncryptionKey() } - .padding(horizontal = 16.dp, vertical = 11.dp) - ) { - Row(verticalAlignment = Alignment.CenterVertically) { + Column { + // Add Members + Row( + modifier = Modifier + .fillMaxWidth() + .clickable { openInviteSharePicker() } + .padding(horizontal = 16.dp, vertical = 13.dp), + verticalAlignment = Alignment.CenterVertically + ) { + Text( + text = "Add Members", + color = primaryText, + fontSize = 16.sp, + modifier = Modifier.weight(1f) + ) Icon( - imageVector = Icons.Default.Lock, + imageVector = Icons.Default.PersonAdd, contentDescription = null, tint = accentColor, - modifier = Modifier.size(20.dp) + modifier = Modifier.size(22.dp) ) - Spacer(modifier = Modifier.width(12.dp)) + } + + Divider( + color = borderColor, + thickness = 0.5.dp, + modifier = Modifier.padding(start = 16.dp) + ) + + // Encryption Key + Row( + modifier = Modifier + .fillMaxWidth() + .clickable { openEncryptionKey() } + .padding(horizontal = 16.dp, vertical = 13.dp), + verticalAlignment = Alignment.CenterVertically + ) { Text( text = "Encryption Key", color = primaryText, fontSize = 16.sp, - fontWeight = FontWeight.Medium, modifier = Modifier.weight(1f) ) if (encryptionKeyLoading) { CircularProgressIndicator( - modifier = Modifier.size(16.dp), + modifier = Modifier.size(20.dp), strokeWidth = 2.dp, color = accentColor ) + } else { + val identiconKey = encryptionKey.ifBlank { dialogPublicKey } + Box( + modifier = Modifier + .size(34.dp) + .clip(RoundedCornerShape(6.dp)) + ) { + TelegramStyleIdenticon( + keyRender = identiconKey, + size = 34.dp, + isDarkTheme = isDarkTheme + ) + } } } - Spacer(modifier = Modifier.height(3.dp)) - Text( - text = "Tap to view key used for secure group communication", - color = secondaryText, - fontSize = 12.sp - ) } } + Spacer(modifier = Modifier.height(8.dp)) TabRow( selectedTabIndex = GroupInfoTab.entries.indexOf(selectedTab),