|
|
@ -23,6 +23,14 @@ final class ConversationTitleView : UIView {
|
|
|
|
result.lineBreakMode = .byTruncatingTail
|
|
|
|
result.lineBreakMode = .byTruncatingTail
|
|
|
|
return result
|
|
|
|
return result
|
|
|
|
}()
|
|
|
|
}()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private lazy var stackView: UIStackView = {
|
|
|
|
|
|
|
|
let result = UIStackView(arrangedSubviews: [ titleLabel, subtitleLabel ])
|
|
|
|
|
|
|
|
result.axis = .vertical
|
|
|
|
|
|
|
|
result.alignment = .center
|
|
|
|
|
|
|
|
result.isLayoutMarginsRelativeArrangement = true
|
|
|
|
|
|
|
|
return result
|
|
|
|
|
|
|
|
}()
|
|
|
|
|
|
|
|
|
|
|
|
// MARK: Lifecycle
|
|
|
|
// MARK: Lifecycle
|
|
|
|
init(thread: TSThread) {
|
|
|
|
init(thread: TSThread) {
|
|
|
@ -40,13 +48,6 @@ final class ConversationTitleView : UIView {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private func initialize() {
|
|
|
|
private func initialize() {
|
|
|
|
let stackView = UIStackView(arrangedSubviews: [ titleLabel, subtitleLabel ])
|
|
|
|
|
|
|
|
stackView.axis = .vertical
|
|
|
|
|
|
|
|
stackView.alignment = .center
|
|
|
|
|
|
|
|
stackView.isLayoutMarginsRelativeArrangement = true
|
|
|
|
|
|
|
|
let shouldShowCallButton = SessionCall.isEnabled && !thread.isNoteToSelf() && !thread.isGroupThread() && !thread.isMessageRequest()
|
|
|
|
|
|
|
|
let leftMargin: CGFloat = shouldShowCallButton ? 54 : 8 // Contact threads also have the call button to compensate for
|
|
|
|
|
|
|
|
stackView.layoutMargins = UIEdgeInsets(top: 0, left: leftMargin, bottom: 0, right: 0)
|
|
|
|
|
|
|
|
addSubview(stackView)
|
|
|
|
addSubview(stackView)
|
|
|
|
stackView.pin(to: self)
|
|
|
|
stackView.pin(to: self)
|
|
|
|
let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(handleTap))
|
|
|
|
let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(handleTap))
|
|
|
@ -69,6 +70,11 @@ final class ConversationTitleView : UIView {
|
|
|
|
subtitleLabel.attributedText = subtitle
|
|
|
|
subtitleLabel.attributedText = subtitle
|
|
|
|
let titleFontSize = (subtitle != nil) ? Values.mediumFontSize : Values.veryLargeFontSize
|
|
|
|
let titleFontSize = (subtitle != nil) ? Values.mediumFontSize : Values.veryLargeFontSize
|
|
|
|
titleLabel.font = .boldSystemFont(ofSize: titleFontSize)
|
|
|
|
titleLabel.font = .boldSystemFont(ofSize: titleFontSize)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Update title left margin
|
|
|
|
|
|
|
|
let shouldShowCallButton = SessionCall.isEnabled && !thread.isNoteToSelf() && !thread.isGroupThread() && !thread.isMessageRequest()
|
|
|
|
|
|
|
|
let leftMargin: CGFloat = shouldShowCallButton ? 54 : 8 // Contact threads also have the call button to compensate for
|
|
|
|
|
|
|
|
stackView.layoutMargins = UIEdgeInsets(top: 0, left: leftMargin, bottom: 0, right: 0)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// MARK: General
|
|
|
|
// MARK: General
|
|
|
|