From 175e1029adc27b73a249d740afcca00fe7634c7f Mon Sep 17 00:00:00 2001 From: Andrew Date: Thu, 20 Jun 2024 11:56:37 +0930 Subject: [PATCH] Add disabled state to fill buttons --- .../securesms/ui/components/ButtonType.kt | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/ui/components/ButtonType.kt b/app/src/main/java/org/thoughtcrime/securesms/ui/components/ButtonType.kt index 9d7c36d68a..03c66a020a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ui/components/ButtonType.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/ui/components/ButtonType.kt @@ -10,6 +10,11 @@ import androidx.compose.ui.unit.dp import org.thoughtcrime.securesms.ui.LocalDimensions import org.thoughtcrime.securesms.ui.color.LocalColors +private val disabledBorder @Composable get() = BorderStroke( + width = LocalDimensions.current.borderStroke, + color = LocalColors.current.disabled +) + interface ButtonType { val contentPadding: PaddingValues get() = ButtonDefaults.ContentPadding @@ -20,11 +25,10 @@ interface ButtonType { class Outline(private val color: Color): ButtonType { @Composable - override fun border(enabled: Boolean) = - BorderStroke( - width = LocalDimensions.current.borderStroke, - color = if (enabled) color else LocalColors.current.disabled - ) + override fun border(enabled: Boolean) = BorderStroke( + width = LocalDimensions.current.borderStroke, + color = if (enabled) color else LocalColors.current.disabled + ) @Composable override fun buttonColors() = ButtonDefaults.buttonColors( contentColor = color, @@ -36,7 +40,7 @@ interface ButtonType { object Fill: ButtonType { @Composable - override fun border(enabled: Boolean) = null + override fun border(enabled: Boolean) = if (enabled) null else disabledBorder @Composable override fun buttonColors() = ButtonDefaults.buttonColors( contentColor = LocalColors.current.background, @@ -48,7 +52,7 @@ interface ButtonType { object PrimaryFill: ButtonType { @Composable - override fun border(enabled: Boolean) = null + override fun border(enabled: Boolean) = if (enabled) null else disabledBorder @Composable override fun buttonColors() = ButtonDefaults.buttonColors( contentColor = LocalColors.current.primaryButtonFillText,