mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-04 13:38:21 +00:00
Fix chat list delete menu
This commit is contained in:
parent
4d2d3648f4
commit
1488d8e99f
@ -4035,6 +4035,7 @@ public final class ChatController: TelegramController, KeyShortcutResponder, Gal
|
||||
}
|
||||
|
||||
let legacyController = LegacyController(presentation: .custom, theme: strongSelf.presentationData.theme, initialLayout: strongSelf.validLayout)
|
||||
legacyController.blocksBackgroundWhenInOverlay = true
|
||||
legacyController.statusBar.statusBarStyle = .Ignore
|
||||
legacyController.controllerLoaded = { [weak legacyController] in
|
||||
legacyController?.view.disablesInteractiveTransitionGestureRecognizer = true
|
||||
|
||||
@ -378,7 +378,12 @@ public class ChatListController: TelegramController, KeyShortcutResponder, UIVie
|
||||
}
|
||||
}
|
||||
|> deliverOnMainQueue).start(next: { peer in
|
||||
guard let strongSelf = self, let peer = peer, let chatPeer = peer.peers[peer.peerId], let mainPeer = peer.chatMainPeer else {
|
||||
guard let strongSelf = self, let peer = peer else {
|
||||
return
|
||||
}
|
||||
strongSelf.maybeAskForPeerChatRemoval(peer: peer, completion: { _ in })
|
||||
|
||||
/*guard let strongSelf = self, let peer = peer, let chatPeer = peer.peers[peer.peerId], let mainPeer = peer.chatMainPeer else {
|
||||
return
|
||||
}
|
||||
let actionSheet = ActionSheetController(presentationTheme: strongSelf.presentationData.theme)
|
||||
@ -514,7 +519,7 @@ public class ChatListController: TelegramController, KeyShortcutResponder, UIVie
|
||||
})
|
||||
])
|
||||
])
|
||||
strongSelf.present(actionSheet, in: .window(.root))
|
||||
strongSelf.present(actionSheet, in: .window(.root))*/
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@ -131,7 +131,7 @@ struct ItemListControllerState {
|
||||
}
|
||||
}
|
||||
|
||||
class ItemListController<Entry: ItemListNodeEntry>: ViewController {
|
||||
class ItemListController<Entry: ItemListNodeEntry>: ViewController, PresentableController {
|
||||
private let state: Signal<(ItemListControllerState, (ItemListNodeState<Entry>, Entry.ItemGenerationArguments)), NoError>
|
||||
|
||||
private var leftNavigationButtonTitleAndStyle: (ItemListNavigationButtonContent, ItemListNavigationButtonStyle)?
|
||||
@ -475,13 +475,24 @@ class ItemListController<Entry: ItemListNodeEntry>: ViewController {
|
||||
override func viewDidAppear(_ animated: Bool) {
|
||||
super.viewDidAppear(animated)
|
||||
|
||||
self.viewDidAppear(completion: {})
|
||||
}
|
||||
|
||||
func viewDidAppear(completion: @escaping () -> Void) {
|
||||
(self.displayNode as! ItemListControllerNode<Entry>).listNode.preloadPages = true
|
||||
|
||||
if let presentationArguments = self.presentationArguments as? ViewControllerPresentationArguments, !self.didPlayPresentationAnimation {
|
||||
self.didPlayPresentationAnimation = true
|
||||
if case .modalSheet = presentationArguments.presentationAnimation {
|
||||
(self.displayNode as! ItemListControllerNode<Entry>).animateIn(completion: presentationArguments.completion)
|
||||
(self.displayNode as! ItemListControllerNode<Entry>).animateIn(completion: {
|
||||
presentationArguments.completion?()
|
||||
completion()
|
||||
})
|
||||
} else {
|
||||
completion()
|
||||
}
|
||||
} else {
|
||||
completion()
|
||||
}
|
||||
|
||||
let firstTime = !self.didAppearOnce
|
||||
|
||||
@ -294,7 +294,7 @@ final class LegacyControllerContext: NSObject, LegacyComponentsContext {
|
||||
}
|
||||
}
|
||||
|
||||
public class LegacyController: ViewController {
|
||||
public class LegacyController: ViewController, PresentableController {
|
||||
public private(set) var legacyController: UIViewController!
|
||||
private let presentation: LegacyControllerPresentation
|
||||
|
||||
@ -405,20 +405,30 @@ public class LegacyController: ViewController {
|
||||
if self.ignoreAppearanceMethodInvocations() {
|
||||
return
|
||||
}
|
||||
|
||||
self.viewDidAppear(animated: animated, completion: {})
|
||||
}
|
||||
|
||||
public func viewDidAppear(completion: @escaping () -> Void) {
|
||||
self.viewDidAppear(animated: false, completion: completion)
|
||||
}
|
||||
|
||||
private func viewDidAppear(animated: Bool, completion: @escaping () -> Void) {
|
||||
switch self.presentation {
|
||||
case let .modal(animateIn):
|
||||
if animateIn {
|
||||
self.controllerNode.animateModalIn(completion: { [weak self] in
|
||||
self?.presentationCompleted?()
|
||||
completion()
|
||||
})
|
||||
} else {
|
||||
self.presentationCompleted?()
|
||||
completion()
|
||||
}
|
||||
self.legacyController.viewDidAppear(animated && animateIn)
|
||||
case .custom, .navigation:
|
||||
self.legacyController.viewDidAppear(animated)
|
||||
self.presentationCompleted?()
|
||||
completion()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user