Fixed recent search for Heart emoji

This commit is contained in:
Ilya Laktyushin 2019-06-20 19:08:10 +02:00
parent 43dcb635d5
commit f77f2f0dbf
3 changed files with 11 additions and 3 deletions

View File

@ -83,7 +83,7 @@ private func updatedContextQueryResultStateForQuery(context: AccountContext, pee
case .installed:
scope = [.installed]
}
return searchStickers(account: context.account, query: query, scope: scope)
return searchStickers(account: context.account, query: query.trimmedEmoji, scope: scope)
}
|> map { stickers -> (ChatPresentationInputQueryResult?) -> ChatPresentationInputQueryResult? in
return { _ in

View File

@ -135,4 +135,12 @@ extension String {
}
return string
}
var trimmedEmoji: String {
if self.unicodeScalars.count > 1, self.unicodeScalars.first?.value == 0x2764 {
return String(self.unicodeScalars.prefix(self.unicodeScalars.count - 1))
} else {
return self
}
}
}

View File

@ -267,7 +267,7 @@ final class StickerPaneSearchContentNode: ASDisplayNode, PaneSearchContentNode {
let query = text.trimmingCharacters(in: .whitespacesAndNewlines)
if query.isSingleEmoji {
signals = .single([searchStickers(account: account, query: text)
signals = .single([searchStickers(account: account, query: text.trimmedEmoji)
|> take(1)
|> map { (nil, $0) }])
} else if query.count > 1, let languageCode = languageCode, !languageCode.isEmpty && languageCode != "emoji" {
@ -290,7 +290,7 @@ final class StickerPaneSearchContentNode: ASDisplayNode, PaneSearchContentNode {
var signals: [Signal<(String?, [FoundStickerItem]), NoError>] = []
let emoticons = keywords.flatMap { $0.emoticons }
for emoji in emoticons {
signals.append(searchStickers(account: self.context.account, query: emoji)
signals.append(searchStickers(account: self.context.account, query: emoji.trimmedEmoji)
|> take(1)
|> map { (emoji, $0) })
}