From 63da397fc9687ee49dc44e3f81fb68de36aa01e0 Mon Sep 17 00:00:00 2001 From: xfy Date: Tue, 19 May 2026 14:17:53 +0800 Subject: [PATCH] =?UTF-8?q?style:=20=E7=A7=BB=E9=99=A4=E7=8F=AD=E6=AC=A1?= =?UTF-8?q?=E6=A0=87=E7=AD=BE=E8=83=8C=E6=99=AF=E5=9C=86=EF=BC=8C=E6=B8=85?= =?UTF-8?q?=E7=90=86=E6=9C=AA=E4=BD=BF=E7=94=A8=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DayCell 中右上角班次("班"/"休")标签去除 surface 背景圆, 文字直接浮在单元格上,视觉更轻量。同步清理 CalendarViewModel、AnimatedGif、BottomCard 的未使用导入, 并格式化 YearGridView 与 CalendarUtilsExtraTest。 Co-Authored-By: Claude Opus 4.7 (1M context) --- .../plus/rua/project/CalendarViewModel.kt | 2 -- .../kotlin/plus/rua/project/ui/AnimatedGif.kt | 2 -- .../kotlin/plus/rua/project/ui/BottomCard.kt | 2 +- .../kotlin/plus/rua/project/ui/DayCell.kt | 7 +----- .../plus/rua/project/ui/YearGridView.kt | 6 ++++- .../rua/project/ui/CalendarUtilsExtraTest.kt | 25 +++++++++++++++---- 6 files changed, 27 insertions(+), 17 deletions(-) diff --git a/shared/src/commonMain/kotlin/plus/rua/project/CalendarViewModel.kt b/shared/src/commonMain/kotlin/plus/rua/project/CalendarViewModel.kt index c66db75..0d99b69 100644 --- a/shared/src/commonMain/kotlin/plus/rua/project/CalendarViewModel.kt +++ b/shared/src/commonMain/kotlin/plus/rua/project/CalendarViewModel.kt @@ -19,8 +19,6 @@ import kotlinx.datetime.minus import kotlinx.datetime.number import kotlinx.datetime.plus import kotlinx.datetime.todayIn -import plus.rua.project.composeTraceBeginSection -import plus.rua.project.composeTraceEndSection import plus.rua.project.ui.COLLAPSE_THRESHOLD import plus.rua.project.ui.FLING_VELOCITY_THRESHOLD_DP import kotlin.time.Clock diff --git a/shared/src/commonMain/kotlin/plus/rua/project/ui/AnimatedGif.kt b/shared/src/commonMain/kotlin/plus/rua/project/ui/AnimatedGif.kt index 76595b3..9270b9c 100644 --- a/shared/src/commonMain/kotlin/plus/rua/project/ui/AnimatedGif.kt +++ b/shared/src/commonMain/kotlin/plus/rua/project/ui/AnimatedGif.kt @@ -1,9 +1,7 @@ package plus.rua.project.ui -import androidx.compose.foundation.layout.size import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import androidx.compose.ui.unit.dp import com.github.panpf.sketch.AsyncImage /** diff --git a/shared/src/commonMain/kotlin/plus/rua/project/ui/BottomCard.kt b/shared/src/commonMain/kotlin/plus/rua/project/ui/BottomCard.kt index bff2e5d..0a3d2b4 100644 --- a/shared/src/commonMain/kotlin/plus/rua/project/ui/BottomCard.kt +++ b/shared/src/commonMain/kotlin/plus/rua/project/ui/BottomCard.kt @@ -22,7 +22,6 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.input.pointer.pointerInput import androidx.compose.ui.platform.LocalDensity -import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import kotlinx.datetime.LocalDate @@ -52,6 +51,7 @@ fun BottomCard( ) { val density = LocalDensity.current val relativeDesc = relativeDayDescription(selectedDate, today) + @Suppress("DEPRECATION") // monthNumber 无替代 API,kotlinx-datetime 尚未提供新接口 val solarDesc = "${selectedDate.monthNumber}月${selectedDate.day}日" val lunarDesc = formatLunarDate(selectedDate) diff --git a/shared/src/commonMain/kotlin/plus/rua/project/ui/DayCell.kt b/shared/src/commonMain/kotlin/plus/rua/project/ui/DayCell.kt index a8071a4..c6562bf 100644 --- a/shared/src/commonMain/kotlin/plus/rua/project/ui/DayCell.kt +++ b/shared/src/commonMain/kotlin/plus/rua/project/ui/DayCell.kt @@ -5,7 +5,6 @@ import androidx.compose.animation.core.FastOutSlowInEasing import androidx.compose.animation.core.animateFloat import androidx.compose.animation.core.tween import androidx.compose.animation.core.updateTransition -import androidx.compose.foundation.background import androidx.compose.foundation.clickable import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.layout.Box @@ -274,10 +273,8 @@ fun DayCell( } val shiftLabel = if (shiftKind == ShiftKind.WORK) "班" else "休" val shiftAlpha = if (isCurrentMonth) 1f else 0.38f - // 右上角(默认)沿用法定调休视觉: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 shiftPadding = if (showLegalHoliday) { @@ -295,7 +292,6 @@ fun DayCell( .align(shiftAlignment) .zIndex(1f) .then(shiftPadding) - .background(shiftBgColor.copy(alpha = shiftAlpha), CircleShape) .padding(horizontal = 2.dp) ) } @@ -310,7 +306,6 @@ fun DayCell( .align(Alignment.TopEnd) .zIndex(1f) .padding(top = 1.dp, end = 2.dp) - .background(MaterialTheme.colorScheme.surface, CircleShape) .padding(horizontal = 2.dp) ) } diff --git a/shared/src/commonMain/kotlin/plus/rua/project/ui/YearGridView.kt b/shared/src/commonMain/kotlin/plus/rua/project/ui/YearGridView.kt index b84e7ad..d4a129a 100644 --- a/shared/src/commonMain/kotlin/plus/rua/project/ui/YearGridView.kt +++ b/shared/src/commonMain/kotlin/plus/rua/project/ui/YearGridView.kt @@ -112,7 +112,11 @@ fun YearGridView( listOf( (month to true) to textMeasurer.measure( text, - TextStyle(fontSize = 10.sp, color = colors.titleSelected, fontWeight = FontWeight.Bold) + TextStyle( + fontSize = 10.sp, + color = colors.titleSelected, + fontWeight = FontWeight.Bold + ) ), (month to false) to textMeasurer.measure( text, diff --git a/shared/src/commonTest/kotlin/plus/rua/project/ui/CalendarUtilsExtraTest.kt b/shared/src/commonTest/kotlin/plus/rua/project/ui/CalendarUtilsExtraTest.kt index 15cffaa..cfd9f0a 100644 --- a/shared/src/commonTest/kotlin/plus/rua/project/ui/CalendarUtilsExtraTest.kt +++ b/shared/src/commonTest/kotlin/plus/rua/project/ui/CalendarUtilsExtraTest.kt @@ -26,35 +26,50 @@ class CalendarUtilsExtraTest { fun calculateWeeksCountForPage_forwardOnePage_returnsNextMonthRows() { // From May 2026, +1 -> June 2026 val today = LocalDate(2026, 5, 15) - assertEquals(calculateWeeksCount(2026, 6), calculateWeeksCountForPage(START_PAGE + 1, today)) + assertEquals( + calculateWeeksCount(2026, 6), + calculateWeeksCountForPage(START_PAGE + 1, today) + ) } @Test fun calculateWeeksCountForPage_backwardOnePage_returnsPreviousMonthRows() { // From May 2026, -1 -> April 2026 val today = LocalDate(2026, 5, 15) - assertEquals(calculateWeeksCount(2026, 4), calculateWeeksCountForPage(START_PAGE - 1, today)) + assertEquals( + calculateWeeksCount(2026, 4), + calculateWeeksCountForPage(START_PAGE - 1, today) + ) } @Test fun calculateWeeksCountForPage_crossYearForward() { // From December 2026, +1 -> January 2027 val today = LocalDate(2026, 12, 10) - assertEquals(calculateWeeksCount(2027, 1), calculateWeeksCountForPage(START_PAGE + 1, today)) + assertEquals( + calculateWeeksCount(2027, 1), + calculateWeeksCountForPage(START_PAGE + 1, today) + ) } @Test fun calculateWeeksCountForPage_crossYearBackward() { // From January 2026, -1 -> December 2025 val today = LocalDate(2026, 1, 10) - assertEquals(calculateWeeksCount(2025, 12), calculateWeeksCountForPage(START_PAGE - 1, today)) + assertEquals( + calculateWeeksCount(2025, 12), + calculateWeeksCountForPage(START_PAGE - 1, today) + ) } @Test fun calculateWeeksCountForPage_twelvePagesForward_returnsSameMonthOfNextYear() { val today = LocalDate(2026, 5, 15) // +12 -> May 2027 - assertEquals(calculateWeeksCount(2027, 5), calculateWeeksCountForPage(START_PAGE + 12, today)) + assertEquals( + calculateWeeksCount(2027, 5), + calculateWeeksCountForPage(START_PAGE + 12, today) + ) } // ---- relativeDayDescription ----