Merge pull request #2061 from element-hq/feature/bma/doNotRenderRoomId
Do not render roomId
This commit is contained in:
commit
f57f353883
13 changed files with 43 additions and 40 deletions
1
changelog.d/1970.bugfix
Normal file
1
changelog.d/1970.bugfix
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
Do not render `roomId` if the room has no canonical alias.
|
||||||
|
|
@ -25,7 +25,7 @@ enum class AvatarSize(val dp: Dp) {
|
||||||
RoomHeader(96.dp),
|
RoomHeader(96.dp),
|
||||||
RoomListItem(52.dp),
|
RoomListItem(52.dp),
|
||||||
|
|
||||||
ForwardRoomListItem(36.dp),
|
RoomSelectRoomListItem(36.dp),
|
||||||
|
|
||||||
UserPreference(56.dp),
|
UserPreference(56.dp),
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -17,12 +17,12 @@
|
||||||
package io.element.android.libraries.roomselect.impl
|
package io.element.android.libraries.roomselect.impl
|
||||||
|
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
|
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
|
||||||
import io.element.android.libraries.roomselect.api.RoomSelectMode
|
|
||||||
import io.element.android.libraries.designsystem.theme.components.SearchBarResultState
|
import io.element.android.libraries.designsystem.theme.components.SearchBarResultState
|
||||||
import io.element.android.libraries.matrix.api.core.RoomId
|
import io.element.android.libraries.matrix.api.core.RoomId
|
||||||
import io.element.android.libraries.matrix.api.room.RoomMember
|
import io.element.android.libraries.matrix.api.room.RoomMember
|
||||||
import io.element.android.libraries.matrix.api.room.message.RoomMessage
|
import io.element.android.libraries.matrix.api.room.message.RoomMessage
|
||||||
import io.element.android.libraries.matrix.api.roomlist.RoomSummaryDetails
|
import io.element.android.libraries.matrix.api.roomlist.RoomSummaryDetails
|
||||||
|
import io.element.android.libraries.roomselect.api.RoomSelectMode
|
||||||
import kotlinx.collections.immutable.ImmutableList
|
import kotlinx.collections.immutable.ImmutableList
|
||||||
import kotlinx.collections.immutable.persistentListOf
|
import kotlinx.collections.immutable.persistentListOf
|
||||||
|
|
||||||
|
|
@ -47,7 +47,7 @@ open class RoomSelectStateProvider : PreviewParameterProvider<RoomSelectState> {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun aRoomSelectState(
|
private fun aRoomSelectState(
|
||||||
resultState: SearchBarResultState<ImmutableList<RoomSummaryDetails>> = SearchBarResultState.NotSearching(),
|
resultState: SearchBarResultState<ImmutableList<RoomSummaryDetails>> = SearchBarResultState.NotSearching(),
|
||||||
query: String = "",
|
query: String = "",
|
||||||
isSearchActive: Boolean = false,
|
isSearchActive: Boolean = false,
|
||||||
|
|
@ -61,12 +61,16 @@ fun aRoomSelectState(
|
||||||
eventSink = {}
|
eventSink = {}
|
||||||
)
|
)
|
||||||
|
|
||||||
internal fun aForwardMessagesRoomList() = persistentListOf(
|
private fun aForwardMessagesRoomList() = persistentListOf(
|
||||||
aRoomDetailsState(),
|
aRoomDetailsState(),
|
||||||
aRoomDetailsState(roomId = RoomId("!room2:domain"), canonicalAlias = "#element-x-room:matrix.org"),
|
aRoomDetailsState(
|
||||||
|
roomId = RoomId("!room2:domain"),
|
||||||
|
name = "Room with alias",
|
||||||
|
canonicalAlias = "#alias:example.org",
|
||||||
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
fun aRoomDetailsState(
|
private fun aRoomDetailsState(
|
||||||
roomId: RoomId = RoomId("!room:domain"),
|
roomId: RoomId = RoomId("!room:domain"),
|
||||||
name: String = "roomName",
|
name: String = "roomName",
|
||||||
canonicalAlias: String? = null,
|
canonicalAlias: String? = null,
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,6 @@ import androidx.compose.foundation.lazy.LazyColumn
|
||||||
import androidx.compose.foundation.lazy.LazyRow
|
import androidx.compose.foundation.lazy.LazyRow
|
||||||
import androidx.compose.foundation.lazy.items
|
import androidx.compose.foundation.lazy.items
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
import androidx.compose.material3.MaterialTheme
|
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
|
@ -41,7 +40,6 @@ import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
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.roomselect.api.RoomSelectMode
|
|
||||||
import io.element.android.libraries.designsystem.components.avatar.Avatar
|
import io.element.android.libraries.designsystem.components.avatar.Avatar
|
||||||
import io.element.android.libraries.designsystem.components.avatar.AvatarData
|
import io.element.android.libraries.designsystem.components.avatar.AvatarData
|
||||||
import io.element.android.libraries.designsystem.components.avatar.AvatarSize
|
import io.element.android.libraries.designsystem.components.avatar.AvatarSize
|
||||||
|
|
@ -57,11 +55,10 @@ import io.element.android.libraries.designsystem.theme.components.SearchBarResul
|
||||||
import io.element.android.libraries.designsystem.theme.components.Text
|
import io.element.android.libraries.designsystem.theme.components.Text
|
||||||
import io.element.android.libraries.designsystem.theme.components.TextButton
|
import io.element.android.libraries.designsystem.theme.components.TextButton
|
||||||
import io.element.android.libraries.designsystem.theme.components.TopAppBar
|
import io.element.android.libraries.designsystem.theme.components.TopAppBar
|
||||||
import io.element.android.libraries.designsystem.theme.roomListRoomMessage
|
|
||||||
import io.element.android.libraries.designsystem.theme.roomListRoomName
|
|
||||||
import io.element.android.libraries.matrix.api.core.RoomId
|
import io.element.android.libraries.matrix.api.core.RoomId
|
||||||
import io.element.android.libraries.matrix.api.roomlist.RoomSummaryDetails
|
import io.element.android.libraries.matrix.api.roomlist.RoomSummaryDetails
|
||||||
import io.element.android.libraries.matrix.ui.components.SelectedRoom
|
import io.element.android.libraries.matrix.ui.components.SelectedRoom
|
||||||
|
import io.element.android.libraries.roomselect.api.RoomSelectMode
|
||||||
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
|
||||||
|
|
||||||
|
|
@ -221,13 +218,12 @@ private fun RoomSummaryView(
|
||||||
.heightIn(56.dp),
|
.heightIn(56.dp),
|
||||||
verticalAlignment = Alignment.CenterVertically
|
verticalAlignment = Alignment.CenterVertically
|
||||||
) {
|
) {
|
||||||
val roomAlias = summary.canonicalAlias ?: summary.roomId.value
|
|
||||||
Avatar(
|
Avatar(
|
||||||
avatarData = AvatarData(
|
avatarData = AvatarData(
|
||||||
id = roomAlias,
|
id = summary.roomId.value,
|
||||||
name = summary.name,
|
name = summary.name,
|
||||||
url = summary.avatarURLString,
|
url = summary.avatarURLString,
|
||||||
size = AvatarSize.ForwardRoomListItem,
|
size = AvatarSize.RoomSelectRoomListItem,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
Column(
|
Column(
|
||||||
|
|
@ -239,18 +235,20 @@ private fun RoomSummaryView(
|
||||||
Text(
|
Text(
|
||||||
style = ElementTheme.typography.fontBodyLgRegular,
|
style = ElementTheme.typography.fontBodyLgRegular,
|
||||||
text = summary.name,
|
text = summary.name,
|
||||||
color = MaterialTheme.roomListRoomName(),
|
color = ElementTheme.colors.textPrimary,
|
||||||
maxLines = 1,
|
|
||||||
overflow = TextOverflow.Ellipsis
|
|
||||||
)
|
|
||||||
// Id
|
|
||||||
Text(
|
|
||||||
text = roomAlias,
|
|
||||||
color = MaterialTheme.roomListRoomMessage(),
|
|
||||||
style = ElementTheme.typography.fontBodySmRegular,
|
|
||||||
maxLines = 1,
|
maxLines = 1,
|
||||||
overflow = TextOverflow.Ellipsis
|
overflow = TextOverflow.Ellipsis
|
||||||
)
|
)
|
||||||
|
// Alias
|
||||||
|
summary.canonicalAlias?.let { alias ->
|
||||||
|
Text(
|
||||||
|
text = alias,
|
||||||
|
color = ElementTheme.colors.textSecondary,
|
||||||
|
style = ElementTheme.typography.fontBodySmRegular,
|
||||||
|
maxLines = 1,
|
||||||
|
overflow = TextOverflow.Ellipsis
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
RadioButton(selected = isSelected, onClick = { onSelection(summary) })
|
RadioButton(selected = isSelected, onClick = { onSelection(summary) })
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:385ccb31d2b5a286e2bc4db603d0332295fb6f31841e59440f042c99c5c3d5d5
|
oid sha256:644e19416b18c16d3e7de1f81e040c0c63de69790e5ca5fb187cc2ee6fff0257
|
||||||
size 18837
|
size 20418
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:5f6a1ccf2355fb763fee559815f576c185751a00e8560c3079fa7017d1c7d1cf
|
oid sha256:e81982a68990e5007a831c6809e186d7d384b037a8b2fdd0d7ee0de50dc33569
|
||||||
size 21920
|
size 23352
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:73356882450cd90a01b8056379848967d3bea1e640ee4e901d9d21a1e823054d
|
oid sha256:3256d894dc36551db660060607bdd8fca172aa1aa67939053b9c09b52ed997a2
|
||||||
size 19753
|
size 21282
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:a4f6f8527d28a0c1c8cf0520b8927ae0e6f8adcaf0d56d0a117d48700dee89b7
|
oid sha256:3edf5f5df7879c16ccdd4536d94f28e98d1226ab8fed423887a23b4aa31f44e9
|
||||||
size 28388
|
size 26647
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:6349c7d27b2c227801212825e8f162da43f9b466ffb746b0f24b520a1fcdd146
|
oid sha256:15b55914bbaffae07629f3b3a8c4f6e798b604ed49a2c55f9c9cd825c882ba27
|
||||||
size 26298
|
size 24815
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:411f7935d8f44d38b43960a2adb13900750b4f439e7f61fe51ef7bc67664dc0a
|
oid sha256:61298b0953efb79896508b5ccda84ce3a1784916fb6846e9070dac066a66d3d0
|
||||||
size 31104
|
size 29384
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:e3d8829874805bdcfcb0b0978d9decbb463ec6d31f0d5cf5406dde0f1f786df9
|
oid sha256:3a446d7ff4f2fbf54a7a686ed04cb34a3085b69166292e355e3afac7e8dbd045
|
||||||
size 27104
|
size 25413
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:29fb9eae961e82ca62e29ac5894dcdaac5290f69195cbb899e4862f522e1592c
|
oid sha256:51d5c50784721a89047c2ce9ed29585d876b7f2abcda399638a372c65e83b9c2
|
||||||
size 25484
|
size 23763
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:8b7c230c34eef158e951b125674e5a8f23fdfaefeea3fcd495461581cd9d3ce8
|
oid sha256:b1263552c90b03257daea6fa1a5ccef6c37f8b25e88133db279a1c8b120692e8
|
||||||
size 29533
|
size 27467
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue