diff --git a/app/src/main/java/com/getcode/models/BillState.kt b/app/src/main/java/com/getcode/models/BillState.kt index d3ca32229..75e7c509e 100644 --- a/app/src/main/java/com/getcode/models/BillState.kt +++ b/app/src/main/java/com/getcode/models/BillState.kt @@ -47,7 +47,7 @@ data class BillState( sealed interface Action { - val label: String + val label: String? @Composable get val asset: Painter @Composable get @@ -63,7 +63,7 @@ data class BillState( data class Share(override val action: () -> Unit): Action { override val label: String - @Composable get() = stringResource(R.string.action_share) + @Composable get() = stringResource(R.string.action_shareAsURL) override val asset: Painter @Composable get() = painterResource(id = R.drawable.ic_remote_send) diff --git a/app/src/main/java/com/getcode/ui/components/Pill.kt b/app/src/main/java/com/getcode/ui/components/Pill.kt index 897cebb44..7842cf6c8 100644 --- a/app/src/main/java/com/getcode/ui/components/Pill.kt +++ b/app/src/main/java/com/getcode/ui/components/Pill.kt @@ -51,7 +51,7 @@ fun Pill( fun Pill( modifier: Modifier = Modifier, backgroundColor: Color = Black50, - contentColor: Color = Color.White, + contentColor: Color = CodeTheme.colors.onAction, shape: CornerBasedShape = CircleShape, contentPadding: PaddingValues = PaddingValues( horizontal = CodeTheme.dimens.grid.x2, diff --git a/app/src/main/java/com/getcode/view/main/home/HomeViewModel.kt b/app/src/main/java/com/getcode/view/main/home/HomeViewModel.kt index fbadad2aa..e767a9713 100644 --- a/app/src/main/java/com/getcode/view/main/home/HomeViewModel.kt +++ b/app/src/main/java/com/getcode/view/main/home/HomeViewModel.kt @@ -748,7 +748,7 @@ class HomeViewModel @Inject constructor( val billState = it.billState.copy( bill = Bill.Tip(code), primaryAction = BillState.Action.Share { onRemoteSend() }, - secondaryAction = BillState.Action.Done(::cancelSend) + secondaryAction = BillState.Action.Cancel(::cancelSend) ) it.copy( diff --git a/app/src/main/java/com/getcode/view/main/home/components/BillManagementOptions.kt b/app/src/main/java/com/getcode/view/main/home/components/BillManagementOptions.kt index e28b133fd..6ff73b582 100644 --- a/app/src/main/java/com/getcode/view/main/home/components/BillManagementOptions.kt +++ b/app/src/main/java/com/getcode/view/main/home/components/BillManagementOptions.kt @@ -21,6 +21,7 @@ import com.getcode.theme.Gray50 import com.getcode.theme.White import com.getcode.ui.components.CodeCircularProgressIndicator import com.getcode.ui.components.Pill +import com.getcode.ui.utils.addIf import com.getcode.ui.utils.rememberedClickable @Composable @@ -45,10 +46,9 @@ internal fun BillManagementOptions( if (primaryAction != null) { Pill( modifier = Modifier - .rememberedClickable(enabled = !isSending) { primaryAction.action() } - .padding(vertical = 15.dp, horizontal = 20.dp), - contentPadding = PaddingValues(), - backgroundColor = Gray50, + .rememberedClickable(enabled = !isSending) { primaryAction.action() }, + contentPadding = PaddingValues(15.dp), + backgroundColor = CodeTheme.colors.action, ) { Box { Row( @@ -59,10 +59,12 @@ internal fun BillManagementOptions( contentDescription = "", modifier = Modifier.width(22.dp) ) - Text( - modifier = Modifier.padding(start = 10.dp), - text = primaryAction.label - ) + primaryAction.label?.let { label -> + Text( + modifier = Modifier.padding(start = 10.dp), + text = label + ) + } } if (isSending) { @@ -80,20 +82,21 @@ internal fun BillManagementOptions( if (secondaryAction != null) { Pill( modifier = Modifier - .rememberedClickable(enabled = isInteractable) { secondaryAction.action() } - .padding(vertical = 15.dp, horizontal = 20.dp), - contentPadding = PaddingValues(), - backgroundColor = Gray50, + .rememberedClickable(enabled = isInteractable) { secondaryAction.action() }, + contentPadding = PaddingValues(15.dp), + backgroundColor = CodeTheme.colors.action, ) { Image( painter = secondaryAction.asset, contentDescription = "", modifier = Modifier.size(18.dp) ) - Text( - modifier = Modifier.padding(start = 10.dp), - text = secondaryAction.label - ) + secondaryAction.label?.let { label -> + Text( + modifier = Modifier.padding(start = 10.dp), + text = label + ) + } } } } diff --git a/common/theme/src/main/kotlin/com/getcode/theme/Color.kt b/common/theme/src/main/kotlin/com/getcode/theme/Color.kt index 1879d653b..951c78b8e 100644 --- a/common/theme/src/main/kotlin/com/getcode/theme/Color.kt +++ b/common/theme/src/main/kotlin/com/getcode/theme/Color.kt @@ -8,7 +8,7 @@ val BrandLight = Color(0xFF7379A0) val BrandSubtle = Color(0xFF565C86) val BrandMuted = Color(0xFF45464E) val BrandDark = Color(0xFF1F1A34) -val BrandOverlay = Color(0xBF1E1E1E) +val BrandAction = Color(0xFF212121) val Brand01 = Color(0xFF130F27) val White = Color(0xffffffff) diff --git a/common/theme/src/main/kotlin/com/getcode/theme/Theme.kt b/common/theme/src/main/kotlin/com/getcode/theme/Theme.kt index 71aa9583e..cabc2784f 100644 --- a/common/theme/src/main/kotlin/com/getcode/theme/Theme.kt +++ b/common/theme/src/main/kotlin/com/getcode/theme/Theme.kt @@ -23,6 +23,8 @@ private val DarkColorPalette = CodeColors( brandLight = BrandLight, brandSubtle = BrandSubtle, brandMuted = BrandMuted, + action = Gray50, + onAction = White, background = Brand, onBackground = White, surface = Brand, @@ -82,6 +84,8 @@ class CodeColors( brandLight: Color, brandSubtle: Color, brandMuted: Color, + action: Color, + onAction: Color, background: Color, onBackground: Color, surface: Color, @@ -99,6 +103,10 @@ class CodeColors( private set var brandMuted by mutableStateOf(brandMuted) private set + var action by mutableStateOf(action) + private set + var onAction by mutableStateOf(onAction) + private set var background by mutableStateOf(background) private set var onBackground by mutableStateOf(onBackground) @@ -121,6 +129,7 @@ class CodeColors( brandLight = other.brandLight brandSubtle = other.brandSubtle brandMuted = other.brandMuted + action = other.action background = other.background onBackground = other.onBackground surface = other.surface @@ -136,6 +145,8 @@ class CodeColors( brandLight = brandLight, brandSubtle = brandSubtle, brandMuted = brandMuted, + action = action, + onAction = onAction, background = background, onBackground = onBackground, surface = surface,