Use color from Semantics.

This commit is contained in:
Benoit Marty 2025-07-07 16:28:33 +02:00
parent 0bf2fd6acf
commit 8951744aba

View file

@ -18,7 +18,6 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip import androidx.compose.ui.draw.clip
import androidx.compose.ui.draw.drawWithCache import androidx.compose.ui.draw.drawWithCache
import androidx.compose.ui.geometry.Offset import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.LinearGradientShader import androidx.compose.ui.graphics.LinearGradientShader
import androidx.compose.ui.graphics.ShaderBrush import androidx.compose.ui.graphics.ShaderBrush
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
@ -62,13 +61,7 @@ internal fun SendButton(
modifier = Modifier modifier = Modifier
.clip(CircleShape) .clip(CircleShape)
.size(36.dp) .size(36.dp)
.then( .buttonBackgroundModifier(canSendMessage)
if (canSendMessage) {
buttonBackgroundModifier()
} else {
Modifier
}
)
) { ) {
Icon( Icon(
modifier = Modifier modifier = Modifier
@ -91,19 +84,23 @@ internal fun SendButton(
} }
} }
private fun buttonBackgroundModifier() = Modifier.drawWithCache { @Composable
// We have a square button, so height == width. private fun Modifier.buttonBackgroundModifier(
val height = size.height canSendMessage: Boolean,
) = then(
if (canSendMessage) {
val colors = listOf(
ElementTheme.colors.gradientActionStop1,
ElementTheme.colors.gradientActionStop2,
ElementTheme.colors.gradientActionStop3,
ElementTheme.colors.gradientActionStop4,
)
Modifier.drawWithCache {
val verticalGradientBrush = ShaderBrush( val verticalGradientBrush = ShaderBrush(
LinearGradientShader( LinearGradientShader(
from = Offset(0f, 0f), from = Offset(0f, 0f),
to = Offset(0f, height), to = Offset(0f, size.height),
colors = listOf( colors = colors,
Color(0xFF79DD98),
Color(0xFF0DBD8B),
Color(0xFF128585),
Color(0xFF24446B),
)
) )
) )
onDrawBehind { onDrawBehind {
@ -112,6 +109,10 @@ private fun buttonBackgroundModifier() = Modifier.drawWithCache {
) )
} }
} }
} else {
Modifier
}
)
@PreviewsDayNight @PreviewsDayNight
@Composable @Composable