This commit is contained in:
Ilya Laktyushin
2023-06-22 05:01:19 +04:00
parent 75c01b0897
commit 53aa40353a
9 changed files with 282 additions and 177 deletions

View File

@@ -68,6 +68,9 @@ final class ContactsControllerNode: ASDisplayNode, UIGestureRecognizerDelegate {
private var presentationDataDisposable: Disposable?
private let stringsPromise = Promise<PresentationStrings>()
private var isPremium = false
private var isPremiumDisposable: Disposable?
weak var controller: ContactsController?
private var initialScrollingOffset: CGFloat?
@@ -258,11 +261,22 @@ final class ContactsControllerNode: ASDisplayNode, UIGestureRecognizerDelegate {
self.storiesReady.set(.single(true))
})
self.isPremiumDisposable = (self.context.engine.data.subscribe(TelegramEngine.EngineData.Item.Peer.Peer(id: self.context.account.peerId))
|> map {
return $0?.isPremium ?? false
}
|> deliverOnMainQueue).start(next: { [weak self] isPremium in
if let self {
self.isPremium = isPremium
}
})
}
deinit {
self.presentationDataDisposable?.dispose()
self.storySubscriptionsDisposable?.dispose()
self.isPremiumDisposable?.dispose()
}
override func didLoad() {
@@ -293,6 +307,10 @@ final class ContactsControllerNode: ASDisplayNode, UIGestureRecognizerDelegate {
return false
}
override func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
return self.isPremium
}
private func updateThemeAndStrings() {
self.backgroundColor = self.presentationData.theme.chatList.backgroundColor
self.searchDisplayController?.updatePresentationData(self.presentationData)