修复折叠态跨月周选中上个月日期的问题

跨月周(如5月第一周周一是4月27日)改为选中下个月的1号,
避免月份标题和展开内容不一致。
This commit is contained in:
meyou 2026-05-16 13:10:03 +08:00
parent e403c683f6
commit 104c5e5baa

View File

@ -179,9 +179,16 @@ fun CalendarMonthView(
today = today,
onDateClick = { date -> viewModel.selectDate(date) },
onWeekChanged = { weekMonday ->
// 优先选中当周内的今天,否则选中该周周一
val weekSunday = weekMonday.plus(DatePeriod(days = 6))
val date = if (today in weekMonday..weekSunday) today else weekMonday
val date = when {
today in weekMonday..weekSunday -> today
weekMonday.month != weekSunday.month -> {
// 跨月周选中下个月的1号
@Suppress("DEPRECATION") // monthNumber 无替代 API
LocalDate(weekSunday.year, weekSunday.month.number, 1)
}
else -> weekMonday
}
viewModel.selectDate(date)
},
modifier = pagerModifier