From 7b016e73a17756ff4ed6ceb7ab7b06cd2a1dc212 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 10 Feb 2023 17:24:30 +0100 Subject: [PATCH] Add PreviewParameterProvider in the template. --- .../android/features/template/TemplateView.kt | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/features/template/src/main/kotlin/io/element/android/features/template/TemplateView.kt b/features/template/src/main/kotlin/io/element/android/features/template/TemplateView.kt index e37263e296..e6a70858ab 100644 --- a/features/template/src/main/kotlin/io/element/android/features/template/TemplateView.kt +++ b/features/template/src/main/kotlin/io/element/android/features/template/TemplateView.kt @@ -22,6 +22,8 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewParameter +import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight import io.element.android.libraries.designsystem.theme.components.Text @@ -39,17 +41,27 @@ fun TemplateView( } } -@Preview -@Composable -fun TemplateViewLightPreview() = ElementPreviewLight { ContentToPreview() } +open class TemplateStatePreviewParameter : PreviewParameterProvider { + override val values: Sequence + get() = sequenceOf( + aTemplateState(), + // Add other state here + ) +} @Preview @Composable -fun TemplateViewDarkPreview() = ElementPreviewDark { ContentToPreview() } +fun TemplateViewLightPreview(@PreviewParameter(TemplateStatePreviewParameter::class) state: TemplateState) = + ElementPreviewLight { ContentToPreview(state) } + +@Preview +@Composable +fun TemplateViewDarkPreview(@PreviewParameter(TemplateStatePreviewParameter::class) state: TemplateState) = + ElementPreviewDark { ContentToPreview(state) } @Composable -private fun ContentToPreview() { +private fun ContentToPreview(state: TemplateState) { TemplateView( - state = aTemplateState(), + state = state, ) }