排班在右侧时沿用法定调休样式:surface 底 + 彩色文字

默认布局(showLegalHoliday=false)下,右上角排班从实心胶囊改为
surface 背景圆 + 班=primary/休=error 彩色文字,与开启法定调休
时右上角角标视觉规范一致。左上角(showLegalHoliday=true)保持
实心胶囊样式不变,用于区分两类信息。
This commit is contained in:
meyou 2026-05-16 19:32:44 +08:00
parent 043bd9824b
commit 6618c1863a

View File

@ -251,19 +251,23 @@ fun DayCell(
} }
} }
if (shiftKind != null) { if (shiftKind != null) {
val shiftBgColor = if (shiftKind == ShiftKind.WORK) { val shiftAccentColor = if (shiftKind == ShiftKind.WORK) {
MaterialTheme.colorScheme.primary MaterialTheme.colorScheme.primary
} else { } else {
MaterialTheme.colorScheme.error MaterialTheme.colorScheme.error
} }
val shiftFgColor = if (shiftKind == ShiftKind.WORK) { val shiftOnAccentColor = if (shiftKind == ShiftKind.WORK) {
MaterialTheme.colorScheme.onPrimary MaterialTheme.colorScheme.onPrimary
} else { } else {
MaterialTheme.colorScheme.onError MaterialTheme.colorScheme.onError
} }
val shiftLabel = if (shiftKind == ShiftKind.WORK) "" else "" val shiftLabel = if (shiftKind == ShiftKind.WORK) "" else ""
val shiftAlpha = if (isCurrentMonth) 1f else 0.38f val shiftAlpha = if (isCurrentMonth) 1f else 0.38f
// showLegalHoliday=true 时排班让位左上角,法定调休占右上角;否则排班独占右上角 // 右上角(默认)沿用法定调休视觉:surface 背景 + 彩色文字;
// 左上角(showLegalHoliday=true 时)用实心胶囊,与右上角法定调休区分。
val shiftBgColor =
if (showLegalHoliday) shiftAccentColor else MaterialTheme.colorScheme.surface
val shiftFgColor = if (showLegalHoliday) shiftOnAccentColor else shiftAccentColor
val shiftAlignment = if (showLegalHoliday) Alignment.TopStart else Alignment.TopEnd val shiftAlignment = if (showLegalHoliday) Alignment.TopStart else Alignment.TopEnd
val shiftPadding = if (showLegalHoliday) { val shiftPadding = if (showLegalHoliday) {
Modifier.padding(top = 1.dp, start = 2.dp) Modifier.padding(top = 1.dp, start = 2.dp)