diff --git a/app/src/main/java/com/rosetta/messenger/ui/chats/components/MediaPickerBottomSheet.kt b/app/src/main/java/com/rosetta/messenger/ui/chats/components/MediaPickerBottomSheet.kt index 22c3d7e..d471ce1 100644 --- a/app/src/main/java/com/rosetta/messenger/ui/chats/components/MediaPickerBottomSheet.kt +++ b/app/src/main/java/com/rosetta/messenger/ui/chats/components/MediaPickerBottomSheet.kt @@ -257,29 +257,30 @@ fun MediaPickerBottomSheet( mediaItems = mediaItems, selectedItems = selectedItems, onItemClick = { item -> - // Single tap - open editor for images, or select for videos - if (!item.isVideo) { - // Open image editor - editingItem = item - } else { - // For videos - just toggle selection - selectedItems = if (item.id in selectedItems) { - selectedItems - item.id - } else if (selectedItems.size < maxSelection) { - selectedItems + item.id + // Telegram-style: + // - Первый клик по невыбранной фото → выбрать + // - Клик по уже выбранной фото → открыть редактор + if (item.id in selectedItems) { + // Уже выбрана - открываем редактор (только для изображений) + if (!item.isVideo) { + editingItem = item } else { - selectedItems + // Для видео - снимаем выделение + selectedItems = selectedItems - item.id + } + } else { + // Не выбрана - добавляем в selection + if (selectedItems.size < maxSelection) { + selectedItems = selectedItems + item.id } } }, onItemLongClick = { item -> - // Long press - toggle selection (multi-select mode) - selectedItems = if (item.id in selectedItems) { - selectedItems - item.id + // Long press - снять выделение если выбрана + if (item.id in selectedItems) { + selectedItems = selectedItems - item.id } else if (selectedItems.size < maxSelection) { - selectedItems + item.id - } else { - selectedItems + selectedItems = selectedItems + item.id } }, isDarkTheme = isDarkTheme,