[WIP] Monoforums

This commit is contained in:
Isaac
2025-05-14 00:50:46 +08:00
parent 9e18743b1b
commit f90402102b
36 changed files with 1191 additions and 340 deletions

View File

@@ -104,6 +104,20 @@ public enum ChatMessageMerge: Int32 {
}
}
public struct ChatMessageHeaderSpec: Equatable {
public var hasDate: Bool
public var hasTopic: Bool
public init(hasDate: Bool, hasTopic: Bool) {
self.hasDate = hasDate
self.hasTopic = hasTopic
}
}
public protocol ChatMessageDateHeaderNode: ListViewItemHeaderNode {
func updateItem(hasDate: Bool, hasPeer: Bool)
}
public protocol ChatMessageAvatarHeaderNode: ListViewItemHeaderNode {
func updateSelectionState(animated: Bool)
func updateAvatarIsHidden(isHidden: Bool, transition: ContainedViewLayoutTransition)
@@ -128,7 +142,7 @@ public protocol ChatMessageItem: ListViewItem {
var sending: Bool { get }
var failed: Bool { get }
func mergedWithItems(top: ListViewItem?, bottom: ListViewItem?, isRotated: Bool) -> (top: ChatMessageMerge, bottom: ChatMessageMerge, dateAtBottom: Bool)
func mergedWithItems(top: ListViewItem?, bottom: ListViewItem?, isRotated: Bool) -> (top: ChatMessageMerge, bottom: ChatMessageMerge, dateAtBottom: ChatMessageHeaderSpec)
}
public func hasCommentButton(item: ChatMessageItem) -> Bool {