style: flat sidebar user row — remove heavy card background

No more card background, border, shadow on user profile. Just a flat
row with thin separator line above, avatar 34dp, subtle icon buttons.
This commit is contained in:
Bruno Deanoz 2026-06-23 14:31:04 +02:00
parent ecb89019dc
commit 430d5b609e

View file

@ -273,31 +273,21 @@ fun KaizenSidebar(
} }
} }
Spacer(Modifier.height(12.dp)) // ── User row (flat, no card) ──
Box(
// ── User card ── Modifier.fillMaxWidth().height(0.5.dp).padding(horizontal = 12.dp)
val cardBorder = remember(isDark) { .background(cs.onSurfaceVariant.copy(alpha = 0.08f))
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))
)
}
Row( Row(
modifier = Modifier modifier = Modifier
.fillMaxWidth() .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() } .clickable { onOpenSettings() }
.padding(horizontal = 14.dp, vertical = 12.dp), .padding(horizontal = 16.dp, vertical = 14.dp),
verticalAlignment = Alignment.CenterVertically verticalAlignment = Alignment.CenterVertically
) { ) {
Box( Box(
modifier = Modifier modifier = Modifier
.size(38.dp) .size(34.dp)
.clip(KaizenShapes.circle) .clip(KaizenShapes.circle)
.background( .background(
Brush.radialGradient( Brush.radialGradient(
@ -308,45 +298,43 @@ fun KaizenSidebar(
) { ) {
Text( Text(
userName.firstOrNull()?.toString()?.uppercase() ?: "A", 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( Text(
userName, userName,
color = cs.onBackground, color = cs.onBackground,
fontSize = 15.sp, fontSize = 14.sp,
fontWeight = FontWeight.W400, fontWeight = FontWeight.W400,
modifier = Modifier.weight(1f), modifier = Modifier.weight(1f),
) )
Box( Box(
modifier = Modifier modifier = Modifier
.size(32.dp) .size(30.dp)
.clip(KaizenShapes.circle) .clip(KaizenShapes.circle)
.background(if (isDark) Color.White.copy(alpha = 0.06f) else Color.Black.copy(alpha = 0.04f))
.clickable { onOpenSettings() }, .clickable { onOpenSettings() },
contentAlignment = Alignment.Center, contentAlignment = Alignment.Center,
) { ) {
Icon( Icon(
KaizenIcons.Settings, KaizenIcons.Settings,
stringResource(R.string.sidebar_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), modifier = Modifier.size(16.dp),
) )
} }
Spacer(Modifier.width(6.dp)) Spacer(Modifier.width(4.dp))
Box( Box(
modifier = Modifier modifier = Modifier
.size(32.dp) .size(30.dp)
.clip(KaizenShapes.circle) .clip(KaizenShapes.circle)
.background(if (isDark) Color.White.copy(alpha = 0.06f) else Color.Black.copy(alpha = 0.04f))
.clickable { onLogout() }, .clickable { onLogout() },
contentAlignment = Alignment.Center, contentAlignment = Alignment.Center,
) { ) {
Icon( Icon(
KaizenIcons.LogOut, KaizenIcons.LogOut,
stringResource(R.string.sidebar_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), modifier = Modifier.size(16.dp),
) )
} }