From 0b9b6944b340d37ef81640f49b7ebb4ae908eafd Mon Sep 17 00:00:00 2001 From: Corentin STAMPER Date: Tue, 20 Jun 2023 19:57:52 +0200 Subject: [PATCH] fix(modals): Buttons position (#99) Co-authored-by: ManonPolle <46710837+ManonPolle@users.noreply.github.com> --- modals/README.md | 99 +++++-- modals/build.gradle.kts | 3 + .../compose/modals/VitaminModalButtons.kt | 6 +- .../compose/modals/VitaminModalSizes.kt | 18 +- .../vitamin/compose/modals/VitaminModals.kt | 130 +++++++-- .../vitamin/compose/modals/impl/Buttons.kt | 46 --- .../compose/modals/impl/ModalButtons.kt | 82 ++++++ .../compose/modals/impl/VitaminModalImpl.kt | 46 +-- .../modals/VitaminModalsPrimaryTest.kt | 268 ++++++++++++++++++ .../compose/modals/utils/DataFactory.kt | 39 +++ .../vitamin/compose/modals/utils/Theme.kt | 3 + ...ryTest_primaryWithDisabledButton[Dark].png | Bin 0 -> 66638 bytes ...yTest_primaryWithDisabledButton[Light].png | Bin 0 -> 66540 bytes ...PrimaryTest_primaryWithOneButton[Dark].png | Bin 0 -> 66831 bytes ...rimaryTest_primaryWithOneButton[Light].png | Bin 0 -> 66774 bytes ...alsPrimaryTest_primaryWithScroll[Dark].png | Bin 0 -> 146544 bytes ...lsPrimaryTest_primaryWithScroll[Light].png | Bin 0 -> 144015 bytes ...rimaryWithThreeHorizontalButtons[Dark].png | Bin 0 -> 69183 bytes ...imaryWithThreeHorizontalButtons[Light].png | Bin 0 -> 69079 bytes ..._primaryWithThreeVerticalButtons[Dark].png | Bin 0 -> 69311 bytes ...primaryWithThreeVerticalButtons[Light].png | Bin 0 -> 69381 bytes ..._primaryWithTwoHorizontalButtons[Dark].png | Bin 0 -> 68580 bytes ...primaryWithTwoHorizontalButtons[Light].png | Bin 0 -> 68476 bytes ...st_primaryWithTwoVerticalButtons[Dark].png | Bin 0 -> 68542 bytes ...t_primaryWithTwoVerticalButtons[Light].png | Bin 0 -> 68676 bytes ...PrimaryTest_primaryWithoutButton[Dark].png | Bin 0 -> 64821 bytes ...rimaryTest_primaryWithoutButton[Light].png | Bin 0 -> 64896 bytes .../compose/sample/screens/Modals.kt | 247 ++++------------ 28 files changed, 669 insertions(+), 318 deletions(-) delete mode 100644 modals/src/main/java/com/decathlon/vitamin/compose/modals/impl/Buttons.kt create mode 100644 modals/src/main/java/com/decathlon/vitamin/compose/modals/impl/ModalButtons.kt create mode 100644 modals/src/test/kotlin/com/decathlon/vitamin/compose/modals/VitaminModalsPrimaryTest.kt create mode 100644 modals/src/test/kotlin/com/decathlon/vitamin/compose/modals/utils/DataFactory.kt create mode 100644 modals/src/test/kotlin/com/decathlon/vitamin/compose/modals/utils/Theme.kt create mode 100644 modals/src/test/snapshots/images/com.decathlon.vitamin.compose.modals_VitaminModalsPrimaryTest_primaryWithDisabledButton[Dark].png create mode 100644 modals/src/test/snapshots/images/com.decathlon.vitamin.compose.modals_VitaminModalsPrimaryTest_primaryWithDisabledButton[Light].png create mode 100644 modals/src/test/snapshots/images/com.decathlon.vitamin.compose.modals_VitaminModalsPrimaryTest_primaryWithOneButton[Dark].png create mode 100644 modals/src/test/snapshots/images/com.decathlon.vitamin.compose.modals_VitaminModalsPrimaryTest_primaryWithOneButton[Light].png create mode 100644 modals/src/test/snapshots/images/com.decathlon.vitamin.compose.modals_VitaminModalsPrimaryTest_primaryWithScroll[Dark].png create mode 100644 modals/src/test/snapshots/images/com.decathlon.vitamin.compose.modals_VitaminModalsPrimaryTest_primaryWithScroll[Light].png create mode 100644 modals/src/test/snapshots/images/com.decathlon.vitamin.compose.modals_VitaminModalsPrimaryTest_primaryWithThreeHorizontalButtons[Dark].png create mode 100644 modals/src/test/snapshots/images/com.decathlon.vitamin.compose.modals_VitaminModalsPrimaryTest_primaryWithThreeHorizontalButtons[Light].png create mode 100644 modals/src/test/snapshots/images/com.decathlon.vitamin.compose.modals_VitaminModalsPrimaryTest_primaryWithThreeVerticalButtons[Dark].png create mode 100644 modals/src/test/snapshots/images/com.decathlon.vitamin.compose.modals_VitaminModalsPrimaryTest_primaryWithThreeVerticalButtons[Light].png create mode 100644 modals/src/test/snapshots/images/com.decathlon.vitamin.compose.modals_VitaminModalsPrimaryTest_primaryWithTwoHorizontalButtons[Dark].png create mode 100644 modals/src/test/snapshots/images/com.decathlon.vitamin.compose.modals_VitaminModalsPrimaryTest_primaryWithTwoHorizontalButtons[Light].png create mode 100644 modals/src/test/snapshots/images/com.decathlon.vitamin.compose.modals_VitaminModalsPrimaryTest_primaryWithTwoVerticalButtons[Dark].png create mode 100644 modals/src/test/snapshots/images/com.decathlon.vitamin.compose.modals_VitaminModalsPrimaryTest_primaryWithTwoVerticalButtons[Light].png create mode 100644 modals/src/test/snapshots/images/com.decathlon.vitamin.compose.modals_VitaminModalsPrimaryTest_primaryWithoutButton[Dark].png create mode 100644 modals/src/test/snapshots/images/com.decathlon.vitamin.compose.modals_VitaminModalsPrimaryTest_primaryWithoutButton[Light].png diff --git a/modals/README.md b/modals/README.md index 3243ec6c..4d5827fe 100644 --- a/modals/README.md +++ b/modals/README.md @@ -15,63 +15,112 @@ implementation("com.decathlon.vitamin.compose:modals:") ### Primary +#### To display an information + ```kotlin object VitaminModals { @Composable - fun Primary2( + fun Primary( content: @Composable (() -> Unit), onDismissRequest: () -> Unit, modifier: Modifier = Modifier, title: String? = null, painter: Painter? = null, - buttonsOrientation: ModalButtonsOrientation = ModalButtonsOrientation.HORIZONTAL, contentScrollState: ScrollState = rememberScrollState(), colors: ModalColors = VitaminModalColors.primary(), sizes: ModalSizes = VitaminModalSizes.medium(), - positiveButton: (@Composable VitaminModalButtons.() -> Unit)? = null, - negativeButton: (@Composable VitaminModalButtons.() -> Unit)? = null, - neutralButton: (@Composable VitaminModalButtons.() -> Unit)? = null, + button: (@Composable VitaminModalButtons.() -> Unit)? = null, ) } ``` -The primary modal used to provide critical information or ask for decision. +This Primary modal implementation used to provide information. The minimal usage of the component is callback to be notified when the user need to dismiss the modal. ```kotlin VitaminModals.Primary( content = { - Text( - text = "Simple information displayed to the user" - ) + Text(text = "Simple information displayed to the user") }, onDismissRequest = {}, - modifier = Modifier, - title = "Amazon", - painter = rememberVectorPainter(VitaminIcons.Line.MapPin), - contentScrollState = rememberScrollState(), - positiveButton = { + painter = rememberVectorPainter(image = VitaminIcons.Line.MapPin), + title = "title", + button = { VitaminModalButtons.Primary( - text = "Positive", + text = "Got it", onClick = {} ) + } +) +``` + +Parameters | Descriptions +-- | -- +`content: @Composable (() -> Unit)` | The content to be displayed below the title +`onDismissRequest: () -> Unit` | The callback to be called when the user need to dismiss the modal +`modifier: Modifier = Modifier` | The `Modifier` to be applied to the component +`title: String? = null` | The optional title to be displayed at the top of the modal +`painter: Painter? = null` | The optional leading icon to be displayed at the start of the title +`contentScrollState: ScrollState = rememberScrollState()` | The optional scroll state to observe the scrolling +`colors: ModalColors = VitaminModalColors.primary()` | The optional sizes used to define colors of icon, title, content and background of the modal +`sizes: ModalSizes = VitaminModalSizes.medium()` | The optional sizes used to define modal padding, spacers sizes and icon size +`button: (@Composable VitaminModalButtons.() -> Unit)? = null` | The optional button to do the acknowledgement action + +#### To confirm an action + +```kotlin +object VitaminModals { + @Composable + fun Primary( + content: @Composable (() -> Unit), + onDismissRequest: () -> Unit, + confirmationButton: (@Composable VitaminModalButtons.() -> Unit), + dismissButton: (@Composable VitaminModalButtons.() -> Unit), + modifier: Modifier = Modifier, + title: String? = null, + painter: Painter? = null, + buttonsOrientation: ModalButtonsOrientation = ModalButtonsOrientation.HORIZONTAL, + contentScrollState: ScrollState = rememberScrollState(), + colors: ModalColors = VitaminModalColors.primary(), + sizes: ModalSizes = VitaminModalSizes.medium(), + thirdButton: (@Composable VitaminModalButtons.() -> Unit)? = null, + ) +} +``` + +This implementation will be use to validate an action or request information from the user. +In this case, two buttons are mandatory. One must be a confirming action, and the other a dismissing action. +Providing a third action, such as "Learn more" is not recommended as it navigates the user away from the dialog, leaving the dialog task unfinished. + +The minimal usage of the component is callback to be notified when the user need to dismiss the modal and action buttons (confirm & dismiss). + +```kotlin +VitaminModals.Primary( + content = { + Text(text = "Description of the action you want to confirm") }, - negativeButton = { + onDismissRequest = {}, + painter = rememberVectorPainter(image = VitaminIcons.Line.MapPin), + title = "title", + confirmationButton = { VitaminModalButtons.Primary( - text = "Negative", + text = "Confirm", onClick = {} ) }, - neutralButton = { + dismissButton = { VitaminModalButtons.Primary( - text = "Neutral", + text = "Dismiss", onClick = {} ) }, - buttonsOrientation = ModalButtonsOrientation.HORIZONTAL, - sizes = VitaminModalSizes.medium(), - colors = VitaminModalColors.primary() + thirdButton = { + VitaminModalButtons.Primary( + text = "Third action", + onClick = {} + ) + } ) ``` @@ -79,6 +128,8 @@ Parameters | Descriptions -- | -- `content: @Composable (() -> Unit)` | The content to be displayed below the title `onDismissRequest: () -> Unit` | The callback to be called when the user need to dismiss the modal +`confirmationButton: (@Composable VitaminModalButtons.() -> Unit)` | The button used to confirm the action +`dismissButton: (@Composable VitaminModalButtons.() -> Unit)` | The button used to dismiss the action `modifier: Modifier = Modifier` | The `Modifier` to be applied to the component `title: String? = null` | The optional title to be displayed at the top of the modal `painter: Painter? = null` | The optional leading icon to be displayed at the start of the title @@ -86,6 +137,4 @@ Parameters | Descriptions `contentScrollState: ScrollState = rememberScrollState()` | The optional scroll state to observe the scrolling `colors: ModalColors = VitaminModalColors.primary()` | The optional sizes used to define colors of icon, title, content and background of the modal `sizes: ModalSizes = VitaminModalSizes.medium()` | The optional sizes used to define modal padding, spacers sizes and icon size -`positiveButton: (@Composable VitaminModalButtons.() -> Unit)? = null` | The optional positive button to be displayed at the bottom of the modal -`negativeButton: (@Composable VitaminModalButtons.() -> Unit)? = null` | The optional negative button to be displayed at the bottom of the modal -`neutralButton: (@Composable VitaminModalButtons.() -> Unit)? = null` | The optional neutral button to be displayed at the bottom of the modal +`thirdButton: (@Composable VitaminModalButtons.() -> Unit)? = null`| The optional button used to display a third action diff --git a/modals/build.gradle.kts b/modals/build.gradle.kts index 74b1975b..0e04b717 100644 --- a/modals/build.gradle.kts +++ b/modals/build.gradle.kts @@ -3,10 +3,13 @@ plugins { id("kotlin-android") id("VitaminComposeLibraryPlugin") id("com.vanniktech.maven.publish") + id("app.cash.paparazzi") } dependencies { api(project(":foundation:foundation")) implementation(project(":buttons")) implementation(AndroidX.compose.ui.tooling) + testImplementation("com.google.testparameterinjector:test-parameter-injector:1.8") + testImplementation(project(":foundation:foundation-icons")) } diff --git a/modals/src/main/java/com/decathlon/vitamin/compose/modals/VitaminModalButtons.kt b/modals/src/main/java/com/decathlon/vitamin/compose/modals/VitaminModalButtons.kt index 63e3652a..caa1039d 100644 --- a/modals/src/main/java/com/decathlon/vitamin/compose/modals/VitaminModalButtons.kt +++ b/modals/src/main/java/com/decathlon/vitamin/compose/modals/VitaminModalButtons.kt @@ -15,7 +15,8 @@ object VitaminModalButtons { @Composable fun Primary( text: String, - onClick: () -> Unit + onClick: () -> Unit, + enabled: Boolean = true ) { VitaminButtons.Ghost( text = text, @@ -23,7 +24,8 @@ object VitaminModalButtons { minWidth = 0.dp, contentPadding = PaddingValues(0.dp) ), - onClick = onClick + onClick = onClick, + enabled = enabled ) } } diff --git a/modals/src/main/java/com/decathlon/vitamin/compose/modals/VitaminModalSizes.kt b/modals/src/main/java/com/decathlon/vitamin/compose/modals/VitaminModalSizes.kt index 488e5e43..18c2c66d 100644 --- a/modals/src/main/java/com/decathlon/vitamin/compose/modals/VitaminModalSizes.kt +++ b/modals/src/main/java/com/decathlon/vitamin/compose/modals/VitaminModalSizes.kt @@ -1,15 +1,19 @@ package com.decathlon.vitamin.compose.modals +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp +import com.decathlon.vitamin.compose.foundation.VitaminTheme class ModalSizes( val verticalPadding: Dp, val horizontalPadding: Dp, val spacerSize: Dp, - val iconSize: Dp + val iconSize: Dp, + val buttonsSpacer: Dp, + val cornerRadius: RoundedCornerShape ) object VitaminModalSizes { @@ -18,18 +22,24 @@ object VitaminModalSizes { verticalPadding: Dp = 20.dp, horizontalPadding: Dp = 24.dp, spacerSize: Dp = 12.dp, - iconSize: Dp = 24.dp + iconSize: Dp = 24.dp, + buttonsSpacer: Dp = 8.dp, + cornerRadius: RoundedCornerShape = VitaminTheme.shapes.radius200 ): ModalSizes = remember( verticalPadding, horizontalPadding, spacerSize, - iconSize + iconSize, + buttonsSpacer, + cornerRadius ) { ModalSizes( verticalPadding = verticalPadding, horizontalPadding = horizontalPadding, spacerSize = spacerSize, - iconSize = iconSize + iconSize = iconSize, + buttonsSpacer = buttonsSpacer, + cornerRadius = cornerRadius ) } } diff --git a/modals/src/main/java/com/decathlon/vitamin/compose/modals/VitaminModals.kt b/modals/src/main/java/com/decathlon/vitamin/compose/modals/VitaminModals.kt index d5e86484..8d55df86 100644 --- a/modals/src/main/java/com/decathlon/vitamin/compose/modals/VitaminModals.kt +++ b/modals/src/main/java/com/decathlon/vitamin/compose/modals/VitaminModals.kt @@ -26,8 +26,8 @@ object VitaminModals { * @param neutralButton The optional neutral button to be displayed at the bottom of the modal */ @Deprecated( - message = "Use android dependency in the contract. Please use Primary2 component with a painter object.", - replaceWith = ReplaceWith("Primary2") + message = "Please use other Primary implementations.", + replaceWith = ReplaceWith("Primary") ) @Composable fun Primary( @@ -43,50 +43,129 @@ object VitaminModals { positiveButton: (@Composable VitaminModalButtons.() -> Unit)? = null, negativeButton: (@Composable VitaminModalButtons.() -> Unit)? = null, neutralButton: (@Composable VitaminModalButtons.() -> Unit)? = null, + ) { + // To avoid incorrect display of buttons, we need to display them from right to left + // If only one button is needed (positive, negative or neutral) -> display one button as confirmationButton + // If two buttons are defined -> display the first one as confirmationButton (positive or negative, + // in this order) & the other as dismissButton + // If three buttons are defined -> display positiveButton as confirmationButton, negativeButton as dismissButton + // & neutralButton as thirdButton + + // We get the rightmost button as confirmationButton + val confirmationButton = positiveButton ?: negativeButton ?: neutralButton + // We get the rightmost button (exclude the confirmationButton) as dismissButton + val dismissButton = when { + positiveButton != null -> negativeButton ?: neutralButton + negativeButton != null -> neutralButton + else -> null + } + // We get the last button as thirdButton + val thirdButton = when { + positiveButton != null && negativeButton != null -> neutralButton + else -> null + } + when { + // In this case, we have only one button or no button + (dismissButton == null) -> Primary( + content = content, + onDismissRequest = onDismissRequest, + modifier = modifier, + title = title, + painter = iconRes?.let { painterResource(id = it) }, + contentScrollState = contentScrollState, + colors = colors, + sizes = sizes, + button = confirmationButton, + ) + // In this cas, we have at least two buttons + else -> Primary( + content = content, + onDismissRequest = onDismissRequest, + confirmationButton = confirmationButton!!, + dismissButton = dismissButton, + modifier = modifier, + title = title, + painter = iconRes?.let { painterResource(id = it) }, + buttonsOrientation = buttonsOrientation, + contentScrollState = contentScrollState, + colors = colors, + sizes = sizes, + thirdButton = thirdButton, + ) + } + } + + /** + * This implementation will be use to validate an action or request information from the user + * In this case, two buttons are mandatory. One must be a confirming action, and the other a dismissing action. + * Providing a third action, such as "Learn more" is not recommended as it navigates the user away from the dialog, + * leaving the dialog task unfinished. + * @param content The content to be displayed below the title + * @param onDismissRequest The callback to be called when the user need to dismiss the modal + * @param confirmationButton The button used to confirm the action + * @param dismissButton The button used to dismiss the action + * @param modifier The [Modifier] to be applied to the component + * @param title The optional title to be displayed at the top of the modal + * @param painter The optional leading icon to be displayed at the start of the title + * @param buttonsOrientation The optional buttons orientation to display buttons vertically or horizontally + * @param contentScrollState The optional scroll state to observe the scrolling + * @param colors The optional sizes used to define colors of icon, title, content and background of the modal + * @param sizes The optional sizes used to define modal padding, spacers sizes and icon size + * @param thirdButton The optional button used to display a third action (Not recommended). + */ + @Composable + fun Primary( + content: @Composable (() -> Unit), + onDismissRequest: () -> Unit, + confirmationButton: (@Composable VitaminModalButtons.() -> Unit), + dismissButton: (@Composable VitaminModalButtons.() -> Unit), + modifier: Modifier = Modifier, + title: String? = null, + painter: Painter? = null, + buttonsOrientation: ModalButtonsOrientation = ModalButtonsOrientation.HORIZONTAL, + contentScrollState: ScrollState = rememberScrollState(), + colors: ModalColors = VitaminModalColors.primary(), + sizes: ModalSizes = VitaminModalSizes.medium(), + thirdButton: (@Composable VitaminModalButtons.() -> Unit)? = null, ) = VitaminModalImpl( content = content, onDismissRequest = onDismissRequest, modifier = modifier, title = title, - painter = iconRes?.let { painterResource(id = it) }, - contentScrollState = contentScrollState, - positiveButton = positiveButton?.takeOrNull(), - negativeButton = negativeButton?.takeOrNull(), - neutralButton = neutralButton?.takeOrNull(), + painter = painter, buttonsOrientation = buttonsOrientation, + contentScrollState = contentScrollState, + confirmationButton = confirmationButton, + dismissButton = dismissButton, + thirdButton = thirdButton, + colors = colors, sizes = sizes, - colors = colors ) /** - * The default modal used to provide critical information or ask for decision. + * This implementation will be use to notify the user. + * In this case, only one button is available to dismiss the [VitaminModals] * @param content The content to be displayed below the title * @param onDismissRequest The callback to be called when the user need to dismiss the modal * @param modifier The [Modifier] to be applied to the component * @param title The optional title to be displayed at the top of the modal * @param painter The optional leading icon to be displayed at the start of the title - * @param buttonsOrientation The optional buttons orientation to display buttons vertically or horizontally * @param contentScrollState The optional scroll state to observe the scrolling * @param colors The optional sizes used to define colors of icon, title, content and background of the modal * @param sizes The optional sizes used to define modal padding, spacers sizes and icon size - * @param positiveButton The optional positive button to be displayed at the bottom of the modal - * @param negativeButton The optional negative button to be displayed at the bottom of the modal - * @param neutralButton The optional neutral button to be displayed at the bottom of the modal + * @param button The optional button to do the acknowledgement action */ @Composable - fun Primary2( + fun Primary( content: @Composable (() -> Unit), onDismissRequest: () -> Unit, modifier: Modifier = Modifier, title: String? = null, painter: Painter? = null, - buttonsOrientation: ModalButtonsOrientation = ModalButtonsOrientation.HORIZONTAL, contentScrollState: ScrollState = rememberScrollState(), colors: ModalColors = VitaminModalColors.primary(), sizes: ModalSizes = VitaminModalSizes.medium(), - positiveButton: (@Composable VitaminModalButtons.() -> Unit)? = null, - negativeButton: (@Composable VitaminModalButtons.() -> Unit)? = null, - neutralButton: (@Composable VitaminModalButtons.() -> Unit)? = null, + button: (@Composable VitaminModalButtons.() -> Unit)? = null, ) = VitaminModalImpl( content = content, onDismissRequest = onDismissRequest, @@ -94,18 +173,11 @@ object VitaminModals { title = title, painter = painter, contentScrollState = contentScrollState, - positiveButton = positiveButton?.takeOrNull(), - negativeButton = negativeButton?.takeOrNull(), - neutralButton = neutralButton?.takeOrNull(), - buttonsOrientation = buttonsOrientation, + confirmationButton = button, + dismissButton = null, + thirdButton = null, + buttonsOrientation = ModalButtonsOrientation.HORIZONTAL, sizes = sizes, colors = colors ) } - -internal fun (@Composable VitaminModalButtons.() -> Unit)?.takeOrNull(): (@Composable () -> Unit)? { - if (this == null) return null - return { - VitaminModalButtons.this() - } -} diff --git a/modals/src/main/java/com/decathlon/vitamin/compose/modals/impl/Buttons.kt b/modals/src/main/java/com/decathlon/vitamin/compose/modals/impl/Buttons.kt deleted file mode 100644 index ab411f8d..00000000 --- a/modals/src/main/java/com/decathlon/vitamin/compose/modals/impl/Buttons.kt +++ /dev/null @@ -1,46 +0,0 @@ -package com.decathlon.vitamin.compose.modals.impl - -import androidx.compose.foundation.layout.Arrangement -import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.padding -import androidx.compose.runtime.Composable -import androidx.compose.ui.Alignment -import androidx.compose.ui.Modifier -import androidx.compose.ui.unit.Dp -import com.decathlon.vitamin.compose.modals.ModalButtonsOrientation - -@Composable -internal fun Buttons( - modifier: Modifier, - positiveButton: (@Composable () -> Unit)?, - negativeButton: (@Composable () -> Unit)?, - neutralButton: (@Composable () -> Unit)?, - buttonsOrientation: ModalButtonsOrientation, - topPadding: Dp -) { - if (buttonsOrientation == ModalButtonsOrientation.HORIZONTAL) { - Row( - modifier = modifier - .fillMaxWidth() - .padding(top = topPadding), - horizontalArrangement = Arrangement.SpaceBetween - ) { - neutralButton?.invoke() - negativeButton?.invoke() - positiveButton?.invoke() - } - } else { - Column( - modifier = modifier - .fillMaxWidth() - .padding(top = topPadding), - horizontalAlignment = Alignment.End - ) { - positiveButton?.invoke() - negativeButton?.invoke() - neutralButton?.invoke() - } - } -} diff --git a/modals/src/main/java/com/decathlon/vitamin/compose/modals/impl/ModalButtons.kt b/modals/src/main/java/com/decathlon/vitamin/compose/modals/impl/ModalButtons.kt new file mode 100644 index 00000000..6b24e543 --- /dev/null +++ b/modals/src/main/java/com/decathlon/vitamin/compose/modals/impl/ModalButtons.kt @@ -0,0 +1,82 @@ +package com.decathlon.vitamin.compose.modals.impl + +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.width +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.Dp +import com.decathlon.vitamin.compose.modals.ModalButtonsOrientation +import com.decathlon.vitamin.compose.modals.VitaminModalButtons + +@Composable +internal fun ModalButtons( + confirmationButton: (@Composable VitaminModalButtons.() -> Unit), + dismissButton: (@Composable VitaminModalButtons.() -> Unit)?, + thirdButton: (@Composable VitaminModalButtons.() -> Unit)?, + buttonsOrientation: ModalButtonsOrientation, + topPadding: Dp, + buttonsSpacer: Dp, + modifier: Modifier = Modifier, +) { + if (buttonsOrientation == ModalButtonsOrientation.HORIZONTAL) { + Row( + modifier = modifier + .fillMaxWidth() + .padding(top = topPadding), + horizontalArrangement = Arrangement.End + ) { + if (thirdButton != null) { + thirdButton.takeOrNull()?.invoke() + Spacer( + modifier = Modifier + .weight(weight = 1f) + ) + } + if (dismissButton != null) { + dismissButton.takeOrNull()?.invoke() + Spacer( + modifier = Modifier + .width(width = buttonsSpacer) + ) + } + confirmationButton.takeOrNull()?.invoke() + } + } else { + Column( + modifier = modifier + .fillMaxWidth() + .padding(top = topPadding), + horizontalAlignment = Alignment.End + ) { + confirmationButton.takeOrNull()?.invoke() + if (dismissButton != null) { + Spacer( + modifier = Modifier + .height(height = buttonsSpacer) + ) + dismissButton.takeOrNull()?.invoke() + } + if (thirdButton != null) { + Spacer( + modifier = Modifier + .height(height = buttonsSpacer) + ) + thirdButton.takeOrNull()?.invoke() + } + } + } +} + +private fun (@Composable VitaminModalButtons.() -> Unit)?.takeOrNull(): (@Composable () -> Unit)? { + if (this == null) return null + return { + VitaminModalButtons.this() + } +} diff --git a/modals/src/main/java/com/decathlon/vitamin/compose/modals/impl/VitaminModalImpl.kt b/modals/src/main/java/com/decathlon/vitamin/compose/modals/impl/VitaminModalImpl.kt index d62b0e27..dc62f319 100644 --- a/modals/src/main/java/com/decathlon/vitamin/compose/modals/impl/VitaminModalImpl.kt +++ b/modals/src/main/java/com/decathlon/vitamin/compose/modals/impl/VitaminModalImpl.kt @@ -1,12 +1,12 @@ package com.decathlon.vitamin.compose.modals.impl import androidx.compose.foundation.ScrollState -import androidx.compose.foundation.background import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.verticalScroll +import androidx.compose.material.Surface import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.painter.Painter @@ -14,6 +14,7 @@ import androidx.compose.ui.window.Dialog import com.decathlon.vitamin.compose.modals.ModalButtonsOrientation import com.decathlon.vitamin.compose.modals.ModalColors import com.decathlon.vitamin.compose.modals.ModalSizes +import com.decathlon.vitamin.compose.modals.VitaminModalButtons @Composable internal fun VitaminModalImpl( @@ -23,22 +24,22 @@ internal fun VitaminModalImpl( title: String?, painter: Painter?, contentScrollState: ScrollState, - positiveButton: (@Composable () -> Unit)?, - negativeButton: (@Composable () -> Unit)?, - neutralButton: (@Composable () -> Unit)?, + confirmationButton: (@Composable VitaminModalButtons.() -> Unit)?, + dismissButton: (@Composable VitaminModalButtons.() -> Unit)?, + thirdButton: (@Composable VitaminModalButtons.() -> Unit)?, buttonsOrientation: ModalButtonsOrientation, sizes: ModalSizes, colors: ModalColors -) { - Dialog( - onDismissRequest = onDismissRequest, - content = { +) = Dialog( + onDismissRequest = onDismissRequest, + content = { + Surface( + shape = sizes.cornerRadius, + color = colors.background + ) { Column( modifier = modifier .fillMaxWidth() - .background( - color = colors.background - ) .padding( horizontal = sizes.horizontalPadding, vertical = sizes.verticalPadding @@ -67,15 +68,18 @@ internal fun VitaminModalImpl( contentColor = colors.contentColor ) } - Buttons( - modifier = modifier, - positiveButton = positiveButton, - negativeButton = negativeButton, - neutralButton = neutralButton, - buttonsOrientation = buttonsOrientation, - topPadding = sizes.spacerSize - ) + if (confirmationButton != null) { + ModalButtons( + modifier = modifier, + confirmationButton = confirmationButton, + dismissButton = dismissButton, + thirdButton = thirdButton, + buttonsOrientation = buttonsOrientation, + topPadding = sizes.spacerSize, + buttonsSpacer = sizes.buttonsSpacer + ) + } } } - ) -} + } +) diff --git a/modals/src/test/kotlin/com/decathlon/vitamin/compose/modals/VitaminModalsPrimaryTest.kt b/modals/src/test/kotlin/com/decathlon/vitamin/compose/modals/VitaminModalsPrimaryTest.kt new file mode 100644 index 00000000..758e0e2e --- /dev/null +++ b/modals/src/test/kotlin/com/decathlon/vitamin/compose/modals/VitaminModalsPrimaryTest.kt @@ -0,0 +1,268 @@ +package com.decathlon.vitamin.compose.modals + +import androidx.compose.material.Text +import androidx.compose.ui.graphics.vector.rememberVectorPainter +import app.cash.paparazzi.Paparazzi +import com.decathlon.vitamin.compose.VitaminIcons +import com.decathlon.vitamin.compose.foundation.VitaminTheme +import com.decathlon.vitamin.compose.modals.utils.DataFactory +import com.decathlon.vitamin.compose.modals.utils.Theme +import com.decathlon.vitamin.compose.vitaminicons.Line +import com.decathlon.vitamin.compose.vitaminicons.line.MapPin +import com.google.testing.junit.testparameterinjector.TestParameter +import com.google.testing.junit.testparameterinjector.TestParameterInjector +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith + +@RunWith(TestParameterInjector::class) +class VitaminModalsPrimaryTest { + + @get:Rule + val paparazzi = Paparazzi() + + @Test + fun primaryWithoutButton( + @TestParameter theme: Theme + ) { + paparazzi.snapshot { + VitaminTheme(theme == Theme.Dark) { + VitaminModals.Primary( + onDismissRequest = {}, + painter = rememberVectorPainter(image = VitaminIcons.Line.MapPin), + title = DataFactory.title, + content = { + Text( + text = DataFactory.message + ) + }, + ) + } + } + } + + @Test + fun primaryWithScroll( + @TestParameter theme: Theme + ) { + paparazzi.snapshot { + VitaminTheme(theme == Theme.Dark) { + VitaminModals.Primary( + onDismissRequest = {}, + painter = rememberVectorPainter(image = VitaminIcons.Line.MapPin), + title = DataFactory.title, + content = { + Text( + text = DataFactory.longAnnotatedMessage + ) + }, + ) + } + } + } + + @Test + fun primaryWithOneButton( + @TestParameter theme: Theme + ) { + paparazzi.snapshot { + VitaminTheme(theme == Theme.Dark) { + VitaminModals.Primary( + onDismissRequest = {}, + painter = rememberVectorPainter(image = VitaminIcons.Line.MapPin), + title = DataFactory.title, + content = { + Text( + text = DataFactory.message + ) + }, + button = { + VitaminModalButtons.Primary( + text = "Got it", + onClick = {}, + ) + }, + ) + } + } + } + + @Test + fun primaryWithDisabledButton( + @TestParameter theme: Theme + ) { + paparazzi.snapshot { + VitaminTheme(theme == Theme.Dark) { + VitaminModals.Primary( + onDismissRequest = {}, + painter = rememberVectorPainter(image = VitaminIcons.Line.MapPin), + title = DataFactory.title, + content = { + Text( + text = DataFactory.message + ) + }, + button = { + VitaminModalButtons.Primary( + text = "Got it", + onClick = {}, + enabled = false, + ) + }, + ) + } + } + } + + @Test + fun primaryWithTwoHorizontalButtons( + @TestParameter theme: Theme + ) { + paparazzi.snapshot { + VitaminTheme(theme == Theme.Dark) { + VitaminModals.Primary( + onDismissRequest = {}, + painter = rememberVectorPainter(image = VitaminIcons.Line.MapPin), + title = DataFactory.title, + content = { + Text( + text = DataFactory.message + ) + }, + confirmationButton = { + VitaminModalButtons.Primary( + text = "Confirm", + onClick = {}, + enabled = true, + ) + }, + dismissButton = { + VitaminModalButtons.Primary( + text = "Dismiss", + onClick = {}, + enabled = true, + ) + } + ) + } + } + } + + @Test + fun primaryWithTwoVerticalButtons( + @TestParameter theme: Theme + ) { + paparazzi.snapshot { + VitaminTheme(theme == Theme.Dark) { + VitaminModals.Primary( + onDismissRequest = {}, + painter = rememberVectorPainter(image = VitaminIcons.Line.MapPin), + title = DataFactory.title, + content = { + Text( + text = DataFactory.message + ) + }, + buttonsOrientation = ModalButtonsOrientation.VERTICAL, + confirmationButton = { + VitaminModalButtons.Primary( + text = "Confirm", + onClick = {}, + enabled = true, + ) + }, + dismissButton = { + VitaminModalButtons.Primary( + text = "Dismiss", + onClick = {}, + enabled = true, + ) + } + ) + } + } + } + + @Test + fun primaryWithThreeHorizontalButtons( + @TestParameter theme: Theme + ) { + paparazzi.snapshot { + VitaminTheme(theme == Theme.Dark) { + VitaminModals.Primary( + onDismissRequest = {}, + painter = rememberVectorPainter(image = VitaminIcons.Line.MapPin), + title = DataFactory.title, + content = { + Text( + text = DataFactory.message + ) + }, + confirmationButton = { + VitaminModalButtons.Primary( + text = "Confirm", + onClick = {}, + enabled = true, + ) + }, + dismissButton = { + VitaminModalButtons.Primary( + text = "Dismiss", + onClick = {}, + enabled = true, + ) + }, + thirdButton = { + VitaminModalButtons.Primary( + text = "Third", + onClick = {}, + enabled = true, + ) + } + ) + } + } + } + + @Test + fun primaryWithThreeVerticalButtons( + @TestParameter theme: Theme + ) { + paparazzi.snapshot { + VitaminTheme(theme == Theme.Dark) { + VitaminModals.Primary( + onDismissRequest = {}, + painter = rememberVectorPainter(image = VitaminIcons.Line.MapPin), + title = DataFactory.title, + content = { + Text( + text = DataFactory.message + ) + }, + buttonsOrientation = ModalButtonsOrientation.VERTICAL, + confirmationButton = { + VitaminModalButtons.Primary( + text = "Confirm", + onClick = {}, + enabled = true, + ) + }, + dismissButton = { + VitaminModalButtons.Primary( + text = "Dismiss", + onClick = {}, + enabled = true, + ) + }, + thirdButton = { + VitaminModalButtons.Primary( + text = "Third", + onClick = {}, + enabled = true, + ) + } + ) + } + } + } +} diff --git a/modals/src/test/kotlin/com/decathlon/vitamin/compose/modals/utils/DataFactory.kt b/modals/src/test/kotlin/com/decathlon/vitamin/compose/modals/utils/DataFactory.kt new file mode 100644 index 00000000..75724956 --- /dev/null +++ b/modals/src/test/kotlin/com/decathlon/vitamin/compose/modals/utils/DataFactory.kt @@ -0,0 +1,39 @@ +package com.decathlon.vitamin.compose.modals.utils + +import androidx.compose.ui.text.AnnotatedString +import androidx.compose.ui.text.SpanStyle +import androidx.compose.ui.text.buildAnnotatedString +import androidx.compose.ui.text.font.FontStyle +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.withStyle + +object DataFactory { + + internal const val title: String = "Subtitle" + internal const val message: String = "Lorem ipsum dolor sit amet, consectetur adipiscing " + + "elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut " + + "enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip " + + "ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate " + + "velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat " + + "cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id " + + "est laborum." + internal val longAnnotatedMessage: AnnotatedString = buildAnnotatedString { + append("$message\n\n") + withStyle( + style = SpanStyle(fontStyle = FontStyle.Italic) + ) { + append("$message\n\n") + } + withStyle( + style = SpanStyle(fontWeight = FontWeight.Bold) + ) { + append("$message\n\n") + } + append("$message\n\n") + withStyle( + style = SpanStyle(fontStyle = FontStyle.Italic) + ) { + append(message) + } + } +} diff --git a/modals/src/test/kotlin/com/decathlon/vitamin/compose/modals/utils/Theme.kt b/modals/src/test/kotlin/com/decathlon/vitamin/compose/modals/utils/Theme.kt new file mode 100644 index 00000000..5d1d88b8 --- /dev/null +++ b/modals/src/test/kotlin/com/decathlon/vitamin/compose/modals/utils/Theme.kt @@ -0,0 +1,3 @@ +package com.decathlon.vitamin.compose.modals.utils + +enum class Theme { Light, Dark } diff --git a/modals/src/test/snapshots/images/com.decathlon.vitamin.compose.modals_VitaminModalsPrimaryTest_primaryWithDisabledButton[Dark].png b/modals/src/test/snapshots/images/com.decathlon.vitamin.compose.modals_VitaminModalsPrimaryTest_primaryWithDisabledButton[Dark].png new file mode 100644 index 0000000000000000000000000000000000000000..e1281576fb4f84212473c98ded6e92dc4eec135f GIT binary patch literal 66638 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 R4RHUU8~P^KO0PIP{vQXg6_)@2 literal 0 HcmV?d00001 diff --git a/modals/src/test/snapshots/images/com.decathlon.vitamin.compose.modals_VitaminModalsPrimaryTest_primaryWithDisabledButton[Light].png b/modals/src/test/snapshots/images/com.decathlon.vitamin.compose.modals_VitaminModalsPrimaryTest_primaryWithDisabledButton[Light].png new file mode 100644 index 0000000000000000000000000000000000000000..0ebc9550fa721e25d74e07a4d26b9e16dc873555 GIT binary patch literal 66540 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