From dd13605085f193b045b8f55b3bb64cc8c90df769 Mon Sep 17 00:00:00 2001 From: ganfra Date: Fri, 19 Sep 2025 17:42:47 +0200 Subject: [PATCH] feature (space) : add string "No space name" --- .../android/features/space/impl/SpaceView.kt | 2 +- .../matrix/ui/components/SpaceHeaderView.kt | 16 ++++++++++++---- .../matrix/ui/components/SpaceRoomItemView.kt | 4 +++- .../ui-strings/src/main/res/values/localazy.xml | 1 + 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/SpaceView.kt b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/SpaceView.kt index f3bdf7379b..53aa61a0c7 100644 --- a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/SpaceView.kt +++ b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/SpaceView.kt @@ -183,7 +183,7 @@ private fun SpaceAvatarAndNameRow( .semantics { heading() }, - text = name ?: stringResource(CommonStrings.common_no_room_name), + text = name ?: stringResource(CommonStrings.common_no_space_name), style = ElementTheme.typography.fontBodyLgMedium, fontStyle = FontStyle.Italic.takeIf { name == null }, maxLines = 1, diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SpaceHeaderView.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SpaceHeaderView.kt index ecfde229c9..6dbe7ebf72 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SpaceHeaderView.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SpaceHeaderView.kt @@ -10,6 +10,8 @@ package io.element.android.libraries.matrix.ui.components import androidx.compose.foundation.layout.padding import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.font.FontStyle import androidx.compose.ui.tooling.preview.datasource.LoremIpsum import androidx.compose.ui.unit.dp import io.element.android.libraries.designsystem.atomic.atoms.RoomPreviewDescriptionAtom @@ -24,6 +26,7 @@ import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight import io.element.android.libraries.matrix.api.room.join.JoinRule import io.element.android.libraries.matrix.api.user.MatrixUser +import io.element.android.libraries.ui.strings.CommonStrings import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.persistentListOf @@ -51,8 +54,13 @@ fun SpaceHeaderView( ) }, title = { - name?.let { + if (name != null) { RoomPreviewTitleAtom(title = name) + } else { + RoomPreviewTitleAtom( + title = stringResource(id = CommonStrings.common_no_space_name), + fontStyle = FontStyle.Italic + ) } }, subtitle = { @@ -63,10 +71,10 @@ fun SpaceHeaderView( ) } }, - description = if (topic != null) { - { RoomPreviewDescriptionAtom(description = topic, maxLines = topicMaxLines) } - } else { + description = if (topic.isNullOrBlank()) { null + } else { + { RoomPreviewDescriptionAtom(description = topic, maxLines = topicMaxLines) } }, memberCount = { SpaceMembersView( diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SpaceRoomItemView.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SpaceRoomItemView.kt index be540d486d..23baf476c0 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SpaceRoomItemView.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SpaceRoomItemView.kt @@ -69,6 +69,7 @@ fun SpaceRoomItemView( onLongClick = onLongClick, ) { NameAndIndicatorRow( + isSpace = spaceRoom.isSpace, name = spaceRoom.name, showIndicator = showUnreadIndicator ) @@ -130,6 +131,7 @@ private fun SubtitleRow( @Composable private fun NameAndIndicatorRow( + isSpace: Boolean, name: String?, showIndicator: Boolean, modifier: Modifier = Modifier, @@ -142,7 +144,7 @@ private fun NameAndIndicatorRow( Text( modifier = Modifier.weight(1f), style = ElementTheme.typography.fontBodyLgMedium, - text = name ?: stringResource(id = CommonStrings.common_no_room_name), + text = name ?: stringResource(id = if(isSpace) CommonStrings.common_no_space_name else CommonStrings.common_no_room_name), fontStyle = FontStyle.Italic.takeIf { name == null }, color = ElementTheme.colors.textPrimary, maxLines = 1, diff --git a/libraries/ui-strings/src/main/res/values/localazy.xml b/libraries/ui-strings/src/main/res/values/localazy.xml index 78d3ca5fdc..32077e22e7 100644 --- a/libraries/ui-strings/src/main/res/values/localazy.xml +++ b/libraries/ui-strings/src/main/res/values/localazy.xml @@ -246,6 +246,7 @@ Reason: %1$s." "%1$s (%2$s)" "No results" "No room name" + "No space name" "Not encrypted" "Offline" "Open source licenses"