Add PreviewParameterProvider in the template.

This commit is contained in:
Benoit Marty 2023-02-10 17:24:30 +01:00 committed by Benoit Marty
parent 6d7e7833a4
commit 3bd7a79d89

View file

@ -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<TemplateState> {
override val values: Sequence<TemplateState>
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,
)
}