Improve preview of SelectedRoom and SelectedUser.

This commit is contained in:
Benoit Marty 2025-08-19 09:54:22 +02:00
parent fd75b71733
commit 357d558f04
2 changed files with 23 additions and 14 deletions

View file

@ -15,7 +15,24 @@ open class MatrixUserProvider : PreviewParameterProvider<MatrixUser> {
override val values: Sequence<MatrixUser> override val values: Sequence<MatrixUser>
get() = sequenceOf( get() = sequenceOf(
aMatrixUser(), aMatrixUser(),
aMatrixUser().copy(displayName = null), aMatrixUser(displayName = null),
)
}
open class MatrixUserWithNullProvider : PreviewParameterProvider<MatrixUser?> {
override val values: Sequence<MatrixUser?>
get() = sequenceOf(
aMatrixUser(),
aMatrixUser(displayName = null),
null,
)
}
open class MatrixUserWithAvatarProvider : PreviewParameterProvider<MatrixUser?> {
override val values: Sequence<MatrixUser?>
get() = sequenceOf(
aMatrixUser(displayName = "John Doe"),
aMatrixUser(displayName = "John Doe", avatarUrl = "anUrl"),
) )
} }
@ -41,12 +58,3 @@ fun aMatrixUserList() = listOf(
aMatrixUser("@victor:server.org", "Victor"), aMatrixUser("@victor:server.org", "Victor"),
aMatrixUser("@walter:server.org", "Walter"), aMatrixUser("@walter:server.org", "Walter"),
) )
open class MatrixUserWithNullProvider : PreviewParameterProvider<MatrixUser?> {
override val values: Sequence<MatrixUser?>
get() = sequenceOf(
aMatrixUser(),
aMatrixUser().copy(displayName = null),
null,
)
}

View file

@ -37,6 +37,7 @@ import androidx.compose.ui.semantics.contentDescription
import androidx.compose.ui.semantics.onClick import androidx.compose.ui.semantics.onClick
import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.unit.LayoutDirection import androidx.compose.ui.unit.LayoutDirection
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
@ -151,9 +152,9 @@ fun SelectedUser(
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable
internal fun SelectedUserPreview() = ElementPreview { internal fun SelectedUserPreview(@PreviewParameter(MatrixUserWithAvatarProvider::class) user: MatrixUser) = ElementPreview {
SelectedUser( SelectedUser(
aMatrixUser(displayName = "John Doe"), matrixUser = user,
canRemove = true, canRemove = true,
onUserRemove = {}, onUserRemove = {},
) )
@ -166,7 +167,7 @@ internal fun SelectedUserRtlPreview() = CompositionLocalProvider(
) { ) {
ElementPreview { ElementPreview {
SelectedUser( SelectedUser(
aMatrixUser(displayName = "John Doe"), matrixUser = aMatrixUser(displayName = "John Doe"),
canRemove = true, canRemove = true,
onUserRemove = {}, onUserRemove = {},
) )
@ -177,7 +178,7 @@ internal fun SelectedUserRtlPreview() = CompositionLocalProvider(
@Composable @Composable
internal fun SelectedUserCannotRemovePreview() = ElementPreview { internal fun SelectedUserCannotRemovePreview() = ElementPreview {
SelectedUser( SelectedUser(
aMatrixUser(), matrixUser = aMatrixUser(),
canRemove = false, canRemove = false,
onUserRemove = {}, onUserRemove = {},
) )