Allow different states for the last message. (#514)

This commit is contained in:
Doug
2023-02-02 11:05:23 +00:00
committed by GitHub
parent 9cc876eb0c
commit 93997efef9
6 changed files with 38 additions and 15 deletions
@@ -81,11 +81,16 @@ struct HomeScreenRoomCell: View {
// Hidden text with 2 lines to maintain consistent height, scaling with dynamic text.
Text(" \n ").lastMessageFormatting().hidden()
if let lastMessage = room.lastMessage, !String(lastMessage.characters).isEmpty {
switch room.lastMessage {
case .loaded(let lastMessage):
Text(lastMessage)
.lastMessageFormatting()
} else {
Text(ElementL10n.newMessage)
case .loading:
Text(HomeScreenRoom.placeholderLastMessage)
.lastMessageFormatting()
.redacted(reason: .placeholder)
case .unknown:
Text(ElementL10n.message)
.lastMessageFormatting()
}
}
@@ -156,7 +161,8 @@ struct HomeScreenRoomCell_Previews: PreviewProvider {
name: details.name,
hasUnreads: details.unreadNotificationCount > 0,
timestamp: Date.now.formattedMinimal(),
lastMessage: details.lastMessage)
lastMessage: .init(attributedString: details.lastMessage,
isLoading: false))
}
}