Conversation
DatePicker의 `MonthGrid` 컴포넌트에서 불필요한 인덱스 계산 로직을 제거하고, 오늘 날짜를 기준으로 가시적인 주(week)만 필터링하여 렌더링하도록 개선했습니다.
* `MonthGridBuilder.kt`: 사용되지 않는 `lastWeekIndexToRender` 함수를 삭제했습니다.
* `MonthGrid.kt`:
* `buildMonthGrid`의 결과를 7일 단위로 청크(`chunked`)화하고, `hasVisibleDate` 확장 함수를 통해 오늘 이후의 날짜가 포함된 주만 노출하도록 수정했습니다.
* `WeekRow`에서 인덱스 기반의 `for` 루프를 `forEach` 문으로 교체하여 가독성을 높였습니다.
* 불필요한 `ImmutableList` 의존성을 제거하고 `List`를 사용하도록 변경했습니다.
* `MonthGridPreview`의 데이터를 최신 날짜 기준으로 업데이트했습니다.
`DatePickerDayCellView`, `MonthSection`, `PrezelDatePicker` 컴포넌트의 프리뷰에서 사용되는 날짜 데이터 및 레이아웃 설정을 실제 동작 확인이 용이하도록 업데이트했습니다.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
💤 Files with no reviewable changes (1)
WalkthroughMonthGrid 렌더링이 42-셀(flat list) 기반에서 주 단위 리스트(week: List<LocalDate?>)로 변경되었습니다. 빌드 로직은 이제 월별 셀 그리드를 생성한 뒤 주 단위로 청킹(chunk)하고, 오늘 날짜 이후(또는 포함하는) 주만 필터링해 visibleWeeks로 렌더링합니다. WeekRow 시그니처가 인덱스 기반에서 주의 LocalDate? 리스트를 받는 형태로 변경되었고, 빌드용 유틸 함수( Possibly related PRs
개요DatePicker 컴포넌트의 주간 렌더링 로직을 수정합니다. MonthGrid.kt에서 셀 배열 기반 처리 방식을 오늘 날짜 이후의 주만 필터링하는 visibleWeeks 기반 방식으로 변경하고, WeekRow 함수 시그니처를 주 인덱스 대신 LocalDate 리스트를 받도록 업데이트합니다. MonthGridBuilder.kt에서 lastWeekIndexToRender 내부 함수를 제거합니다. 여러 파일의 미리보기 샘플 데이터를 2026년 3월 날짜로 갱신합니다. 관련 PR
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. 📝 Coding Plan
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment Tip You can generate walkthrough in a markdown collapsible section to save space.Enable the |
| }.toPersistentList() | ||
| } | ||
|
|
||
| internal fun lastWeekIndexToRender(cells: List<LocalDate?>): Int { |
There was a problem hiding this comment.
lastWeekIndexToRender함수는 기존에 무조건 6x7로 42칸을 그리던 함수여서 제거했습니다.
- 제거함에 따라 buildMonthGrid 파일에 함수 하나밖에 남지않아 MonthGrid.kt 안으로 옮겼습니다.
- `MonthGridBuilder.kt` 파일을 삭제하고 `buildMonthGrid` 함수를 `MonthGrid.kt` 내부의 private 함수로 이동하였습니다. - 별도의 파일로 관리되던 그리드 생성 로직을 컴포넌트 파일로 통합하여 응집도를 높였습니다.
📌 작업 내용
🧩 관련 이슈
close #67
📸 스크린샷
📢 논의하고 싶은 내용
Summary by CodeRabbit
릴리스 노트
개선 사항
기타