mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-08-02 00:17:02 +00:00
Fix gallery preview
This commit is contained in:
parent
8f5a375193
commit
0fb9b83d49
@ -224,6 +224,23 @@ func chatMessagePreviewControllerData(context: AccountContext, message: Message,
|
||||
return nil
|
||||
}
|
||||
|
||||
func chatMediaListPreviewControllerData(context: AccountContext, message: Message, standalone: Bool, reverseMessageGalleryOrder: Bool, navigationController: NavigationController?) -> Signal<ChatMessagePreviewControllerData?, NoError> {
|
||||
if let mediaData = chatMessageGalleryControllerData(context: context, message: message, navigationController: navigationController, standalone: standalone, reverseMessageGalleryOrder: reverseMessageGalleryOrder, mode: .default, synchronousLoad: true, actionInteraction: nil) {
|
||||
switch mediaData {
|
||||
case let .gallery(gallery):
|
||||
return gallery
|
||||
|> map { gallery in
|
||||
return .gallery(gallery)
|
||||
}
|
||||
case let .instantPage(gallery, centralIndex, galleryMedia):
|
||||
return .single(.instantPage(gallery, centralIndex, galleryMedia))
|
||||
default:
|
||||
break
|
||||
}
|
||||
}
|
||||
return .single(nil)
|
||||
}
|
||||
|
||||
func openChatMessageImpl(_ params: OpenChatMessageParams) -> Bool {
|
||||
if let mediaData = chatMessageGalleryControllerData(context: params.context, message: params.message, navigationController: params.navigationController, standalone: params.standalone, reverseMessageGalleryOrder: params.reverseMessageGalleryOrder, mode: params.mode, synchronousLoad: false, actionInteraction: params.actionInteraction) {
|
||||
switch mediaData {
|
||||
|
@ -178,7 +178,14 @@ public class PeerMediaCollectionController: TelegramBaseController {
|
||||
gesture?.cancel()
|
||||
return
|
||||
}
|
||||
if let previewData = chatMessagePreviewControllerData(context: strongSelf.context, message: message, standalone: false, reverseMessageGalleryOrder: false, navigationController: strongSelf.navigationController as? NavigationController) {
|
||||
|
||||
let _ = (chatMediaListPreviewControllerData(context: strongSelf.context, message: message, standalone: false, reverseMessageGalleryOrder: false, navigationController: strongSelf.navigationController as? NavigationController)
|
||||
|> deliverOnMainQueue).start(next: { previewData in
|
||||
guard let strongSelf = self else {
|
||||
gesture?.cancel()
|
||||
return
|
||||
}
|
||||
if let previewData = previewData {
|
||||
let context = strongSelf.context
|
||||
let strings = strongSelf.presentationData.strings
|
||||
let items = chatAvailableMessageActionsImpl(postbox: strongSelf.context.account.postbox, accountPeerId: strongSelf.context.account.peerId, messageIds: [message.id])
|
||||
@ -272,6 +279,7 @@ public class PeerMediaCollectionController: TelegramBaseController {
|
||||
break
|
||||
}
|
||||
}
|
||||
})
|
||||
}, navigateToMessage: { [weak self] fromId, id in
|
||||
if let strongSelf = self, strongSelf.isNodeLoaded {
|
||||
if id.peerId == strongSelf.peerId {
|
||||
|
Loading…
x
Reference in New Issue
Block a user