RoomScreenViewModel is now TimelineViewModel (#3157)

Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
This commit is contained in:
Mauro
2024-08-13 13:36:40 +02:00
committed by GitHub
parent 4519275559
commit 1ad361a6e8
88 changed files with 2266 additions and 1973 deletions
@@ -21,7 +21,7 @@ import UIKit
import WysiwygComposer
protocol PillAttachmentViewProviderDelegate: AnyObject {
var roomContext: RoomScreenViewModel.Context? { get }
var timelineContext: TimelineViewModel.Context? { get }
func registerPillView(_ pillView: UIView)
func invalidateTextAttachmentsDisplay()
@@ -56,9 +56,9 @@ final class PillAttachmentViewProvider: NSTextAttachmentViewProvider, NSSecureCo
// The mock viewModel simulates the loading logic for testing purposes
context = PillContext.mock(type: .loadUser(isOwn: false))
imageProvider = MockMediaProvider()
} else if let roomContext = delegate?.roomContext {
context = PillContext(roomContext: roomContext, data: pillData)
imageProvider = roomContext.imageProvider
} else if let timelineContext = delegate?.timelineContext {
context = PillContext(timelineContext: timelineContext, data: pillData)
imageProvider = timelineContext.imageProvider
} else {
MXLog.failure("[PillAttachmentViewProvider]: missing room context")
return
@@ -93,21 +93,21 @@ final class PillAttachmentViewProvider: NSTextAttachmentViewProvider, NSSecureCo
}
final class ComposerMentionDisplayHelper: MentionDisplayHelper {
weak var roomContext: RoomScreenViewModel.Context?
weak var timelineContext: TimelineViewModel.Context?
init(roomContext: RoomScreenViewModel.Context) {
self.roomContext = roomContext
init(timelineContext: TimelineViewModel.Context) {
self.timelineContext = timelineContext
}
@MainActor
static var mock: Self {
Self(roomContext: RoomScreenViewModel.mock.context)
Self(timelineContext: TimelineViewModel.mock.context)
}
}
extension WysiwygTextView: PillAttachmentViewProviderDelegate {
var roomContext: RoomScreenViewModel.Context? {
(mentionDisplayHelper as? ComposerMentionDisplayHelper)?.roomContext
var timelineContext: TimelineViewModel.Context? {
(mentionDisplayHelper as? ComposerMentionDisplayHelper)?.timelineContext
}
func invalidateTextAttachmentsDisplay() { }