mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-03 16:10:00 +00:00
Ensure all dialogs have the same preview format.
A combined ElementThemedPreview with PreviewGroup.Dialogs for Showkase and a regular PreviewsDayNight for code coverage
This commit is contained in:
committed by
Benoit Marty
parent
b8d9c89ec4
commit
689ab61b23
+9
-1
@@ -35,8 +35,10 @@ import androidx.compose.ui.tooling.preview.Preview
|
|||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.compose.ui.window.Dialog
|
import androidx.compose.ui.window.Dialog
|
||||||
import androidx.compose.ui.window.DialogProperties
|
import androidx.compose.ui.window.DialogProperties
|
||||||
|
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||||
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
|
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
|
||||||
import io.element.android.libraries.designsystem.preview.PreviewGroup
|
import io.element.android.libraries.designsystem.preview.PreviewGroup
|
||||||
|
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||||
import io.element.android.libraries.designsystem.theme.components.CircularProgressIndicator
|
import io.element.android.libraries.designsystem.theme.components.CircularProgressIndicator
|
||||||
import io.element.android.libraries.designsystem.theme.components.DialogPreview
|
import io.element.android.libraries.designsystem.theme.components.DialogPreview
|
||||||
import io.element.android.libraries.designsystem.theme.components.Text
|
import io.element.android.libraries.designsystem.theme.components.Text
|
||||||
@@ -141,8 +143,14 @@ private fun ProgressDialogContent(
|
|||||||
|
|
||||||
@Preview(group = PreviewGroup.Dialogs)
|
@Preview(group = PreviewGroup.Dialogs)
|
||||||
@Composable
|
@Composable
|
||||||
internal fun ProgressDialogPreview() = ElementThemedPreview {
|
internal fun ProgressDialogContentPreview() = ElementThemedPreview {
|
||||||
DialogPreview {
|
DialogPreview {
|
||||||
ProgressDialogContent(text = "test dialog content", isCancellable = true)
|
ProgressDialogContent(text = "test dialog content", isCancellable = true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewsDayNight
|
||||||
|
@Composable
|
||||||
|
internal fun ProgressDialogPreview() = ElementPreview {
|
||||||
|
ProgressDialog(text = "test dialog content", isCancellable = true)
|
||||||
|
}
|
||||||
|
|||||||
+17
-1
@@ -22,8 +22,10 @@ import androidx.compose.runtime.Composable
|
|||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||||
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
|
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
|
||||||
import io.element.android.libraries.designsystem.preview.PreviewGroup
|
import io.element.android.libraries.designsystem.preview.PreviewGroup
|
||||||
|
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||||
import io.element.android.libraries.designsystem.theme.components.DialogPreview
|
import io.element.android.libraries.designsystem.theme.components.DialogPreview
|
||||||
import io.element.android.libraries.designsystem.theme.components.SimpleAlertDialogContent
|
import io.element.android.libraries.designsystem.theme.components.SimpleAlertDialogContent
|
||||||
import io.element.android.libraries.ui.strings.CommonStrings
|
import io.element.android.libraries.ui.strings.CommonStrings
|
||||||
@@ -87,7 +89,7 @@ private fun ConfirmationDialogContent(
|
|||||||
|
|
||||||
@Preview(group = PreviewGroup.Dialogs)
|
@Preview(group = PreviewGroup.Dialogs)
|
||||||
@Composable
|
@Composable
|
||||||
internal fun ConfirmationDialogPreview() =
|
internal fun ConfirmationDialogContentPreview() =
|
||||||
ElementThemedPreview(showBackground = false) {
|
ElementThemedPreview(showBackground = false) {
|
||||||
DialogPreview {
|
DialogPreview {
|
||||||
ConfirmationDialogContent(
|
ConfirmationDialogContent(
|
||||||
@@ -102,3 +104,17 @@ internal fun ConfirmationDialogPreview() =
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewsDayNight
|
||||||
|
@Composable
|
||||||
|
internal fun ConfirmationDialogPreview() = ElementPreview {
|
||||||
|
ConfirmationDialog(
|
||||||
|
content = "Content",
|
||||||
|
title = "Title",
|
||||||
|
submitText = "OK",
|
||||||
|
cancelText = "Cancel",
|
||||||
|
thirdButtonText = "Disable",
|
||||||
|
onSubmitClicked = {},
|
||||||
|
onDismiss = {}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|||||||
+12
-1
@@ -22,8 +22,10 @@ import androidx.compose.runtime.Composable
|
|||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||||
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
|
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
|
||||||
import io.element.android.libraries.designsystem.preview.PreviewGroup
|
import io.element.android.libraries.designsystem.preview.PreviewGroup
|
||||||
|
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||||
import io.element.android.libraries.designsystem.theme.components.DialogPreview
|
import io.element.android.libraries.designsystem.theme.components.DialogPreview
|
||||||
import io.element.android.libraries.designsystem.theme.components.SimpleAlertDialogContent
|
import io.element.android.libraries.designsystem.theme.components.SimpleAlertDialogContent
|
||||||
import io.element.android.libraries.ui.strings.CommonStrings
|
import io.element.android.libraries.ui.strings.CommonStrings
|
||||||
@@ -69,7 +71,7 @@ object ErrorDialogDefaults {
|
|||||||
|
|
||||||
@Preview(group = PreviewGroup.Dialogs)
|
@Preview(group = PreviewGroup.Dialogs)
|
||||||
@Composable
|
@Composable
|
||||||
internal fun ErrorDialogPreview() {
|
internal fun ErrorDialogContentPreview() {
|
||||||
ElementThemedPreview(showBackground = false) {
|
ElementThemedPreview(showBackground = false) {
|
||||||
DialogPreview {
|
DialogPreview {
|
||||||
ErrorDialogContent(
|
ErrorDialogContent(
|
||||||
@@ -79,3 +81,12 @@ internal fun ErrorDialogPreview() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewsDayNight
|
||||||
|
@Composable
|
||||||
|
internal fun ErrorDialogPreview() = ElementPreview {
|
||||||
|
ErrorDialog(
|
||||||
|
content = "Content",
|
||||||
|
onDismiss = {},
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|||||||
+24
-4
@@ -24,10 +24,11 @@ import androidx.compose.material3.ExperimentalMaterial3Api
|
|||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import com.airbnb.android.showkase.annotation.ShowkaseComposable
|
|
||||||
import io.element.android.libraries.designsystem.components.list.TextFieldListItem
|
import io.element.android.libraries.designsystem.components.list.TextFieldListItem
|
||||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||||
|
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
|
||||||
import io.element.android.libraries.designsystem.preview.PreviewGroup
|
import io.element.android.libraries.designsystem.preview.PreviewGroup
|
||||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||||
import io.element.android.libraries.designsystem.theme.components.DialogPreview
|
import io.element.android.libraries.designsystem.theme.components.DialogPreview
|
||||||
@@ -100,11 +101,10 @@ private fun ListDialogContent(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@PreviewsDayNight
|
@Preview(group = PreviewGroup.Dialogs)
|
||||||
@ShowkaseComposable(group = PreviewGroup.Dialogs)
|
|
||||||
@Composable
|
@Composable
|
||||||
internal fun ListDialogContentPreview() {
|
internal fun ListDialogContentPreview() {
|
||||||
ElementPreview(showBackground = false) {
|
ElementThemedPreview(showBackground = false) {
|
||||||
DialogPreview {
|
DialogPreview {
|
||||||
ListDialogContent(
|
ListDialogContent(
|
||||||
listItems = {
|
listItems = {
|
||||||
@@ -124,3 +124,23 @@ internal fun ListDialogContentPreview() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewsDayNight
|
||||||
|
@Composable
|
||||||
|
internal fun ListDialogPreview() = ElementPreview {
|
||||||
|
ListDialog(
|
||||||
|
listItems = {
|
||||||
|
item {
|
||||||
|
TextFieldListItem(placeholder = "Text input", text = "", onTextChanged = {})
|
||||||
|
}
|
||||||
|
item {
|
||||||
|
TextFieldListItem(placeholder = "Another text input", text = "", onTextChanged = {})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
title = "Dialog title",
|
||||||
|
onDismissRequest = {},
|
||||||
|
onSubmit = {},
|
||||||
|
cancelText = "Cancel",
|
||||||
|
submitText = "Save",
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|||||||
+23
-4
@@ -26,10 +26,11 @@ import androidx.compose.runtime.remember
|
|||||||
import androidx.compose.runtime.toMutableStateList
|
import androidx.compose.runtime.toMutableStateList
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import com.airbnb.android.showkase.annotation.ShowkaseComposable
|
|
||||||
import io.element.android.libraries.designsystem.components.list.CheckboxListItem
|
import io.element.android.libraries.designsystem.components.list.CheckboxListItem
|
||||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||||
|
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
|
||||||
import io.element.android.libraries.designsystem.preview.PreviewGroup
|
import io.element.android.libraries.designsystem.preview.PreviewGroup
|
||||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||||
import io.element.android.libraries.designsystem.theme.components.DialogPreview
|
import io.element.android.libraries.designsystem.theme.components.DialogPreview
|
||||||
@@ -124,11 +125,10 @@ private fun MultipleSelectionDialogContent(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@PreviewsDayNight
|
@Preview(group = PreviewGroup.Dialogs)
|
||||||
@ShowkaseComposable(group = PreviewGroup.Dialogs)
|
|
||||||
@Composable
|
@Composable
|
||||||
internal fun MultipleSelectionDialogContentPreview() {
|
internal fun MultipleSelectionDialogContentPreview() {
|
||||||
ElementPreview(showBackground = false) {
|
ElementThemedPreview(showBackground = false) {
|
||||||
DialogPreview {
|
DialogPreview {
|
||||||
val options = persistentListOf(
|
val options = persistentListOf(
|
||||||
ListOption("Option 1", "Supporting line text lorem ipsum dolor sit amet, consectetur."),
|
ListOption("Option 1", "Supporting line text lorem ipsum dolor sit amet, consectetur."),
|
||||||
@@ -147,3 +147,22 @@ internal fun MultipleSelectionDialogContentPreview() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewsDayNight
|
||||||
|
@Composable
|
||||||
|
internal fun MultipleSelectionDialogPreview() = ElementPreview {
|
||||||
|
val options = persistentListOf(
|
||||||
|
ListOption("Option 1", "Supporting line text lorem ipsum dolor sit amet, consectetur."),
|
||||||
|
ListOption("Option 2"),
|
||||||
|
ListOption("Option 3"),
|
||||||
|
)
|
||||||
|
MultipleSelectionDialog(
|
||||||
|
title = "Dialog title",
|
||||||
|
options = options,
|
||||||
|
onConfirmClicked = {},
|
||||||
|
onDismissRequest = {},
|
||||||
|
confirmButtonTitle = "Save",
|
||||||
|
dismissButtonTitle = "Cancel",
|
||||||
|
initialSelection = persistentListOf(0),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|||||||
+13
-1
@@ -22,8 +22,10 @@ import androidx.compose.runtime.Composable
|
|||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||||
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
|
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
|
||||||
import io.element.android.libraries.designsystem.preview.PreviewGroup
|
import io.element.android.libraries.designsystem.preview.PreviewGroup
|
||||||
|
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||||
import io.element.android.libraries.designsystem.theme.components.DialogPreview
|
import io.element.android.libraries.designsystem.theme.components.DialogPreview
|
||||||
import io.element.android.libraries.designsystem.theme.components.SimpleAlertDialogContent
|
import io.element.android.libraries.designsystem.theme.components.SimpleAlertDialogContent
|
||||||
import io.element.android.libraries.ui.strings.CommonStrings
|
import io.element.android.libraries.ui.strings.CommonStrings
|
||||||
@@ -78,7 +80,7 @@ object RetryDialogDefaults {
|
|||||||
|
|
||||||
@Preview(group = PreviewGroup.Dialogs)
|
@Preview(group = PreviewGroup.Dialogs)
|
||||||
@Composable
|
@Composable
|
||||||
internal fun RetryDialogPreview() {
|
internal fun RetryDialogContentPreview() {
|
||||||
ElementThemedPreview(showBackground = false) {
|
ElementThemedPreview(showBackground = false) {
|
||||||
DialogPreview {
|
DialogPreview {
|
||||||
RetryDialogContent(
|
RetryDialogContent(
|
||||||
@@ -89,3 +91,13 @@ internal fun RetryDialogPreview() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewsDayNight
|
||||||
|
@Composable
|
||||||
|
internal fun RetryDialogPreview() = ElementPreview {
|
||||||
|
RetryDialog(
|
||||||
|
content = "Content",
|
||||||
|
onRetry = {},
|
||||||
|
onDismiss = {},
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|||||||
+20
-3
@@ -24,8 +24,8 @@ import androidx.compose.material3.ExperimentalMaterial3Api
|
|||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import com.airbnb.android.showkase.annotation.ShowkaseComposable
|
|
||||||
import io.element.android.libraries.designsystem.components.list.RadioButtonListItem
|
import io.element.android.libraries.designsystem.components.list.RadioButtonListItem
|
||||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||||
import io.element.android.libraries.designsystem.preview.PreviewGroup
|
import io.element.android.libraries.designsystem.preview.PreviewGroup
|
||||||
@@ -105,8 +105,7 @@ private fun SingleSelectionDialogContent(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@PreviewsDayNight
|
@Preview(group = PreviewGroup.Dialogs)
|
||||||
@ShowkaseComposable(group = PreviewGroup.Dialogs)
|
|
||||||
@Composable
|
@Composable
|
||||||
internal fun SingleSelectionDialogContentPreview() {
|
internal fun SingleSelectionDialogContentPreview() {
|
||||||
ElementPreview(showBackground = false) {
|
ElementPreview(showBackground = false) {
|
||||||
@@ -127,3 +126,21 @@ internal fun SingleSelectionDialogContentPreview() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewsDayNight
|
||||||
|
@Composable
|
||||||
|
internal fun SingleSelectionDialogPreview() = ElementPreview {
|
||||||
|
val options = persistentListOf(
|
||||||
|
ListOption("Option 1"),
|
||||||
|
ListOption("Option 2"),
|
||||||
|
ListOption("Option 3"),
|
||||||
|
)
|
||||||
|
SingleSelectionDialog(
|
||||||
|
title = "Dialog title",
|
||||||
|
options = options,
|
||||||
|
onOptionSelected = {},
|
||||||
|
onDismissRequest = {},
|
||||||
|
dismissButtonTitle = "Cancel",
|
||||||
|
initialSelection = 0
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user