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
|
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 {
|
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) {
|
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 {
|
switch mediaData {
|
||||||
|
@ -178,7 +178,14 @@ public class PeerMediaCollectionController: TelegramBaseController {
|
|||||||
gesture?.cancel()
|
gesture?.cancel()
|
||||||
return
|
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 context = strongSelf.context
|
||||||
let strings = strongSelf.presentationData.strings
|
let strings = strongSelf.presentationData.strings
|
||||||
let items = chatAvailableMessageActionsImpl(postbox: strongSelf.context.account.postbox, accountPeerId: strongSelf.context.account.peerId, messageIds: [message.id])
|
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
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
})
|
||||||
}, navigateToMessage: { [weak self] fromId, id in
|
}, navigateToMessage: { [weak self] fromId, id in
|
||||||
if let strongSelf = self, strongSelf.isNodeLoaded {
|
if let strongSelf = self, strongSelf.isNodeLoaded {
|
||||||
if id.peerId == strongSelf.peerId {
|
if id.peerId == strongSelf.peerId {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user