mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-03 06:55:41 +00:00
Take DisplayedStatus directly in DisplayNameWithStatus and always show emoji
This commit is contained in:
+1
-2
@@ -67,7 +67,6 @@ import io.element.android.libraries.matrix.api.user.DisplayedStatus
|
|||||||
import io.element.android.libraries.matrix.ui.components.DisplayNameWithStatus
|
import io.element.android.libraries.matrix.ui.components.DisplayNameWithStatus
|
||||||
import io.element.android.libraries.matrix.ui.components.InviteSenderView
|
import io.element.android.libraries.matrix.ui.components.InviteSenderView
|
||||||
import io.element.android.libraries.matrix.ui.model.InviteSender
|
import io.element.android.libraries.matrix.ui.model.InviteSender
|
||||||
import io.element.android.libraries.matrix.ui.model.toEmojiText
|
|
||||||
import io.element.android.libraries.ui.strings.CommonStrings
|
import io.element.android.libraries.ui.strings.CommonStrings
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
|
|
||||||
@@ -233,7 +232,7 @@ private fun NameAndTimestampRow(
|
|||||||
val displayName = name?.toSafeLength(ellipsize = true) ?: stringResource(id = CommonStrings.common_no_room_name)
|
val displayName = name?.toSafeLength(ellipsize = true) ?: stringResource(id = CommonStrings.common_no_room_name)
|
||||||
DisplayNameWithStatus(
|
DisplayNameWithStatus(
|
||||||
name = displayName,
|
name = displayName,
|
||||||
status = dmUserStatus?.toEmojiText(),
|
status = dmUserStatus,
|
||||||
modifier = Modifier.weight(1f),
|
modifier = Modifier.weight(1f),
|
||||||
style = ElementTheme.typography.fontBodyLgMedium,
|
style = ElementTheme.typography.fontBodyLgMedium,
|
||||||
nameColor = ElementTheme.colors.roomListRoomName,
|
nameColor = ElementTheme.colors.roomListRoomName,
|
||||||
|
|||||||
+3
-4
@@ -43,7 +43,6 @@ import io.element.android.libraries.matrix.api.room.RoomMember
|
|||||||
import io.element.android.libraries.matrix.api.room.RoomMembershipState
|
import io.element.android.libraries.matrix.api.room.RoomMembershipState
|
||||||
import io.element.android.libraries.matrix.ui.components.DisplayNameWithStatus
|
import io.element.android.libraries.matrix.ui.components.DisplayNameWithStatus
|
||||||
import io.element.android.libraries.matrix.ui.model.getAvatarData
|
import io.element.android.libraries.matrix.ui.model.getAvatarData
|
||||||
import io.element.android.libraries.matrix.ui.model.toEmojiText
|
|
||||||
import io.element.android.libraries.slashcommands.api.SlashCommandSuggestion
|
import io.element.android.libraries.slashcommands.api.SlashCommandSuggestion
|
||||||
import io.element.android.libraries.textcomposer.mentions.ResolvedSuggestion
|
import io.element.android.libraries.textcomposer.mentions.ResolvedSuggestion
|
||||||
import kotlinx.collections.immutable.ImmutableList
|
import kotlinx.collections.immutable.ImmutableList
|
||||||
@@ -120,8 +119,8 @@ private fun SuggestionItemView(
|
|||||||
is ResolvedSuggestion.Alias -> suggestion.roomName
|
is ResolvedSuggestion.Alias -> suggestion.roomName
|
||||||
is ResolvedSuggestion.Command -> suggestion.command.command
|
is ResolvedSuggestion.Command -> suggestion.command.command
|
||||||
}
|
}
|
||||||
val statusEmoji = when (suggestion) {
|
val status = when (suggestion) {
|
||||||
is ResolvedSuggestion.Member -> suggestion.roomMember.displayedStatus?.toEmojiText()
|
is ResolvedSuggestion.Member -> suggestion.roomMember.displayedStatus
|
||||||
else -> null
|
else -> null
|
||||||
}
|
}
|
||||||
val details = when (suggestion) {
|
val details = when (suggestion) {
|
||||||
@@ -156,7 +155,7 @@ private fun SuggestionItemView(
|
|||||||
title?.let {
|
title?.let {
|
||||||
DisplayNameWithStatus(
|
DisplayNameWithStatus(
|
||||||
name = title,
|
name = title,
|
||||||
status = statusEmoji,
|
status = status,
|
||||||
style = ElementTheme.typography.fontBodyLgRegular,
|
style = ElementTheme.typography.fontBodyLgRegular,
|
||||||
nameColor = ElementTheme.colors.textPrimary,
|
nameColor = ElementTheme.colors.textPrimary,
|
||||||
)
|
)
|
||||||
|
|||||||
+1
-2
@@ -51,7 +51,6 @@ import io.element.android.libraries.matrix.api.user.DisplayedStatus
|
|||||||
import io.element.android.libraries.matrix.ui.components.DisplayNameWithStatus
|
import io.element.android.libraries.matrix.ui.components.DisplayNameWithStatus
|
||||||
import io.element.android.libraries.matrix.ui.components.aMatrixUserList
|
import io.element.android.libraries.matrix.ui.components.aMatrixUserList
|
||||||
import io.element.android.libraries.matrix.ui.model.getAvatarData
|
import io.element.android.libraries.matrix.ui.model.getAvatarData
|
||||||
import io.element.android.libraries.matrix.ui.model.toEmojiText
|
|
||||||
import io.element.android.libraries.ui.strings.CommonStrings
|
import io.element.android.libraries.ui.strings.CommonStrings
|
||||||
import kotlinx.collections.immutable.ImmutableList
|
import kotlinx.collections.immutable.ImmutableList
|
||||||
import kotlinx.collections.immutable.persistentListOf
|
import kotlinx.collections.immutable.persistentListOf
|
||||||
@@ -163,7 +162,7 @@ private fun RoomAvatarAndNameRow(
|
|||||||
)
|
)
|
||||||
DisplayNameWithStatus(
|
DisplayNameWithStatus(
|
||||||
name = roomName ?: stringResource(CommonStrings.common_no_room_name),
|
name = roomName ?: stringResource(CommonStrings.common_no_room_name),
|
||||||
status = dmUserStatus?.toEmojiText(),
|
status = dmUserStatus,
|
||||||
modifier = Modifier.padding(start = 8.dp),
|
modifier = Modifier.padding(start = 8.dp),
|
||||||
style = ElementTheme.typography.fontBodyLgMedium,
|
style = ElementTheme.typography.fontBodyLgMedium,
|
||||||
nameColor = ElementTheme.colors.textPrimary,
|
nameColor = ElementTheme.colors.textPrimary,
|
||||||
|
|||||||
+4
-2
@@ -21,6 +21,8 @@ import androidx.compose.ui.text.style.TextOverflow
|
|||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import io.element.android.compound.theme.ElementTheme
|
import io.element.android.compound.theme.ElementTheme
|
||||||
import io.element.android.libraries.designsystem.theme.components.Text
|
import io.element.android.libraries.designsystem.theme.components.Text
|
||||||
|
import io.element.android.libraries.matrix.api.user.DisplayedStatus
|
||||||
|
import io.element.android.libraries.matrix.ui.model.toEmojiText
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Component to display side by side a display name and an optional status.
|
* Component to display side by side a display name and an optional status.
|
||||||
@@ -28,7 +30,7 @@ import io.element.android.libraries.designsystem.theme.components.Text
|
|||||||
@Composable
|
@Composable
|
||||||
fun DisplayNameWithStatus(
|
fun DisplayNameWithStatus(
|
||||||
name: String,
|
name: String,
|
||||||
status: String?,
|
status: DisplayedStatus?,
|
||||||
style: TextStyle,
|
style: TextStyle,
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
nameColor: Color = Color.Unspecified,
|
nameColor: Color = Color.Unspecified,
|
||||||
@@ -52,7 +54,7 @@ fun DisplayNameWithStatus(
|
|||||||
if (status != null) {
|
if (status != null) {
|
||||||
Spacer(Modifier.width(4.dp))
|
Spacer(Modifier.width(4.dp))
|
||||||
Text(
|
Text(
|
||||||
text = status,
|
text = status.toEmojiText(),
|
||||||
style = style,
|
style = style,
|
||||||
color = ElementTheme.colors.textSecondary,
|
color = ElementTheme.colors.textSecondary,
|
||||||
)
|
)
|
||||||
|
|||||||
+2
-3
@@ -31,7 +31,6 @@ import io.element.android.libraries.designsystem.theme.components.Text
|
|||||||
import io.element.android.libraries.matrix.api.user.MatrixUser
|
import io.element.android.libraries.matrix.api.user.MatrixUser
|
||||||
import io.element.android.libraries.matrix.ui.model.getAvatarData
|
import io.element.android.libraries.matrix.ui.model.getAvatarData
|
||||||
import io.element.android.libraries.matrix.ui.model.getBestName
|
import io.element.android.libraries.matrix.ui.model.getBestName
|
||||||
import io.element.android.libraries.matrix.ui.model.toEmojiText
|
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun MatrixUserHeader(
|
fun MatrixUserHeader(
|
||||||
@@ -60,9 +59,9 @@ fun MatrixUserHeader(
|
|||||||
// Name
|
// Name
|
||||||
DisplayNameWithStatus(
|
DisplayNameWithStatus(
|
||||||
name = matrixUser.getBestName(),
|
name = matrixUser.getBestName(),
|
||||||
status = matrixUser.displayedStatus?.toEmojiText(),
|
status = matrixUser.displayedStatus,
|
||||||
nameColor = ElementTheme.colors.textPrimary,
|
nameColor = ElementTheme.colors.textPrimary,
|
||||||
style = ElementTheme.typography.fontHeadingMdRegular
|
style = ElementTheme.typography.fontHeadingMdRegular,
|
||||||
)
|
)
|
||||||
// Id
|
// Id
|
||||||
if (matrixUser.displayName.isNullOrEmpty().not()) {
|
if (matrixUser.displayName.isNullOrEmpty().not()) {
|
||||||
|
|||||||
+1
-2
@@ -20,7 +20,6 @@ import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
|||||||
import io.element.android.libraries.matrix.api.user.MatrixUser
|
import io.element.android.libraries.matrix.api.user.MatrixUser
|
||||||
import io.element.android.libraries.matrix.ui.model.getAvatarData
|
import io.element.android.libraries.matrix.ui.model.getAvatarData
|
||||||
import io.element.android.libraries.matrix.ui.model.getBestName
|
import io.element.android.libraries.matrix.ui.model.getBestName
|
||||||
import io.element.android.libraries.matrix.ui.model.toEmojiText
|
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun MatrixUserRow(
|
fun MatrixUserRow(
|
||||||
@@ -34,7 +33,7 @@ fun MatrixUserRow(
|
|||||||
nameContent = {
|
nameContent = {
|
||||||
DisplayNameWithStatus(
|
DisplayNameWithStatus(
|
||||||
name = matrixUser.getBestName(),
|
name = matrixUser.getBestName(),
|
||||||
status = matrixUser.displayedStatus?.toEmojiText(),
|
status = matrixUser.displayedStatus,
|
||||||
nameColor = ElementTheme.colors.textPrimary,
|
nameColor = ElementTheme.colors.textPrimary,
|
||||||
style = ElementTheme.typography.fontBodyLgRegular,
|
style = ElementTheme.typography.fontBodyLgRegular,
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user