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 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),
)
}