From 1cd3e6adf9edb1afa6eba129a8d79c5ccde4ce1e Mon Sep 17 00:00:00 2001 From: Shadowfacts Date: Sun, 16 Aug 2020 15:05:58 -0400 Subject: [PATCH] Show custom emoji in profile field names --- Tusker/Views/EmojiLabel.swift | 2 ++ Tusker/Views/Profile Header/ProfileHeaderView.swift | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Tusker/Views/EmojiLabel.swift b/Tusker/Views/EmojiLabel.swift index b14ba7a385..56fb34bb9c 100644 --- a/Tusker/Views/EmojiLabel.swift +++ b/Tusker/Views/EmojiLabel.swift @@ -24,6 +24,8 @@ class EmojiLabel: UILabel { emojiRequests = [] let matches = emojiRegex.matches(in: attributedText.string, options: [], range: attributedText.fullRange) + guard !matches.isEmpty else { return } + let emojiImages = CachedDictionary(name: "EmojiLabel Emoji Images") let group = DispatchGroup() diff --git a/Tusker/Views/Profile Header/ProfileHeaderView.swift b/Tusker/Views/Profile Header/ProfileHeaderView.swift index cc16b0b839..94f1c3c559 100644 --- a/Tusker/Views/Profile Header/ProfileHeaderView.swift +++ b/Tusker/Views/Profile Header/ProfileHeaderView.swift @@ -133,13 +133,14 @@ class ProfileHeaderView: UIView { fieldNamesStackView.arrangedSubviews.forEach { $0.removeFromSuperview() } fieldValuesStackView.arrangedSubviews.forEach { $0.removeFromSuperview() } for field in account.fields { - let nameLabel = UILabel() + let nameLabel = EmojiLabel() nameLabel.text = field.name nameLabel.font = .boldSystemFont(ofSize: 17) nameLabel.textAlignment = .right nameLabel.numberOfLines = 0 nameLabel.lineBreakMode = .byWordWrapping nameLabel.setContentCompressionResistancePriority(.defaultLow, for: .horizontal) + nameLabel.setEmojis(account.emojis, identifier: "") fieldNamesStackView.addArrangedSubview(nameLabel) let valueTextView = ContentTextView()