mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-22 22:25:57 +00:00
Various improvements
This commit is contained in:
@@ -20,12 +20,18 @@ import ChatControllerInteraction
|
||||
import SavedMessagesScreen
|
||||
import WallpaperGalleryScreen
|
||||
import ChatMessageNotificationItem
|
||||
import FaceScanScreen
|
||||
|
||||
public func navigateToChatControllerImpl(_ params: NavigateToChatControllerParams) {
|
||||
if case let .peer(peer) = params.chatLocation {
|
||||
let _ = params.context.engine.peers.ensurePeerIsLocallyAvailable(peer: peer).startStandalone()
|
||||
}
|
||||
|
||||
var requiresAgeVerification: Signal<Bool, NoError> = .single(false)
|
||||
if !params.skipAgeVerification, case let .peer(peer) = params.chatLocation {
|
||||
requiresAgeVerification = requireAgeVerification(context: params.context, peer: peer)
|
||||
}
|
||||
|
||||
var viewForumAsMessages: Signal<Bool, NoError> = .single(false)
|
||||
if case let .peer(peer) = params.chatLocation, case let .channel(channel) = peer, channel.flags.contains(.isMonoforum) {
|
||||
if let linkedMonoforumId = channel.linkedMonoforumId {
|
||||
@@ -67,9 +73,18 @@ public func navigateToChatControllerImpl(_ params: NavigateToChatControllerParam
|
||||
}
|
||||
}
|
||||
|
||||
let _ = (viewForumAsMessages
|
||||
|> take(1)
|
||||
|> deliverOnMainQueue).start(next: { viewForumAsMessages in
|
||||
let _ = combineLatest(
|
||||
queue: Queue.mainQueue(),
|
||||
viewForumAsMessages |> take(1),
|
||||
requiresAgeVerification
|
||||
).start(next: { viewForumAsMessages, requiresAgeVerification in
|
||||
if requiresAgeVerification, let parentController = params.navigationController.viewControllers.last as? ViewController {
|
||||
presentAgeVerification(context: params.context, parentController: parentController, completion: {
|
||||
navigateToChatControllerImpl(params.withSkipAgeVerification(true))
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
if case let .peer(peer) = params.chatLocation, case let .channel(channel) = peer, channel.flags.contains(.isForum), !viewForumAsMessages {
|
||||
for controller in params.navigationController.viewControllers.reversed() {
|
||||
var chatListController: ChatListControllerImpl?
|
||||
@@ -118,9 +133,7 @@ public func navigateToChatControllerImpl(_ params: NavigateToChatControllerParam
|
||||
controller.activateSearch(query: activateMessageSearch.1)
|
||||
}
|
||||
|
||||
if let chatListCompletion {
|
||||
chatListCompletion(controller)
|
||||
}
|
||||
chatListCompletion(controller)
|
||||
})
|
||||
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user