diff --git a/app/src/main/java/dev/kaizen/app/chat/ChatComponents.kt b/app/src/main/java/dev/kaizen/app/chat/ChatComponents.kt index 82f6dcb..c91c201 100644 --- a/app/src/main/java/dev/kaizen/app/chat/ChatComponents.kt +++ b/app/src/main/java/dev/kaizen/app/chat/ChatComponents.kt @@ -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)) } } diff --git a/app/src/main/java/dev/kaizen/app/ui/icon/KaizenIcons.kt b/app/src/main/java/dev/kaizen/app/ui/icon/KaizenIcons.kt index c00d159..fe96f6a 100644 --- a/app/src/main/java/dev/kaizen/app/ui/icon/KaizenIcons.kt +++ b/app/src/main/java/dev/kaizen/app/ui/icon/KaizenIcons.kt @@ -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