diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/UserPicker.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/UserPicker.kt index 8800682f46..1c455da008 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/UserPicker.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chatlist/UserPicker.kt @@ -245,23 +245,31 @@ fun UserPicker( } @Composable -fun UserProfilePickerItem(u: User, unreadCount: Int = 0, onLongClick: () -> Unit = {}, openSettings: () -> Unit = {}, onClick: () -> Unit) { +fun UserProfilePickerItem( + u: User, + unreadCount: Int = 0, + enabled: Boolean = chatModel.chatRunning.value == true || chatModel.connectedToRemote, + onLongClick: () -> Unit = {}, + openSettings: () -> Unit = {}, + onClick: () -> Unit +) { Row( Modifier .fillMaxWidth() .sizeIn(minHeight = 46.dp) .combinedClickable( + enabled = enabled, onClick = if (u.activeUser) openSettings else onClick, onLongClick = onLongClick, interactionSource = remember { MutableInteractionSource() }, indication = if (!u.activeUser) LocalIndication.current else null ) - .onRightClick { onLongClick() } + .onRightClick { if (enabled) onLongClick() } .padding(start = DEFAULT_PADDING_HALF, end = DEFAULT_PADDING), horizontalArrangement = Arrangement.SpaceBetween, verticalAlignment = Alignment.CenterVertically ) { - UserProfileRow(u) + UserProfileRow(u, enabled) if (u.activeUser) { Icon(painterResource(MR.images.ic_done_filled), null, Modifier.size(20.dp), tint = MaterialTheme.colors.onBackground) } else if (u.hidden) { @@ -289,7 +297,7 @@ fun UserProfilePickerItem(u: User, unreadCount: Int = 0, onLongClick: () -> Unit } @Composable -fun UserProfileRow(u: User) { +fun UserProfileRow(u: User, enabled: Boolean = chatModel.chatRunning.value == true || chatModel.connectedToRemote) { Row( Modifier .widthIn(max = windowWidth() * 0.7f) @@ -304,7 +312,7 @@ fun UserProfileRow(u: User) { u.displayName, modifier = Modifier .padding(start = 10.dp, end = 8.dp), - color = MenuTextColor, + color = if (enabled) MenuTextColor else MaterialTheme.colors.secondary, fontWeight = if (u.activeUser) FontWeight.Medium else FontWeight.Normal ) }