Add preview

This commit is contained in:
Benoit Marty 2025-11-21 14:24:48 +01:00
parent 5000ba6424
commit d9a0e4971d

View file

@ -11,27 +11,36 @@ package io.element.android.features.preferences.impl.user.editprofile
import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import io.element.android.libraries.architecture.AsyncAction import io.element.android.libraries.architecture.AsyncAction
import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.core.UserId
import io.element.android.libraries.matrix.ui.media.AvatarAction
import io.element.android.libraries.permissions.api.PermissionsState
import io.element.android.libraries.permissions.api.aPermissionsState import io.element.android.libraries.permissions.api.aPermissionsState
import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.toImmutableList
open class EditUserProfileStateProvider : PreviewParameterProvider<EditUserProfileState> { open class EditUserProfileStateProvider : PreviewParameterProvider<EditUserProfileState> {
override val values: Sequence<EditUserProfileState> override val values: Sequence<EditUserProfileState>
get() = sequenceOf( get() = sequenceOf(
aEditUserProfileState(), aEditUserProfileState(),
aEditUserProfileState(userAvatarUrl = "example://uri"), aEditUserProfileState(userAvatarUrl = "example://uri"),
// Add other states here aEditUserProfileState(saveAction = AsyncAction.ConfirmingCancellation),
) )
} }
fun aEditUserProfileState( fun aEditUserProfileState(
userId: UserId = UserId("@john.doe:matrix.org"),
displayName: String = "John Doe",
userAvatarUrl: String? = null, userAvatarUrl: String? = null,
avatarActions: List<AvatarAction> = emptyList(),
saveButtonEnabled: Boolean = true,
saveAction: AsyncAction<Unit> = AsyncAction.Uninitialized,
cameraPermissionState: PermissionsState = aPermissionsState(showDialog = false),
eventSink: (EditUserProfileEvents) -> Unit = {},
) = EditUserProfileState( ) = EditUserProfileState(
userId = UserId("@john.doe:matrix.org"), userId = userId,
displayName = "John Doe", displayName = displayName,
userAvatarUrl = userAvatarUrl, userAvatarUrl = userAvatarUrl,
avatarActions = persistentListOf(), avatarActions = avatarActions.toImmutableList(),
saveAction = AsyncAction.Uninitialized, saveButtonEnabled = saveButtonEnabled,
saveButtonEnabled = true, saveAction = saveAction,
cameraPermissionState = aPermissionsState(showDialog = false), cameraPermissionState = cameraPermissionState,
eventSink = {} eventSink = eventSink,
) )