mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-08 23:30:22 +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)
|
let legacyController = LegacyController(presentation: .custom, theme: strongSelf.presentationData.theme, initialLayout: strongSelf.validLayout)
|
||||||
|
legacyController.blocksBackgroundWhenInOverlay = true
|
||||||
legacyController.statusBar.statusBarStyle = .Ignore
|
legacyController.statusBar.statusBarStyle = .Ignore
|
||||||
legacyController.controllerLoaded = { [weak legacyController] in
|
legacyController.controllerLoaded = { [weak legacyController] in
|
||||||
legacyController?.view.disablesInteractiveTransitionGestureRecognizer = true
|
legacyController?.view.disablesInteractiveTransitionGestureRecognizer = true
|
||||||
|
|||||||
@ -378,7 +378,12 @@ public class ChatListController: TelegramController, KeyShortcutResponder, UIVie
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|> deliverOnMainQueue).start(next: { peer in
|
|> 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
|
return
|
||||||
}
|
}
|
||||||
let actionSheet = ActionSheetController(presentationTheme: strongSelf.presentationData.theme)
|
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 let state: Signal<(ItemListControllerState, (ItemListNodeState<Entry>, Entry.ItemGenerationArguments)), NoError>
|
||||||
|
|
||||||
private var leftNavigationButtonTitleAndStyle: (ItemListNavigationButtonContent, ItemListNavigationButtonStyle)?
|
private var leftNavigationButtonTitleAndStyle: (ItemListNavigationButtonContent, ItemListNavigationButtonStyle)?
|
||||||
@ -475,13 +475,24 @@ class ItemListController<Entry: ItemListNodeEntry>: ViewController {
|
|||||||
override func viewDidAppear(_ animated: Bool) {
|
override func viewDidAppear(_ animated: Bool) {
|
||||||
super.viewDidAppear(animated)
|
super.viewDidAppear(animated)
|
||||||
|
|
||||||
|
self.viewDidAppear(completion: {})
|
||||||
|
}
|
||||||
|
|
||||||
|
func viewDidAppear(completion: @escaping () -> Void) {
|
||||||
(self.displayNode as! ItemListControllerNode<Entry>).listNode.preloadPages = true
|
(self.displayNode as! ItemListControllerNode<Entry>).listNode.preloadPages = true
|
||||||
|
|
||||||
if let presentationArguments = self.presentationArguments as? ViewControllerPresentationArguments, !self.didPlayPresentationAnimation {
|
if let presentationArguments = self.presentationArguments as? ViewControllerPresentationArguments, !self.didPlayPresentationAnimation {
|
||||||
self.didPlayPresentationAnimation = true
|
self.didPlayPresentationAnimation = true
|
||||||
if case .modalSheet = presentationArguments.presentationAnimation {
|
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
|
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!
|
public private(set) var legacyController: UIViewController!
|
||||||
private let presentation: LegacyControllerPresentation
|
private let presentation: LegacyControllerPresentation
|
||||||
|
|
||||||
@ -405,20 +405,30 @@ public class LegacyController: ViewController {
|
|||||||
if self.ignoreAppearanceMethodInvocations() {
|
if self.ignoreAppearanceMethodInvocations() {
|
||||||
return
|
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 {
|
switch self.presentation {
|
||||||
case let .modal(animateIn):
|
case let .modal(animateIn):
|
||||||
if animateIn {
|
if animateIn {
|
||||||
self.controllerNode.animateModalIn(completion: { [weak self] in
|
self.controllerNode.animateModalIn(completion: { [weak self] in
|
||||||
self?.presentationCompleted?()
|
self?.presentationCompleted?()
|
||||||
|
completion()
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
self.presentationCompleted?()
|
self.presentationCompleted?()
|
||||||
|
completion()
|
||||||
}
|
}
|
||||||
self.legacyController.viewDidAppear(animated && animateIn)
|
self.legacyController.viewDidAppear(animated && animateIn)
|
||||||
case .custom, .navigation:
|
case .custom, .navigation:
|
||||||
self.legacyController.viewDidAppear(animated)
|
self.legacyController.viewDidAppear(animated)
|
||||||
self.presentationCompleted?()
|
self.presentationCompleted?()
|
||||||
|
completion()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user