Create RoomMember.getBestName() extension.

This commit is contained in:
Benoit Marty
2023-12-14 15:10:49 +01:00
parent 48e9464d00
commit e4ba9c1d5a
2 changed files with 6 additions and 1 deletions

View File

@@ -78,6 +78,7 @@ import io.element.android.libraries.designsystem.theme.components.TopAppBar
import io.element.android.libraries.designsystem.utils.CommonDrawables
import io.element.android.libraries.matrix.api.room.RoomMember
import io.element.android.libraries.matrix.api.room.RoomNotificationMode
import io.element.android.libraries.matrix.api.room.getBestName
import io.element.android.libraries.ui.strings.CommonStrings
@Composable
@@ -139,7 +140,7 @@ fun RoomDetailsView(
userId = member.userId.value,
userName = state.roomName,
openAvatarPreview = { avatarUrl ->
openAvatarPreview(member.displayName ?: member.userId.value, avatarUrl)
openAvatarPreview(member.getBestName(), avatarUrl)
},
)
RoomMemberMainActionsSection(onShareUser = ::onShareMember)

View File

@@ -32,3 +32,7 @@ data class RoomMember(
enum class RoomMembershipState {
BAN, INVITE, JOIN, KNOCK, LEAVE
}
fun RoomMember.getBestName(): String {
return displayName?.takeIf { it.isNotEmpty() } ?: userId.value
}