mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-03 06:55:59 +00:00
Allow focusing the different avatars making up a DM details cluster separately. (#3341)
This commit is contained in:
+4
-8
@@ -84,8 +84,8 @@ class RoomMemberDetailsScreenViewModel: RoomMemberDetailsScreenViewModelType, Ro
|
||||
Task { await ignoreUser() }
|
||||
case .unignoreConfirmed:
|
||||
Task { await unignoreUser() }
|
||||
case .displayAvatar:
|
||||
Task { await displayFullScreenAvatar() }
|
||||
case .displayAvatar(let url):
|
||||
Task { await displayFullScreenAvatar(url) }
|
||||
case .openDirectChat:
|
||||
Task { await openDirectChat() }
|
||||
case .startCall(let roomID):
|
||||
@@ -143,21 +143,17 @@ class RoomMemberDetailsScreenViewModel: RoomMemberDetailsScreenViewModelType, Ro
|
||||
}
|
||||
}
|
||||
|
||||
private func displayFullScreenAvatar() async {
|
||||
private func displayFullScreenAvatar(_ url: URL) async {
|
||||
guard let roomMemberProxy else {
|
||||
fatalError()
|
||||
}
|
||||
|
||||
guard let avatarURL = roomMemberProxy.avatarURL else {
|
||||
return
|
||||
}
|
||||
|
||||
let loadingIndicatorIdentifier = "roomMemberAvatarLoadingIndicator"
|
||||
userIndicatorController.submitIndicator(UserIndicator(id: loadingIndicatorIdentifier, type: .modal, title: L10n.commonLoading, persistent: true))
|
||||
defer { userIndicatorController.retractIndicatorWithId(loadingIndicatorIdentifier) }
|
||||
|
||||
// We don't actually know the mime type here, assume it's an image.
|
||||
if case let .success(file) = await mediaProvider.loadFileFromSource(.init(url: avatarURL, mimeType: "image/jpeg")) {
|
||||
if case let .success(file) = await mediaProvider.loadFileFromSource(.init(url: url, mimeType: "image/jpeg")) {
|
||||
state.bindings.mediaPreviewItem = MediaPreviewItem(file: file, title: roomMemberProxy.displayName)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user