[WIP] Stories

This commit is contained in:
Ali
2023-06-10 00:29:41 +04:00
parent 749023af1f
commit 8a09cd5f70
12 changed files with 433 additions and 24 deletions

View File

@@ -23,8 +23,35 @@ import UndoUI
import WebsiteType
import GalleryData
import StoryContainerScreen
import StoryContentComponent
func openChatMessageImpl(_ params: OpenChatMessageParams) -> Bool {
for media in params.message.media {
if let media = media as? TelegramMediaStory {
let navigationController = params.navigationController
let context = params.context
let storyContent = SingleStoryContentContextImpl(context: params.context, storyId: media.storyId)
let _ = (storyContent.state
|> take(1)
|> deliverOnMainQueue).start(next: { [weak navigationController] _ in
let transitionIn: StoryContainerScreen.TransitionIn? = nil
let storyContainerScreen = StoryContainerScreen(
context: context,
content: storyContent,
transitionIn: transitionIn,
transitionOut: { _, _ in
let transitionOut: StoryContainerScreen.TransitionOut? = nil
return transitionOut
}
)
navigationController?.pushViewController(storyContainerScreen)
})
return true
}
}
if let mediaData = chatMessageGalleryControllerData(context: params.context, chatLocation: params.chatLocation, chatLocationContextHolder: params.chatLocationContextHolder, message: params.message, navigationController: params.navigationController, standalone: params.standalone, reverseMessageGalleryOrder: params.reverseMessageGalleryOrder, mode: params.mode, source: params.gallerySource, synchronousLoad: false, actionInteraction: params.actionInteraction) {
switch mediaData {
case let .url(url):