Switched to discrete timeline items that directly expose view builders.

This commit is contained in:
Stefan Ceriu
2022-03-11 11:27:08 +02:00
parent 8d4f6f301b
commit d413a67329
11 changed files with 175 additions and 106 deletions
@@ -24,25 +24,7 @@ enum RoomScreenViewAction {
case loadPreviousPage
}
private var dateFormatter: DateFormatter = {
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = .short
dateFormatter.timeStyle = .short
return dateFormatter
}()
struct RoomScreenMessage: Identifiable, Equatable {
let id: String
let sender: String
let text: String
let originServerTs: Date
var timestamp: String {
dateFormatter.string(from: originServerTs)
}
}
struct RoomScreenViewState: BindableState {
var roomTitle: String?
var messages: [RoomScreenMessage] = []
var roomTitle: String = ""
var messages: [RoomTimelineItem] = []
}