From 430d5b609e624ecd124d698541dbd82f9cce3da1 Mon Sep 17 00:00:00 2001 From: Bruno Deanoz Date: Tue, 23 Jun 2026 14:31:04 +0200 Subject: [PATCH] =?UTF-8?q?style:=20flat=20sidebar=20user=20row=20?= =?UTF-8?q?=E2=80=94=20remove=20heavy=20card=20background?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit No more card background, border, shadow on user profile. Just a flat row with thin separator line above, avatar 34dp, subtle icon buttons. --- .../main/java/dev/kaizen/app/chat/Sidebar.kt | 42 +++++++------------ 1 file changed, 15 insertions(+), 27 deletions(-) diff --git a/app/src/main/java/dev/kaizen/app/chat/Sidebar.kt b/app/src/main/java/dev/kaizen/app/chat/Sidebar.kt index 180e930..66a4d42 100644 --- a/app/src/main/java/dev/kaizen/app/chat/Sidebar.kt +++ b/app/src/main/java/dev/kaizen/app/chat/Sidebar.kt @@ -273,31 +273,21 @@ fun KaizenSidebar( } } - Spacer(Modifier.height(12.dp)) - - // ── User card ── - val cardBorder = remember(isDark) { - if (isDark) Brush.verticalGradient( - listOf(Color.White.copy(alpha = 0.12f), Color.White.copy(alpha = 0.03f)) - ) else Brush.verticalGradient( - listOf(Color.White.copy(alpha = 0.50f), Color.Black.copy(alpha = 0.04f)) - ) - } + // ── User row (flat, no card) ── + Box( + Modifier.fillMaxWidth().height(0.5.dp).padding(horizontal = 12.dp) + .background(cs.onSurfaceVariant.copy(alpha = 0.08f)) + ) Row( modifier = Modifier .fillMaxWidth() - .clip(KaizenShapes.lg) - .kaizenShadow(stack = KaizenShadows.level1, cornerRadius = 20.dp) - .background(if (isDark) Color(0x14FFFFFF) else Color(0x0A000000)) - .border(0.8.dp, cardBorder, KaizenShapes.lg) - .innerTopHighlight() .clickable { onOpenSettings() } - .padding(horizontal = 14.dp, vertical = 12.dp), + .padding(horizontal = 16.dp, vertical = 14.dp), verticalAlignment = Alignment.CenterVertically ) { Box( modifier = Modifier - .size(38.dp) + .size(34.dp) .clip(KaizenShapes.circle) .background( Brush.radialGradient( @@ -308,45 +298,43 @@ fun KaizenSidebar( ) { Text( userName.firstOrNull()?.toString()?.uppercase() ?: "A", - color = Color.White, fontSize = 15.sp, fontWeight = FontWeight.W600 + color = Color.White, fontSize = 14.sp, fontWeight = FontWeight.W600 ) } - Spacer(Modifier.width(12.dp)) + Spacer(Modifier.width(10.dp)) Text( userName, color = cs.onBackground, - fontSize = 15.sp, + fontSize = 14.sp, fontWeight = FontWeight.W400, modifier = Modifier.weight(1f), ) Box( modifier = Modifier - .size(32.dp) + .size(30.dp) .clip(KaizenShapes.circle) - .background(if (isDark) Color.White.copy(alpha = 0.06f) else Color.Black.copy(alpha = 0.04f)) .clickable { onOpenSettings() }, contentAlignment = Alignment.Center, ) { Icon( KaizenIcons.Settings, stringResource(R.string.sidebar_settings), - tint = cs.onSurfaceVariant.copy(alpha = 0.55f), + tint = cs.onSurfaceVariant.copy(alpha = 0.45f), modifier = Modifier.size(16.dp), ) } - Spacer(Modifier.width(6.dp)) + Spacer(Modifier.width(4.dp)) Box( modifier = Modifier - .size(32.dp) + .size(30.dp) .clip(KaizenShapes.circle) - .background(if (isDark) Color.White.copy(alpha = 0.06f) else Color.Black.copy(alpha = 0.04f)) .clickable { onLogout() }, contentAlignment = Alignment.Center, ) { Icon( KaizenIcons.LogOut, stringResource(R.string.sidebar_logout), - tint = cs.onSurfaceVariant.copy(alpha = 0.55f), + tint = cs.onSurfaceVariant.copy(alpha = 0.45f), modifier = Modifier.size(16.dp), ) }