Implement opening thread modal when tapped

This commit is contained in:
ismailgulek
2021-11-10 15:42:42 +03:00
parent b8fb43a727
commit 887d91a3c4
4 changed files with 55 additions and 21 deletions
@@ -19,7 +19,7 @@ import Reusable
@objc
protocol ThreadSummaryViewDelegate: AnyObject {
func tappedThreadSummaryView(_ summaryView: ThreadSummaryView, for thread: MXThread)
func threadSummaryViewTapped(_ summaryView: ThreadSummaryView)
}
/// A view to display a summary for an `MXThread` generated by the `MXThreadingService`.
@@ -42,6 +42,10 @@ class ThreadSummaryView: UIView {
}
}
private lazy var tapGestureRecognizer: UITapGestureRecognizer = {
return UITapGestureRecognizer(target: self, action: #selector(tapped(_:)))
}()
weak var delegate: ThreadSummaryViewDelegate?
// MARK: - Setup
@@ -61,6 +65,7 @@ class ThreadSummaryView: UIView {
private func configure() {
clipsToBounds = true
layer.cornerRadius = Constants.cornerRadius
addGestureRecognizer(tapGestureRecognizer)
guard let thread = thread else { return }
numberOfRepliesLabel.text = String(thread.numberOfReplies)
@@ -95,6 +100,11 @@ class ThreadSummaryView: UIView {
// MARK: - Action
@objc
private func tapped(_ sender: UITapGestureRecognizer) {
guard thread != nil else { return }
delegate?.threadSummaryViewTapped(self)
}
}
extension ThreadSummaryView: NibLoadable {}