mirror of
https://github.com/oxen-io/session-android.git
synced 2025-04-30 08:00:46 +00:00
Add disabled state to fill buttons
This commit is contained in:
parent
acbe4de25a
commit
175e1029ad
@ -10,6 +10,11 @@ import androidx.compose.ui.unit.dp
|
|||||||
import org.thoughtcrime.securesms.ui.LocalDimensions
|
import org.thoughtcrime.securesms.ui.LocalDimensions
|
||||||
import org.thoughtcrime.securesms.ui.color.LocalColors
|
import org.thoughtcrime.securesms.ui.color.LocalColors
|
||||||
|
|
||||||
|
private val disabledBorder @Composable get() = BorderStroke(
|
||||||
|
width = LocalDimensions.current.borderStroke,
|
||||||
|
color = LocalColors.current.disabled
|
||||||
|
)
|
||||||
|
|
||||||
interface ButtonType {
|
interface ButtonType {
|
||||||
val contentPadding: PaddingValues get() = ButtonDefaults.ContentPadding
|
val contentPadding: PaddingValues get() = ButtonDefaults.ContentPadding
|
||||||
|
|
||||||
@ -20,11 +25,10 @@ interface ButtonType {
|
|||||||
|
|
||||||
class Outline(private val color: Color): ButtonType {
|
class Outline(private val color: Color): ButtonType {
|
||||||
@Composable
|
@Composable
|
||||||
override fun border(enabled: Boolean) =
|
override fun border(enabled: Boolean) = BorderStroke(
|
||||||
BorderStroke(
|
width = LocalDimensions.current.borderStroke,
|
||||||
width = LocalDimensions.current.borderStroke,
|
color = if (enabled) color else LocalColors.current.disabled
|
||||||
color = if (enabled) color else LocalColors.current.disabled
|
)
|
||||||
)
|
|
||||||
@Composable
|
@Composable
|
||||||
override fun buttonColors() = ButtonDefaults.buttonColors(
|
override fun buttonColors() = ButtonDefaults.buttonColors(
|
||||||
contentColor = color,
|
contentColor = color,
|
||||||
@ -36,7 +40,7 @@ interface ButtonType {
|
|||||||
|
|
||||||
object Fill: ButtonType {
|
object Fill: ButtonType {
|
||||||
@Composable
|
@Composable
|
||||||
override fun border(enabled: Boolean) = null
|
override fun border(enabled: Boolean) = if (enabled) null else disabledBorder
|
||||||
@Composable
|
@Composable
|
||||||
override fun buttonColors() = ButtonDefaults.buttonColors(
|
override fun buttonColors() = ButtonDefaults.buttonColors(
|
||||||
contentColor = LocalColors.current.background,
|
contentColor = LocalColors.current.background,
|
||||||
@ -48,7 +52,7 @@ interface ButtonType {
|
|||||||
|
|
||||||
object PrimaryFill: ButtonType {
|
object PrimaryFill: ButtonType {
|
||||||
@Composable
|
@Composable
|
||||||
override fun border(enabled: Boolean) = null
|
override fun border(enabled: Boolean) = if (enabled) null else disabledBorder
|
||||||
@Composable
|
@Composable
|
||||||
override fun buttonColors() = ButtonDefaults.buttonColors(
|
override fun buttonColors() = ButtonDefaults.buttonColors(
|
||||||
contentColor = LocalColors.current.primaryButtonFillText,
|
contentColor = LocalColors.current.primaryButtonFillText,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user