|
|
|
@ -16,6 +16,7 @@
@@ -16,6 +16,7 @@
|
|
|
|
|
|
|
|
|
|
package io.element.android.features.roomdetails.impl |
|
|
|
|
|
|
|
|
|
import androidx.compose.foundation.clickable |
|
|
|
|
import androidx.compose.foundation.interaction.MutableInteractionSource |
|
|
|
|
import androidx.compose.foundation.layout.Arrangement |
|
|
|
|
import androidx.compose.foundation.layout.Column |
|
|
|
@ -77,6 +78,7 @@ import io.element.android.libraries.designsystem.theme.components.TopAppBar
@@ -77,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 |
|
|
|
@ -89,7 +91,7 @@ fun RoomDetailsView(
@@ -89,7 +91,7 @@ fun RoomDetailsView(
|
|
|
|
|
openRoomMemberList: () -> Unit, |
|
|
|
|
openRoomNotificationSettings: () -> Unit, |
|
|
|
|
invitePeople: () -> Unit, |
|
|
|
|
openAvatarPreview: (username: String, url: String) -> Unit, |
|
|
|
|
openAvatarPreview: (name: String, url: String) -> Unit, |
|
|
|
|
modifier: Modifier = Modifier, |
|
|
|
|
) { |
|
|
|
|
fun onShareMember() { |
|
|
|
@ -120,7 +122,10 @@ fun RoomDetailsView(
@@ -120,7 +122,10 @@ fun RoomDetailsView(
|
|
|
|
|
avatarUrl = state.roomAvatarUrl, |
|
|
|
|
roomId = state.roomId, |
|
|
|
|
roomName = state.roomName, |
|
|
|
|
roomAlias = state.roomAlias |
|
|
|
|
roomAlias = state.roomAlias, |
|
|
|
|
openAvatarPreview = { avatarUrl -> |
|
|
|
|
openAvatarPreview(state.roomName, avatarUrl) |
|
|
|
|
}, |
|
|
|
|
) |
|
|
|
|
MainActionsSection( |
|
|
|
|
state = state, |
|
|
|
@ -134,10 +139,8 @@ fun RoomDetailsView(
@@ -134,10 +139,8 @@ fun RoomDetailsView(
|
|
|
|
|
avatarUrl = state.roomAvatarUrl ?: member.avatarUrl, |
|
|
|
|
userId = member.userId.value, |
|
|
|
|
userName = state.roomName, |
|
|
|
|
openAvatarPreview = { |
|
|
|
|
if (member.avatarUrl != null) { |
|
|
|
|
openAvatarPreview(member.displayName ?: member.userId.value, member.avatarUrl!!) |
|
|
|
|
} |
|
|
|
|
openAvatarPreview = { avatarUrl -> |
|
|
|
|
openAvatarPreview(member.getBestName(), avatarUrl) |
|
|
|
|
}, |
|
|
|
|
) |
|
|
|
|
RoomMemberMainActionsSection(onShareUser = ::onShareMember) |
|
|
|
@ -265,6 +268,7 @@ private fun RoomHeaderSection(
@@ -265,6 +268,7 @@ private fun RoomHeaderSection(
|
|
|
|
|
roomId: String, |
|
|
|
|
roomName: String, |
|
|
|
|
roomAlias: String?, |
|
|
|
|
openAvatarPreview: (url: String) -> Unit, |
|
|
|
|
modifier: Modifier = Modifier |
|
|
|
|
) { |
|
|
|
|
Column( |
|
|
|
@ -275,7 +279,9 @@ private fun RoomHeaderSection(
@@ -275,7 +279,9 @@ private fun RoomHeaderSection(
|
|
|
|
|
) { |
|
|
|
|
Avatar( |
|
|
|
|
avatarData = AvatarData(roomId, roomName, avatarUrl, AvatarSize.RoomHeader), |
|
|
|
|
modifier = Modifier.size(70.dp) |
|
|
|
|
modifier = Modifier |
|
|
|
|
.size(70.dp) |
|
|
|
|
.clickable(enabled = avatarUrl != null) { openAvatarPreview(avatarUrl!!) } |
|
|
|
|
) |
|
|
|
|
Spacer(modifier = Modifier.height(24.dp)) |
|
|
|
|
Text( |
|
|
|
|