From 30ad6807d4dc8307bd92b93b1e13b148b16ce675 Mon Sep 17 00:00:00 2001 From: Ilya Laktyushin Date: Sat, 21 Mar 2026 10:04:44 +0100 Subject: [PATCH] Various improvements --- .../Sources/AttachmentFileController.swift | 14 ++++++++------ .../Sources/AttachmentFileSearchItem.swift | 1 + 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/submodules/TelegramUI/Components/AttachmentFileController/Sources/AttachmentFileController.swift b/submodules/TelegramUI/Components/AttachmentFileController/Sources/AttachmentFileController.swift index 32acbcfc38..8e4fc314e4 100644 --- a/submodules/TelegramUI/Components/AttachmentFileController/Sources/AttachmentFileController.swift +++ b/submodules/TelegramUI/Components/AttachmentFileController/Sources/AttachmentFileController.swift @@ -657,12 +657,14 @@ public func makeAttachmentFileControllerImpl( let gesture: ContextGesture? = anyRecognizer as? ContextGesture var items: [ContextMenuItem] = [] - items.append(.action(ContextMenuActionItem(text: presentationData.strings.KeyCommand_Play, icon: { theme in generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Play"), color: theme.contextMenu.primaryColor) }, action: { c, _ in - c?.dismiss(completion: {}) - - let playlistLocation: PeerMessagesPlaylistLocation = .custom(messages: .single(([message._asMessage()], 0, false)), canReorder: false, at: message.id, loadMore: nil) - context.sharedContext.mediaManager.setPlaylist((context, PeerMessagesMediaPlaylist(context: context, location: playlistLocation, chatLocationContextHolder: nil)), type: .music, control: .playback(.togglePlayPause)) - }))) + if case .audio = mode { + items.append(.action(ContextMenuActionItem(text: "Play", icon: { theme in generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Play"), color: theme.contextMenu.primaryColor) }, action: { c, _ in + c?.dismiss(completion: {}) + + let playlistLocation: PeerMessagesPlaylistLocation = .custom(messages: .single(([message._asMessage()], 0, false)), canReorder: false, at: message.id, loadMore: nil) + context.sharedContext.mediaManager.setPlaylist((context, PeerMessagesMediaPlaylist(context: context, location: playlistLocation, chatLocationContextHolder: nil)), type: .music, control: .playback(.togglePlayPause)) + }))) + } items.append(.action(ContextMenuActionItem(text: presentationData.strings.Conversation_ContextMenuSelect, icon: { theme in generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Select"), color: theme.contextMenu.primaryColor) }, action: { c, _ in c?.dismiss(completion: {}) diff --git a/submodules/TelegramUI/Components/AttachmentFileController/Sources/AttachmentFileSearchItem.swift b/submodules/TelegramUI/Components/AttachmentFileController/Sources/AttachmentFileSearchItem.swift index c0711a7afe..013499cdeb 100644 --- a/submodules/TelegramUI/Components/AttachmentFileController/Sources/AttachmentFileSearchItem.swift +++ b/submodules/TelegramUI/Components/AttachmentFileController/Sources/AttachmentFileSearchItem.swift @@ -22,6 +22,7 @@ import ItemListPeerActionItem import GlassBackgroundComponent import ActivityIndicator import SearchBarNode +import PeerMessagesMediaPlaylist final class AttachmentFileSearchItem: ItemListControllerSearch { let context: AccountContext