Add some Preview

This commit is contained in:
Benoit Marty 2023-02-10 16:05:11 +01:00 committed by Benoit Marty
parent 23c4b9041a
commit 395d432220
19 changed files with 248 additions and 29 deletions

View file

@ -18,7 +18,9 @@ package io.element.android.x.root
import androidx.compose.runtime.Stable
import io.element.android.features.rageshake.crash.ui.CrashDetectionState
import io.element.android.features.rageshake.crash.ui.aCrashDetectionState
import io.element.android.features.rageshake.detection.RageshakeDetectionState
import io.element.android.features.rageshake.detection.aRageshakeDetectionState
@Stable
data class RootState(
@ -27,3 +29,10 @@ data class RootState(
val crashDetectionState: CrashDetectionState,
val eventSink: (RootEvents) -> Unit
)
fun aRootState() = RootState(
isShowkaseButtonVisible = false,
rageshakeDetectionState = aRageshakeDetectionState(),
crashDetectionState = aCrashDetectionState(),
eventSink = {}
)

View file

@ -24,10 +24,18 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter
import io.element.android.features.rageshake.crash.ui.CrashDetectionEvents
import io.element.android.features.rageshake.crash.ui.CrashDetectionView
import io.element.android.features.rageshake.crash.ui.aCrashDetectionState
import io.element.android.features.rageshake.detection.RageshakeDetectionEvents
import io.element.android.features.rageshake.detection.RageshakeDetectionView
import io.element.android.features.rageshake.detection.aRageshakeDetectionState
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
import io.element.android.libraries.designsystem.utils.BooleanPreviewParameter
import io.element.android.tests.uitests.openShowkase
import io.element.android.x.component.ShowkaseButton
@ -68,3 +76,24 @@ fun RootView(
)
}
}
@Preview
@Composable
fun RootLightPreview(@PreviewParameter(BooleanPreviewParameter::class) dialogType: Boolean) = ElementPreviewLight { ContentToPreview(dialogType) }
@Preview
@Composable
fun RootDarkPreview(@PreviewParameter(BooleanPreviewParameter::class) dialogType: Boolean) = ElementPreviewDark { ContentToPreview(dialogType) }
@Composable
private fun ContentToPreview(dialogType: Boolean) {
RootView(
aRootState().copy(
isShowkaseButtonVisible = true,
rageshakeDetectionState = aRageshakeDetectionState().copy(showDialog = dialogType),
crashDetectionState = aCrashDetectionState().copy(crashDetected = !dialogType),
)
) {
Text("Children")
}
}