knock : display knocked room in the room list
This commit is contained in:
@@ -38,6 +38,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||
import androidx.compose.ui.unit.dp
|
||||
import io.element.android.compound.theme.ElementTheme
|
||||
import io.element.android.compound.tokens.generated.CompoundIcons
|
||||
import io.element.android.features.roomlist.impl.R
|
||||
import io.element.android.features.roomlist.impl.RoomListEvents
|
||||
import io.element.android.features.roomlist.impl.model.RoomListRoomSummary
|
||||
import io.element.android.features.roomlist.impl.model.RoomListRoomSummaryProvider
|
||||
@@ -122,6 +123,30 @@ internal fun RoomSummaryRow(
|
||||
LastMessageAndIndicatorRow(room = room)
|
||||
}
|
||||
}
|
||||
RoomSummaryDisplayType.KNOCKED -> {
|
||||
RoomSummaryScaffoldRow(
|
||||
room = room,
|
||||
onClick = onClick,
|
||||
onLongClick = {
|
||||
Timber.d("Long click on knocked room")
|
||||
},
|
||||
modifier = modifier
|
||||
) {
|
||||
NameAndTimestampRow(
|
||||
name = room.name,
|
||||
timestamp = room.timestamp,
|
||||
isHighlighted = room.isHighlighted
|
||||
)
|
||||
Text(
|
||||
text = stringResource(id = R.string.screen_join_room_knock_sent_title),
|
||||
maxLines = 1,
|
||||
overflow = TextOverflow.Ellipsis,
|
||||
style = ElementTheme.typography.fontBodyMdRegular,
|
||||
color = ElementTheme.colors.textSecondary,
|
||||
modifier = modifier,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -48,10 +48,16 @@ class RoomListRoomSummaryFactory @Inject constructor(
|
||||
inviteSender = roomInfo.inviter?.toInviteSender(),
|
||||
isDm = roomInfo.isDm,
|
||||
canonicalAlias = roomInfo.canonicalAlias,
|
||||
displayType = if (roomInfo.currentUserMembership == CurrentUserMembership.INVITED) {
|
||||
RoomSummaryDisplayType.INVITE
|
||||
} else {
|
||||
RoomSummaryDisplayType.ROOM
|
||||
displayType = when (roomInfo.currentUserMembership) {
|
||||
CurrentUserMembership.INVITED -> {
|
||||
RoomSummaryDisplayType.INVITE
|
||||
}
|
||||
CurrentUserMembership.KNOCKED -> {
|
||||
RoomSummaryDisplayType.KNOCKED
|
||||
}
|
||||
else -> {
|
||||
RoomSummaryDisplayType.ROOM
|
||||
}
|
||||
},
|
||||
heroes = roomInfo.heroes.map { user ->
|
||||
user.getAvatarData(size = AvatarSize.RoomListItem)
|
||||
|
||||
@@ -102,6 +102,10 @@ open class RoomListRoomSummaryProvider : PreviewParameterProvider<RoomListRoomSu
|
||||
displayName = "Bob",
|
||||
),
|
||||
),
|
||||
aRoomListRoomSummary(
|
||||
name = "A knocked room",
|
||||
displayType = RoomSummaryDisplayType.KNOCKED,
|
||||
)
|
||||
),
|
||||
).flatten()
|
||||
}
|
||||
|
||||
@@ -13,5 +13,6 @@ package io.element.android.features.roomlist.impl.model
|
||||
enum class RoomSummaryDisplayType {
|
||||
PLACEHOLDER,
|
||||
ROOM,
|
||||
INVITE
|
||||
INVITE,
|
||||
KNOCKED,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user