feat: show unsupported emoji

pull/638/head
ryanzhao 3 years ago
parent 43b6f0b649
commit 3944fe52c1

@ -161,7 +161,7 @@ extension ContextMenuVC {
if cellViewModel.threadVariant == .openGroup { if cellViewModel.threadVariant == .openGroup {
return OpenGroupManager.isOpenGroupSupport(.reactions, on: cellViewModel.threadOpenGroupServer) return OpenGroupManager.isOpenGroupSupport(.reactions, on: cellViewModel.threadOpenGroupServer)
} }
return currentThreadIsMessageRequest return !currentThreadIsMessageRequest
}() }()
let generatedActions: [Action] = [ let generatedActions: [Action] = [

@ -152,7 +152,7 @@ class EmojiPickerCollectionView: UICollectionView {
func searchWithText(_ searchText: String?) { func searchWithText(_ searchText: String?) {
if let searchText = searchText { if let searchText = searchText {
emojiSearchResults = allSendableEmoji.filter { emoji in emojiSearchResults = allSendableEmoji.filter { emoji in
return emoji.baseEmoji.name.range(of: searchText, options: [.caseInsensitive]) != nil return emoji.baseEmoji?.name.range(of: searchText, options: [.caseInsensitive]) != nil
} }
} else { } else {
emojiSearchResults = [] emojiSearchResults = []
@ -187,7 +187,7 @@ class EmojiPickerCollectionView: UICollectionView {
currentSkinTonePicker = EmojiSkinTonePicker.present(referenceView: cell, emoji: emoji) { [weak self] emoji in currentSkinTonePicker = EmojiSkinTonePicker.present(referenceView: cell, emoji: emoji) { [weak self] emoji in
if let emoji: EmojiWithSkinTones = emoji { if let emoji: EmojiWithSkinTones = emoji {
Storage.shared.writeAsync { db in Storage.shared.writeAsync { db in
emoji.baseEmoji.setPreferredSkinTones( emoji.baseEmoji?.setPreferredSkinTones(
db, db,
preferredSkinTonePermutation: emoji.skinTones preferredSkinTonePermutation: emoji.skinTones
) )

@ -14,7 +14,7 @@ class EmojiSkinTonePicker: UIView {
emoji: EmojiWithSkinTones, emoji: EmojiWithSkinTones,
completion: @escaping (EmojiWithSkinTones?) -> Void completion: @escaping (EmojiWithSkinTones?) -> Void
) -> EmojiSkinTonePicker? { ) -> EmojiSkinTonePicker? {
guard emoji.baseEmoji.hasSkinTones else { return nil } guard let baseEmoji = emoji.baseEmoji, baseEmoji.hasSkinTones else { return nil }
UIImpactFeedbackGenerator(style: .light).impactOccurred() UIImpactFeedbackGenerator(style: .light).impactOccurred()
@ -104,9 +104,9 @@ class EmojiSkinTonePicker: UIView {
} }
init(emoji: EmojiWithSkinTones, completion: @escaping (EmojiWithSkinTones?) -> Void) { init(emoji: EmojiWithSkinTones, completion: @escaping (EmojiWithSkinTones?) -> Void) {
owsAssertDebug(emoji.baseEmoji.hasSkinTones) owsAssertDebug(emoji.baseEmoji!.hasSkinTones)
self.emoji = emoji.baseEmoji self.emoji = emoji.baseEmoji!
self.preferredSkinTonePermutation = emoji.skinTones self.preferredSkinTonePermutation = emoji.skinTones
self.completion = completion self.completion = completion
@ -127,7 +127,7 @@ class EmojiSkinTonePicker: UIView {
containerView.autoPinWidthToSuperview() containerView.autoPinWidthToSuperview()
containerView.setCompressionResistanceHigh() containerView.setCompressionResistanceHigh()
if emoji.baseEmoji.allowsMultipleSkinTones { if emoji.baseEmoji!.allowsMultipleSkinTones {
prepareForMultipleSkinTones() prepareForMultipleSkinTones()
} else { } else {
prepareForSingleSkinTone() prepareForSingleSkinTone()

Loading…
Cancel
Save