Skip to content

Conversation

@baekteun
Copy link
Member

@baekteun baekteun commented Sep 28, 2025

💡 개요

Color 이슈 및 iOS 26 대응

Summary by CodeRabbit

  • 신기능
    • 상단 내비게이션에 날짜 선택 메뉴 도입(어제/오늘/내일 빠른 선택), 현재 선택 항목 체크 표시, 접근성 라벨/힌트 강화.
  • 스타일
    • 제목 색상 스타일링 개선(foregroundStyle 적용) 및 메뉴 항목 상태별 가시성 향상.
    • 탭 바 배경색을 일관된 색상으로 변경.
  • 리팩터
    • 기존 오버레이 기반 날짜 선택 UI 제거 및 메뉴 기반 선택 흐름으로 단순화.
  • 기타(Chores)
    • 의존성 버전 업데이트 및 잠금 파일 갱신.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Sep 28, 2025

Walkthrough

의존성 잠금 파일(Package.resolved)의 여러 리비전/버전 핀을 갱신했다. SwiftUI 컴포넌트 DateTensePickerView.swift를 삭제했고, MainView의 날짜 선택 인터랙션을 오버레이 기반 토글에서 Menu 기반 선택으로 변경하여 관련 상태/액션(isDatePickerPresented, toggleDatePicker)을 MainCore에서 제거했다. DesignSystem의 TopTabbar 배경색을 Color.backgroundMain으로 변경했다.

Changes

Cohort / File(s) Change Summary
Dependency pins
Package.resolved
여러 remoteSourceControl 엔트리의 revisionversion 갱신. 구조나 식별자 추가/삭제 없음.
Main view date selection flow
Projects/Feature/MainFeature/Sources/MainView.swift
선행 버튼/오버레이 기반 날짜 피커 제거, 대신 상단 Menu 항목(어제/오늘/내일)으로 변경. 환경 Calendar 사용, 항목별 선택 상태 표시 및 접근성 라벨/힌트 조정, 선택 시 이벤트 로깅 및 dateSelected 액션 디스패치.
Removed tense picker component
Projects/Feature/MainFeature/Sources/Components/DateTensePickerView.swift
DateTensePickerView 파일 삭제 (struct DateTensePickerView: View 제거).
Main core state/actions trimmed
Projects/Feature/MainFeature/Sources/MainCore.swift
날짜 피커 표시 상태 및 토글 액션 제거: isDatePickerPresented: Bool 프로퍼티 삭제, toggleDatePicker(Bool) 액션 케이스 삭제, 관련 리듀서 처리 제거.
Design system UI tweak
Projects/UserInterface/DesignSystem/Sources/TopTabbar/TopTabbar.swift
탭 아이템 배경색을 Color.extraWhiteColor.backgroundMain으로 교체(시각적 변경).

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor User as 사용자
  participant MV as MainView
  participant Menu as 날짜 선택 Menu
  participant Policy as DatePolicy / UserDefaults
  participant Log as Analytics

  User->>MV: 상단 날짜 메뉴 탭
  MV->>Menu: 날짜 목록 표시(어제/오늘/내일)
  Menu->>Policy: 각 항목 날짜 계산(주말/저녁 스킵 규칙 포함)
  Policy-->>Menu: 계산된 날짜들
  User->>Menu: 항목 선택
  Menu->>Log: 선택 텐스 이벤트 로깅
  Menu->>MV: 선택된 날짜 전달 (dateSelected 액션)
  MV->>MV: 표시 날짜 업데이트 및 메뉴 닫기
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested labels

✨ Feature

Poem

