fix: mode pills more visible, action buttons larger, revert Brain icon
Pills: higher background alpha, stronger borders, removed muted text opacity, bigger padding (14x8dp), icon 16dp, text 13sp W400/W500. Action buttons: Plus/Mic/Call/Send/Stop 38dp→42dp, icons 19→22dp. Brain icon reverted to Lucide — custom version too complex at 16dp.
This commit is contained in:
parent
3c6a8911c4
commit
95672d3124
2 changed files with 24 additions and 24 deletions
|
|
@ -323,22 +323,22 @@ private fun ModePill(
|
|||
val accent = LocalKaizenAccent.current
|
||||
|
||||
val bg = when {
|
||||
active -> accent.primary.copy(alpha = if (isDark) 0.20f else 0.12f)
|
||||
else -> if (isDark) Color.White.copy(alpha = 0.10f) else Color.Black.copy(alpha = 0.07f)
|
||||
active -> accent.primary.copy(alpha = if (isDark) 0.24f else 0.14f)
|
||||
else -> if (isDark) Color.White.copy(alpha = 0.14f) else Color.Black.copy(alpha = 0.09f)
|
||||
}
|
||||
val borderBrush = if (active) {
|
||||
Brush.verticalGradient(listOf(
|
||||
accent.primary.copy(alpha = if (isDark) 0.40f else 0.30f),
|
||||
accent.primary.copy(alpha = if (isDark) 0.12f else 0.08f),
|
||||
accent.primary.copy(alpha = if (isDark) 0.45f else 0.35f),
|
||||
accent.primary.copy(alpha = if (isDark) 0.15f else 0.10f),
|
||||
))
|
||||
} else {
|
||||
Brush.verticalGradient(listOf(
|
||||
if (isDark) Color.White.copy(alpha = 0.14f) else Color.Black.copy(alpha = 0.10f),
|
||||
if (isDark) Color.White.copy(alpha = 0.05f) else Color.Black.copy(alpha = 0.04f),
|
||||
if (isDark) Color.White.copy(alpha = 0.18f) else Color.Black.copy(alpha = 0.12f),
|
||||
if (isDark) Color.White.copy(alpha = 0.06f) else Color.Black.copy(alpha = 0.05f),
|
||||
))
|
||||
}
|
||||
val iconTint = if (active) accent.primary else cs.onSurfaceVariant.copy(alpha = 0.75f)
|
||||
val textColor = if (active) cs.onBackground else cs.onSurfaceVariant.copy(alpha = 0.80f)
|
||||
val iconTint = if (active) accent.primary else cs.onSurfaceVariant
|
||||
val textColor = if (active) cs.onBackground else cs.onSurfaceVariant
|
||||
|
||||
Row(
|
||||
Modifier
|
||||
|
|
@ -346,15 +346,15 @@ private fun ModePill(
|
|||
.background(bg)
|
||||
.border(0.8.dp, borderBrush, KaizenShapes.pill)
|
||||
.clickable(onClick = onClick)
|
||||
.padding(horizontal = 12.dp, vertical = 7.dp),
|
||||
.padding(horizontal = 14.dp, vertical = 8.dp),
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
) {
|
||||
Icon(icon, null, tint = iconTint, modifier = Modifier.size(15.dp))
|
||||
Spacer(Modifier.width(5.dp))
|
||||
Text(label, color = textColor, fontSize = 12.5.sp, fontWeight = if (active) FontWeight.SemiBold else FontWeight.Medium)
|
||||
Icon(icon, null, tint = iconTint, modifier = Modifier.size(16.dp))
|
||||
Spacer(Modifier.width(6.dp))
|
||||
Text(label, color = textColor, fontSize = 13.sp, fontWeight = if (active) FontWeight.W500 else FontWeight.W400)
|
||||
if (showChevron) {
|
||||
Spacer(Modifier.width(3.dp))
|
||||
Icon(KaizenIcons.ChevronDown, null, tint = cs.onSurfaceVariant.copy(alpha = 0.35f), modifier = Modifier.size(13.dp))
|
||||
Spacer(Modifier.width(4.dp))
|
||||
Icon(KaizenIcons.ChevronDown, null, tint = cs.onSurfaceVariant.copy(alpha = 0.50f), modifier = Modifier.size(14.dp))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -798,17 +798,17 @@ fun ChatInput(
|
|||
|
||||
Row(verticalAlignment = Alignment.CenterVertically) {
|
||||
Box(
|
||||
Modifier.size(38.dp).clip(KaizenShapes.circle).background(iconBg).clickable(onClick = onAddClick),
|
||||
Modifier.size(42.dp).clip(KaizenShapes.circle).background(iconBg).clickable(onClick = onAddClick),
|
||||
contentAlignment = Alignment.Center,
|
||||
) {
|
||||
Icon(KaizenIcons.Plus, stringResource(R.string.chat_attachment), tint = cs.onSurfaceVariant, modifier = Modifier.size(19.dp))
|
||||
Icon(KaizenIcons.Plus, stringResource(R.string.chat_attachment), tint = cs.onSurfaceVariant, modifier = Modifier.size(22.dp))
|
||||
}
|
||||
Spacer(Modifier.width(8.dp))
|
||||
Box(
|
||||
Modifier.size(38.dp).clip(KaizenShapes.circle).background(iconBg).clickable(onClick = onMicClick),
|
||||
Modifier.size(42.dp).clip(KaizenShapes.circle).background(iconBg).clickable(onClick = onMicClick),
|
||||
contentAlignment = Alignment.Center,
|
||||
) {
|
||||
Icon(KaizenIcons.Mic, stringResource(R.string.chat_attachment), tint = cs.onSurfaceVariant, modifier = Modifier.size(19.dp))
|
||||
Icon(KaizenIcons.Mic, stringResource(R.string.chat_attachment), tint = cs.onSurfaceVariant, modifier = Modifier.size(22.dp))
|
||||
}
|
||||
|
||||
Spacer(Modifier.weight(1f))
|
||||
|
|
@ -891,7 +891,7 @@ private fun SendButton(enabled: Boolean, onClick: () -> Unit) {
|
|||
}
|
||||
|
||||
Box(
|
||||
Modifier.size(38.dp).scale(pressScale).clip(KaizenShapes.circle).then(fill)
|
||||
Modifier.size(42.dp).scale(pressScale).clip(KaizenShapes.circle).then(fill)
|
||||
.clickable(interactionSource = interaction, indication = null, enabled = enabled, onClick = onClick),
|
||||
contentAlignment = Alignment.Center,
|
||||
) {
|
||||
|
|
@ -910,7 +910,7 @@ private fun CallButton(onClick: () -> Unit) {
|
|||
|
||||
Box(
|
||||
Modifier
|
||||
.size(38.dp)
|
||||
.size(42.dp)
|
||||
.scale(pressScale)
|
||||
.clip(KaizenShapes.circle)
|
||||
.background(
|
||||
|
|
@ -924,7 +924,7 @@ private fun CallButton(onClick: () -> Unit) {
|
|||
.clickable(interactionSource = interaction, indication = null, onClick = onClick),
|
||||
contentAlignment = Alignment.Center,
|
||||
) {
|
||||
Icon(KaizenIcons.AudioLines, null, tint = accent.primary, modifier = Modifier.size(19.dp))
|
||||
Icon(KaizenIcons.AudioLines, null, tint = accent.primary, modifier = Modifier.size(22.dp))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -937,14 +937,14 @@ private fun StopButton(onClick: () -> Unit) {
|
|||
|
||||
Box(
|
||||
Modifier
|
||||
.size(38.dp)
|
||||
.size(42.dp)
|
||||
.scale(pressScale)
|
||||
.clip(KaizenShapes.circle)
|
||||
.background(KaizenSemanticColors.error.copy(alpha = if (isDark) 0.85f else 0.80f))
|
||||
.clickable(interactionSource = interaction, indication = null, onClick = onClick),
|
||||
contentAlignment = Alignment.Center,
|
||||
) {
|
||||
Icon(KaizenIcons.Square, stringResource(R.string.chat_stop), tint = Color.White, modifier = Modifier.size(16.dp))
|
||||
Icon(KaizenIcons.Square, stringResource(R.string.chat_stop), tint = Color.White, modifier = Modifier.size(18.dp))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ object KaizenIcons {
|
|||
val Zap: ImageVector get() = Lucide.Zap
|
||||
|
||||
// ── Modes ───────────────────────────────────────────────────────────────
|
||||
val Brain: ImageVector get() = KaizenCustomIcons.Brain
|
||||
val Brain: ImageVector get() = Lucide.Brain
|
||||
val CircleDot: ImageVector get() = Lucide.CircleDot
|
||||
val Globe: ImageVector get() = KaizenCustomIcons.Globe
|
||||
val Image: ImageVector get() = KaizenCustomIcons.ImageIcon
|
||||
|
|
|
|||
Loading…
Reference in a new issue