mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-03 06:55:59 +00:00
pr suggestions
This commit is contained in:
@@ -34,7 +34,14 @@ class JoinedRoomProxy: JoinedRoomProxyProtocol {
|
||||
|
||||
var ownUserID: String { room.ownUserId() }
|
||||
|
||||
lazy var predecessorRoom: PredecessorRoom? = room.predecessorRoom()
|
||||
// The predecessor is set on room creation and never changes, so we lazily store it.
|
||||
lazy var predecessorRoom = room.predecessorRoom()
|
||||
|
||||
// The successor may change over time, so we access it dynamically.
|
||||
// It's suggested to observe it through the `infoPublisher`
|
||||
var successorRoom: SuccessorRoom? {
|
||||
room.successorRoom()
|
||||
}
|
||||
|
||||
let timeline: TimelineProxyProtocol
|
||||
|
||||
|
||||
@@ -78,6 +78,8 @@ protocol JoinedRoomProxyProtocol: RoomProxyProtocol {
|
||||
|
||||
var predecessorRoom: PredecessorRoom? { get }
|
||||
|
||||
var successorRoom: SuccessorRoom? { get }
|
||||
|
||||
func subscribeForUpdates() async
|
||||
|
||||
func subscribeToRoomInfoUpdates()
|
||||
|
||||
@@ -55,7 +55,6 @@ struct RoomSummary {
|
||||
|
||||
let isMarkedUnread: Bool
|
||||
let isFavourite: Bool
|
||||
|
||||
let isTombstoned: Bool
|
||||
|
||||
var hasUnreadMessages: Bool { unreadMessagesCount > 0 }
|
||||
|
||||
@@ -480,11 +480,12 @@ class TimelineController: TimelineControllerProtocol {
|
||||
case .readMarker:
|
||||
return ReadMarkerRoomTimelineItem(id: .virtual(uniqueID: uniqueID))
|
||||
case .timelineStart:
|
||||
if hasPredecessor {
|
||||
// We always display the timeline start item, if there is a predecessor room.
|
||||
guard !hasPredecessor else {
|
||||
return TimelineStartRoomTimelineItem(name: roomDisplayName)
|
||||
} else {
|
||||
return isDM ? nil : TimelineStartRoomTimelineItem(name: roomDisplayName)
|
||||
}
|
||||
// If not we only display the timeline start item if this is not a DM.
|
||||
return isDM ? nil : TimelineStartRoomTimelineItem(name: roomDisplayName)
|
||||
}
|
||||
case .unknown:
|
||||
return nil
|
||||
|
||||
+1
@@ -8,6 +8,7 @@
|
||||
import Foundation
|
||||
|
||||
struct TimelineStartRoomTimelineItem: DecorationTimelineItemProtocol, Equatable {
|
||||
// Using a static identifier makes the animations consistent in SwiftUI
|
||||
let id: TimelineItemIdentifier = .virtual(uniqueID: .init("TimelineStart"))
|
||||
let name: String?
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user