diff --git a/android/CHANGELOG.md b/android/CHANGELOG.md index bd9d321..5d807cb 100644 --- a/android/CHANGELOG.md +++ b/android/CHANGELOG.md @@ -1009,3 +1009,9 @@ - Fixed chat bug after closing message context menu by tapping outside: - selection state now clears on `ModalBottomSheet` dismiss, - prevents stale single-selection action bar from appearing after menu close. + +### Step 137 - Telegram-like message actions cleanup +- Removed legacy single-selection bottom action bar (`Close/Delete/Del for all/Edit`) in chat. +- Message actions are now driven by Telegram-like context UI: + - tap -> context sheet actions, + - long-press -> selection mode flow. diff --git a/android/app/src/main/java/ru/daemonlord/messenger/ui/chat/ChatScreen.kt b/android/app/src/main/java/ru/daemonlord/messenger/ui/chat/ChatScreen.kt index e8e3558..5bb3b19 100644 --- a/android/app/src/main/java/ru/daemonlord/messenger/ui/chat/ChatScreen.kt +++ b/android/app/src/main/java/ru/daemonlord/messenger/ui/chat/ChatScreen.kt @@ -890,56 +890,6 @@ fun ChatScreen( } } - if (state.actionState.hasSelection && - state.actionState.mode == MessageSelectionMode.SINGLE && - actionMenuMessage == null - ) { - Row( - modifier = Modifier - .fillMaxWidth() - .background(MaterialTheme.colorScheme.secondaryContainer.copy(alpha = 0.92f)) - .padding(horizontal = 12.dp, vertical = 6.dp), - horizontalArrangement = Arrangement.spacedBy(8.dp), - verticalAlignment = Alignment.CenterVertically, - ) { - Button(onClick = onClearSelection) { Text("Close") } - Text( - text = "${state.actionState.selectedCount} selected", - style = MaterialTheme.typography.labelLarge, - modifier = Modifier.weight(1f), - ) - if (state.actionState.mode == MessageSelectionMode.MULTI) { - Button(onClick = onForwardSelected) { Text("Forward") } - Button( - onClick = { - pendingDeleteForAll = false - showDeleteDialog = true - }, - ) { Text("Delete") } - } else { - Button( - onClick = { - pendingDeleteForAll = false - showDeleteDialog = true - }, - ) { Text("Delete") } - Button( - onClick = { - pendingDeleteForAll = true - showDeleteDialog = true - }, - enabled = state.selectedCanDeleteForAll, - ) { Text("Del for all") } - Button( - onClick = { state.selectedMessage?.let(onEditSelected) }, - enabled = state.selectedCanEdit, - ) { Text("Edit") } - Button(onClick = { onToggleReaction("\uD83D\uDC4D") }) { Text("\uD83D\uDC4D") } - Button(onClick = { onToggleReaction("\uD83D\uDE02") }) { Text("\uD83D\uDE02") } - } - } - } - if (state.forwardingMessageIds.isNotEmpty()) { ModalBottomSheet( onDismissRequest = onForwardDismiss,