mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-03 16:10:20 +00:00
Render the live location timeline item (#5209)
* created the data for the timeline item # Conflicts: # ElementX/Sources/Other/Logging/Tracing.swift # ElementX/Sources/Services/Authentication/AuthenticationService.swift # ElementX/Sources/Services/Authentication/LinkNewDeviceService.swift * Implemented the LLS timeline item * updated preview tests * pr and design suggestions * previewscrollview is debug only
This commit is contained in:
@@ -60,11 +60,10 @@ struct RoomEventStringBuilder {
|
||||
default: L10n.commonWaitingForDecryptionKey
|
||||
}
|
||||
return prefix(errorMessage, with: displayName, isOutgoing: isOutgoing)
|
||||
case .liveLocation:
|
||||
return messageEventStringBuilder.buildAttributedStringForLiveLocation(senderDisplayName: displayName, isOutgoing: isOutgoing)
|
||||
case .other:
|
||||
return nil // We shouldn't receive these without asking for custom event types.
|
||||
case .liveLocation:
|
||||
// TODO: Implement
|
||||
return nil
|
||||
}
|
||||
case .failedToParseMessageLike, .failedToParseState:
|
||||
return prefix(L10n.commonUnsupportedEvent, with: displayName, isOutgoing: isOutgoing)
|
||||
|
||||
@@ -78,6 +78,19 @@ struct RoomMessageEventStringBuilder {
|
||||
}
|
||||
}
|
||||
|
||||
func buildAttributedStringForLiveLocation(senderDisplayName: String, isOutgoing: Bool) -> AttributedString {
|
||||
var message = AttributedString(L10n.commonSharedLiveLocation)
|
||||
if destination == .pinnedEvent {
|
||||
message.bold()
|
||||
}
|
||||
|
||||
if destination == .roomList {
|
||||
return prefix(message, with: isOutgoing ? L10n.commonYou : senderDisplayName)
|
||||
} else {
|
||||
return message
|
||||
}
|
||||
}
|
||||
|
||||
private func buildMessage(for destination: Destination, caption: String?, type: String) -> AttributedString {
|
||||
guard let caption else {
|
||||
return AttributedString(type)
|
||||
|
||||
Reference in New Issue
Block a user