Revert 跨月周选中逻辑的两个提交,重新设计

This commit is contained in:
meyou 2026-05-16 13:28:29 +08:00
parent 857cf88cb0
commit 09e13e335c

View File

@ -179,21 +179,9 @@ fun CalendarMonthView(
today = today, today = today,
onDateClick = { date -> viewModel.selectDate(date) }, onDateClick = { date -> viewModel.selectDate(date) },
onWeekChanged = { weekMonday -> onWeekChanged = { weekMonday ->
// 优先选中当周内的今天,否则选中该周周一
val weekSunday = weekMonday.plus(DatePeriod(days = 6)) val weekSunday = weekMonday.plus(DatePeriod(days = 6))
val date = when { val date = if (today in weekMonday..weekSunday) today else weekMonday
today in weekMonday..weekSunday -> today
weekMonday.month != weekSunday.month -> {
if (weekMonday < viewModel.selectedDate) {
// 后退到跨月周如从5月回到4月27-5月3选较晚月份1号
@Suppress("DEPRECATION") // monthNumber 无替代 API
LocalDate(weekSunday.year, weekSunday.month.number, 1)
} else {
// 前进到跨月周如从4月前进到4月27-5月3选该周周一
weekMonday
}
}
else -> weekMonday
}
viewModel.selectDate(date) viewModel.selectDate(date)
}, },
modifier = pagerModifier modifier = pagerModifier