mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-21 09:02:44 +02:00
RoomCellContentView: Handle read marker view.
This commit is contained in:
@@ -56,6 +56,12 @@ final class RoomCellContentView: UIView, NibLoadable {
|
||||
@IBOutlet weak var readReceiptsContainerView: UIView!
|
||||
@IBOutlet weak var readReceiptsContentView: UIView!
|
||||
|
||||
@IBOutlet weak var readMarkerContainerView: UIView!
|
||||
@IBOutlet weak var readMarkerContentView: UIView!
|
||||
|
||||
var readMarkerViewLeadingConstraint: NSLayoutConstraint?
|
||||
var readMarkerViewTrailingConstraint: NSLayoutConstraint?
|
||||
|
||||
@IBOutlet weak var reactionsContainerView: UIView!
|
||||
@IBOutlet weak var reactionsContentView: UIView!
|
||||
@IBOutlet weak var reactionsContentViewLeadingConstraint: NSLayoutConstraint!
|
||||
@@ -154,6 +160,15 @@ final class RoomCellContentView: UIView, NibLoadable {
|
||||
}
|
||||
}
|
||||
|
||||
var showReadMarker: Bool {
|
||||
get {
|
||||
return !self.readMarkerContainerView.isHidden
|
||||
}
|
||||
set {
|
||||
self.readMarkerContainerView.isHidden = !newValue
|
||||
}
|
||||
}
|
||||
|
||||
var decorationViewsAlignment: RoomCellDecorationAlignment = .left
|
||||
|
||||
// MARK: - Setup
|
||||
@@ -304,3 +319,46 @@ extension RoomCellContentView: RoomCellURLPreviewDisplayable {
|
||||
self.urlPreviewContentView.vc_removeAllSubviews()
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - RoomCellReadMarkerDisplayable
|
||||
extension RoomCellContentView: RoomCellReadMarkerDisplayable {
|
||||
|
||||
func addReadMarkerView(_ readMarkerView: UIView) {
|
||||
guard let containerView = self.readMarkerContainerView else {
|
||||
return
|
||||
}
|
||||
|
||||
self.readMarkerContentView.vc_removeAllSubviews()
|
||||
|
||||
readMarkerView.translatesAutoresizingMaskIntoConstraints = false
|
||||
|
||||
self.readMarkerContentView.addSubview(readMarkerView)
|
||||
|
||||
// Force read marker constraints
|
||||
let topConstraint = readMarkerView.topAnchor.constraint(equalTo: containerView.topAnchor)
|
||||
|
||||
let leadingConstraint = readMarkerView.leadingAnchor.constraint(equalTo: containerView.leadingAnchor)
|
||||
|
||||
let trailingConstraint = readMarkerView.trailingAnchor.constraint(equalTo: containerView.trailingAnchor)
|
||||
|
||||
let heightConstraint = readMarkerView.heightAnchor.constraint(equalToConstant: PlainRoomCellLayoutConstants.readMarkerViewHeight)
|
||||
|
||||
let bottomContraint = readMarkerView.bottomAnchor.constraint(equalTo: containerView.bottomAnchor)
|
||||
|
||||
NSLayoutConstraint.activate([topConstraint,
|
||||
leadingConstraint,
|
||||
trailingConstraint,
|
||||
heightConstraint,
|
||||
bottomContraint])
|
||||
|
||||
self.readMarkerViewLeadingConstraint = leadingConstraint
|
||||
self.readMarkerViewTrailingConstraint = trailingConstraint
|
||||
|
||||
self.showReadMarker = true
|
||||
}
|
||||
|
||||
func removeReadMarkerView() {
|
||||
self.showReadMarker = false
|
||||
self.readMarkerContentView.vc_removeAllSubviews()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user