Remove join button on room directory search (#2827)

* Remove 'Join' button in room directory search results

* Update screenshots

* Add changelog

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
This commit is contained in:
Jorge Martin Espinosa 2024-05-10 11:31:18 +02:00 committed by GitHub
parent 2f19f57aa3
commit b95df7e6b4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 22 additions and 63 deletions

1
changelog.d/2827.bugfix Normal file
View file

@ -0,0 +1 @@
Remove 'Join' button in room directory search results.

View file

@ -21,12 +21,10 @@ import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.IntrinsicSize
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.consumeWindowInsets
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.layout.wrapContentHeight
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.items
@ -76,10 +74,6 @@ fun RoomDirectoryView(
onBackPressed: () -> Unit,
modifier: Modifier = Modifier,
) {
fun joinRoom(roomDescription: RoomDescription) {
state.eventSink(RoomDirectoryEvents.JoinRoom(roomDescription.roomId))
}
Scaffold(
modifier = modifier,
topBar = {
@ -89,7 +83,6 @@ fun RoomDirectoryView(
RoomDirectoryContent(
state = state,
onResultClicked = onResultClicked,
onJoinClicked = ::joinRoom,
modifier = Modifier
.padding(padding)
.consumeWindowInsets(padding)
@ -132,7 +125,6 @@ private fun RoomDirectoryTopBar(
private fun RoomDirectoryContent(
state: RoomDirectoryState,
onResultClicked: (RoomDescription) -> Unit,
onJoinClicked: (RoomDescription) -> Unit,
modifier: Modifier = Modifier,
) {
Column(modifier = modifier) {
@ -147,7 +139,6 @@ private fun RoomDirectoryContent(
displayLoadMoreIndicator = state.displayLoadMoreIndicator,
displayEmptyState = state.displayEmptyState,
onResultClicked = onResultClicked,
onJoinClicked = onJoinClicked,
onReachedLoadMore = { state.eventSink(RoomDirectoryEvents.LoadMore) },
)
}
@ -159,7 +150,6 @@ private fun RoomDirectoryRoomList(
displayLoadMoreIndicator: Boolean,
displayEmptyState: Boolean,
onResultClicked: (RoomDescription) -> Unit,
onJoinClicked: (RoomDescription) -> Unit,
onReachedLoadMore: () -> Unit,
modifier: Modifier = Modifier,
) {
@ -170,9 +160,6 @@ private fun RoomDirectoryRoomList(
onClick = {
onResultClicked(roomDescription)
},
onJoinClick = {
onJoinClicked(roomDescription)
},
)
}
if (displayEmptyState) {
@ -199,10 +186,10 @@ private fun RoomDirectoryRoomList(
@Composable
private fun LoadMoreIndicator(modifier: Modifier = Modifier) {
Box(
modifier
.fillMaxWidth()
.wrapContentHeight()
.padding(24.dp),
modifier
.fillMaxWidth()
.wrapContentHeight()
.padding(24.dp),
contentAlignment = Alignment.Center,
) {
CircularProgressIndicator(
@ -268,7 +255,6 @@ private fun SearchTextField(
private fun RoomDirectoryRoomRow(
roomDescription: RoomDescription,
onClick: () -> Unit,
onJoinClick: () -> Unit,
modifier: Modifier = Modifier,
) {
Row(
@ -289,7 +275,7 @@ private fun RoomDirectoryRoomRow(
Column(
modifier = Modifier
.weight(1f)
.padding(start = 16.dp)
.padding(horizontal = 16.dp)
) {
Text(
text = roomDescription.computedName,
@ -306,19 +292,6 @@ private fun RoomDirectoryRoomRow(
overflow = TextOverflow.Ellipsis,
)
}
if (roomDescription.canJoinOrKnock) {
Text(
text = stringResource(id = CommonStrings.action_join),
color = ElementTheme.colors.textSuccessPrimary,
modifier = Modifier
.align(Alignment.CenterVertically)
.clickable(onClick = onJoinClick)
.padding(start = 4.dp, end = 12.dp)
.testTag(TestTags.callToAction.value)
)
} else {
Spacer(modifier = Modifier.width(24.dp))
}
}
}

View file

@ -19,8 +19,6 @@ package io.element.android.features.roomdirectory.impl.root
import androidx.activity.ComponentActivity
import androidx.compose.ui.test.junit4.AndroidComposeTestRule
import androidx.compose.ui.test.junit4.createAndroidComposeRule
import androidx.compose.ui.test.onAllNodesWithTag
import androidx.compose.ui.test.onFirst
import androidx.compose.ui.test.onNodeWithTag
import androidx.compose.ui.test.onNodeWithText
import androidx.compose.ui.test.performClick
@ -74,19 +72,6 @@ class RoomDirectoryViewTest {
}
}
@Test
fun `clicking on room item join cta emits the expected Event`() {
val eventsRecorder = EventsRecorder<RoomDirectoryEvents>()
val state = aRoomDirectoryState(
roomDescriptions = aRoomDescriptionList(),
eventSink = eventsRecorder,
)
rule.setRoomDirectoryView(state = state)
val clickedRoom = state.roomDescriptions.first()
rule.onAllNodesWithTag(TestTags.callToAction.value).onFirst().performClick()
eventsRecorder.assertSingle(RoomDirectoryEvents.JoinRoom(clickedRoom.roomId))
}
@Test
fun `composing load more indicator emits expected Event`() {
val eventsRecorder = EventsRecorder<RoomDirectoryEvents>()

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c2b6cc7995880af654439c4f45d6e3ff35ff9c92609ad136fcdfbb2050edea44
size 30484
oid sha256:a4a3c37b862e1fe356c867cd5b78dd8348ac8bc91706d4cad745978806eca3cb
size 30510

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1f7885c0ee25d12dc5bb25940b35e7153f95ffc35cbe6fac21839390d52faeac
size 32326
oid sha256:769be0527952dc2b5da597cf91b08a173a6be8b8563ddcdbb5c8c571f5fb3d8d
size 32341

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:776d8f8a15bac930896a8baaf46f69fddf24fdf5c51c1ab6f1bbc48ef89259d6
size 31607
oid sha256:b717801c585a4a95f9d52984758d5d249a8f47a0a495c47b7300c8f440e0e1a9
size 31641

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b349aa0ce78db6396094adda401f52133c32c16e695a051ba115be0143c31de9
size 34972
oid sha256:e26380664b3d36f1be969f7bea8ec3ca8d053866d52e156fe6fa30767157e6a9
size 35034

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7a7b5c11dbc45a804d34a0105c49c7bd15ab1f5d6441f0e95dba84fd8a9eada6
size 29080
oid sha256:f4627bd990bd848e7b56fb1178e5bbc76b3c99fd3dfe4dd3e9aa4597dc584384
size 29180

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6af6d92766e7249ee95582a32ac17ddd5c3bcc29c9b78d9ba9ca6bcb27b69c8c
size 30828
oid sha256:d3770d6c9677f4ff9d671dee6bbd9690d37d0faaf2971aa681f25f26f7565bea
size 30927

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b434b666666da81963d8ac89e9669f059443cd529103735944e6a15ba5ba46b5
size 28646
oid sha256:4bb5a5d3c9db11646da18b83e7eaf8503db6e5fe125beb22e7b1651e41d1b9e1
size 28868

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f0190f4e7d06f5b46147531d7224e24662e0a7ef6289d516cf082d59ab63627f
size 31342
oid sha256:f5184c8c53c2943925af714cba4528133352b8dcde1051f9d00957e4e9beb20a
size 31553