From fdbb8aab0a001d30b8b9616636826b0d66d72e02 Mon Sep 17 00:00:00 2001 From: Ali <> Date: Tue, 2 Aug 2022 05:03:36 +0400 Subject: [PATCH] Enable premium suggestions in saved messages --- .../Sources/EmojiSuggestionsComponent.swift | 19 ++++++++++++------- .../Sources/ChatTextInputPanelNode.swift | 2 +- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/submodules/TelegramUI/Components/EmojiSuggestionsComponent/Sources/EmojiSuggestionsComponent.swift b/submodules/TelegramUI/Components/EmojiSuggestionsComponent/Sources/EmojiSuggestionsComponent.swift index 94c87feb27..e8ab41885e 100644 --- a/submodules/TelegramUI/Components/EmojiSuggestionsComponent/Sources/EmojiSuggestionsComponent.swift +++ b/submodules/TelegramUI/Components/EmojiSuggestionsComponent/Sources/EmojiSuggestionsComponent.swift @@ -15,15 +15,20 @@ import TextFormat public final class EmojiSuggestionsComponent: Component { public typealias EnvironmentType = Empty - public static func suggestionData(context: AccountContext, query: String) -> Signal<[TelegramMediaFile], NoError> { - let hasPremium = context.engine.data.subscribe(TelegramEngine.EngineData.Item.Peer.Peer(id: context.account.peerId)) - |> map { peer -> Bool in - guard case let .user(user) = peer else { - return false + public static func suggestionData(context: AccountContext, isSavedMessages: Bool, query: String) -> Signal<[TelegramMediaFile], NoError> { + let hasPremium: Signal + if isSavedMessages { + hasPremium = .single(true) + } else { + hasPremium = context.engine.data.subscribe(TelegramEngine.EngineData.Item.Peer.Peer(id: context.account.peerId)) + |> map { peer -> Bool in + guard case let .user(user) = peer else { + return false + } + return user.isPremium } - return user.isPremium + |> distinctUntilChanged } - |> distinctUntilChanged return combineLatest( context.account.postbox.itemCollectionsView(orderedItemListCollectionIds: [], namespaces: [Namespaces.ItemCollection.CloudEmojiPacks], aroundIndex: nil, count: 10000000), diff --git a/submodules/TelegramUI/Sources/ChatTextInputPanelNode.swift b/submodules/TelegramUI/Sources/ChatTextInputPanelNode.swift index f3ae68526f..c41b1f8bd4 100644 --- a/submodules/TelegramUI/Sources/ChatTextInputPanelNode.swift +++ b/submodules/TelegramUI/Sources/ChatTextInputPanelNode.swift @@ -2509,7 +2509,7 @@ class ChatTextInputPanelNode: ChatInputPanelNode, ASEditableTextNodeDelegate { self.dismissedEmojiSuggestionPosition = nil if beginRequest { - suggestionContext.disposable.set((EmojiSuggestionsComponent.suggestionData(context: context, query: String(lastCharacter)) + suggestionContext.disposable.set((EmojiSuggestionsComponent.suggestionData(context: context, isSavedMessages: self.presentationInterfaceState?.chatLocation.peerId == self.context?.account.peerId, query: String(lastCharacter)) |> deliverOnMainQueue).start(next: { [weak self, weak suggestionContext] result in guard let strongSelf = self, let suggestionContext = suggestionContext, strongSelf.currentEmojiSuggestion === suggestionContext else { return