// // AnnouncementContentTextView.swift // Tusker // // Created by Shadowfacts on 4/16/24. // Copyright © 2024 Shadowfacts. All rights reserved. // import UIKit import Pachyderm import WebURL class AnnouncementContentTextView: ContentTextView { var heightChanged: ((CGFloat) -> Void)? private var announcement: Announcement? override func layoutSubviews() { super.layoutSubviews() heightChanged?(contentSize.height) } func setTextFrom(announcement: Announcement, content: NSAttributedString) { self.announcement = announcement self.attributedText = content setEmojis(announcement.emojis, identifier: announcement.id) } override func getMention(for url: URL, text: String) -> Mention? { announcement?.mentions.first { URL($0.url) == url }.map { Mention(url: $0.url, username: $0.username, acct: $0.acct, id: $0.id) } } override func getHashtag(for url: URL, text: String) -> Hashtag? { announcement?.tags.first { URL($0.url) == url } } }