"나는 깡충 토끼, 코드 밭을 뛰네 🥕
메뉴로 날짜 골라 찰칵찰칵 찍네 📅
탭바는 새옷, 색은 말끔하네 🎨
피커는 사라지고 메뉴가 반짝—
의존성도 정돈되어 깡충, 업데이트 뿅!"

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Title Check ⚠️ Warning 제목이 “Color 이슈 및 iOS 26 대응”으로 해당 PR에서 가장 큰 비중을 차지하는 DateTensePickerView 삭제 및 메뉴 기반 날짜 선택 로직 도입, MainCore 상태 변경, Package.resolved 의존성 업데이트 등 핵심 변경사항을 반영하지 않고 단순히 색상 변경과 iOS 26 지원만 언급해 변경의 주요 내용을 오도하고 있습니다. PR 제목을 변경하여 삭제된 DateTensePickerView와 새로 도입된 메뉴 기반 날짜 선택 기능, 패키지 의존성 업데이트 등 주요 변경사항을 간결하게 담아주세요. 예를 들어 “DateTensePickerView 제거 및 메뉴형 날짜 선택 도입, 패키지 의존성 업데이트”처럼 작성하면 PR의 의도를 명확히 전달할 수 있습니다.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature/color-issue-26

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Contributor

github-actions bot commented Sep 28, 2025

✅ Successful finished SwiftLint

@github-actions
Copy link
Contributor

✅ PR의 Assign 자동 지정을 성공했어요!

@baekteun

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e7b63c6 and c32b8f0.

📒 Files selected for processing (4)
  • Package.resolved (6 hunks)
  • Projects/Feature/MainFeature/Sources/Components/DateTensePickerView.swift (0 hunks)
  • Projects/Feature/MainFeature/Sources/MainView.swift (3 hunks)
  • Projects/UserInterface/DesignSystem/Sources/TopTabbar/TopTabbar.swift (1 hunks)
💤 Files with no reviewable changes (1)
  • Projects/Feature/MainFeature/Sources/Components/DateTensePickerView.swift
🧰 Additional context used
🧬 Code graph analysis (1)
Projects/Feature/MainFeature/Sources/MainView.swift (2)
Projects/Feature/MainFeature/Sources/DatePolicy.swift (3)
  • previousDay (55-67)
  • nextDay (69-81)
  • displayText (12-33)
Projects/Shared/TWLog/Sources/TWLog.swift (1)
  • event (63-68)
🪛 GitHub Check: swiftlint
Projects/Feature/MainFeature/Sources/MainView.swift

[warning] 156-156:
Vertical Whitespace Violation: Limit vertical whitespace to a single empty line; currently 2 (vertical_whitespace)


[warning] 155-155:
Trailing Whitespace Violation: Lines should not have trailing whitespace (trailing_whitespace)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: 🧪 Test

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between c32b8f0 and 8580fbc.

📒 Files selected for processing (2)
  • Projects/Feature/MainFeature/Sources/MainCore.swift (0 hunks)
  • Projects/Feature/MainFeature/Sources/MainView.swift (2 hunks)
💤 Files with no reviewable changes (1)
  • Projects/Feature/MainFeature/Sources/MainCore.swift
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-09-28T05:44:11.639Z
Learnt from: baekteun
PR: todaywhat/TodayWhat-iOS#199
File: Projects/Feature/MainFeature/Sources/MainView.swift:115-170
Timestamp: 2025-09-28T05:44:11.639Z
Learning: SwiftUI Menu의 content closure 안에서 let 선언이 정상적으로 작동합니다. Menu content builder가 지역 변수 선언을 지원하므로 컴파일 에러가 발생하지 않습니다.

Applied to files:

  • Projects/Feature/MainFeature/Sources/MainView.swift
🧬 Code graph analysis (1)
Projects/Feature/MainFeature/Sources/MainView.swift (2)
Projects/Feature/MainFeature/Sources/DatePolicy.swift (3)
  • previousDay (55-67)
  • nextDay (69-81)
  • displayText (12-33)
Projects/Shared/TWLog/Sources/TWLog.swift (1)
  • event (63-68)
🪛 GitHub Check: swiftlint
Projects/Feature/MainFeature/Sources/MainView.swift

[warning] 155-155:
Vertical Whitespace Violation: Limit vertical whitespace to a single empty line; currently 2 (vertical_whitespace)


[warning] 154-154:
Trailing Whitespace Violation: Lines should not have trailing whitespace (trailing_whitespace)

@baekteun baekteun merged commit 22910b3 into master Sep 28, 2025
4 checks passed
@baekteun baekteun deleted the feature/color-issue-26 branch September 28, 2025 07:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants