Skip to content

Onboarding 추가#218

Open
baekteun wants to merge 1 commit intofeature/get-intentfrom
feature/onboarding-v2
Open

Onboarding 추가#218
baekteun wants to merge 1 commit intofeature/get-intentfrom
feature/onboarding-v2

Conversation

@baekteun
Copy link
Copy Markdown
Member

💡 개요

Onboarding 추가

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 12, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 53a9322c-80e6-45fa-9403-128a1f87b8ca

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/onboarding-v2

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
Copy Markdown
Contributor

🛠️ 이슈와 PR의 Labels 동기화를 스킵했어요.

@github-actions
Copy link
Copy Markdown
Contributor

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

@baekteun

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a comprehensive onboarding flow by adding the OnboardingFeature module and updating the RootFeature to manage the new multi-step sequence. The changes include meal and timetable previews, widget setup guides, and Siri integration. Review feedback highlighted critical errors in iOS version availability checks (incorrectly specified as 26.0) and suggested utilizing the TCA date dependency in OnboardingCore to enhance the testability of date-related logic.

}
// .toolbar(.hidden, for: .navigationBar)

if #available(iOS 26.0, *) {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

high

iOS 26.0은 존재하지 않는 버전입니다. 의도하신 버전(예: iOS 17.0)으로 수정이 필요합니다. 현재 상태로는 항상 else 블록의 safeAreaInset 코드만 실행됩니다.

Suggested change
if #available(iOS 26.0, *) {
if #available(iOS 17.0, *) {

.contentShape(Circle())
.accessibilityLabel("이전")

if #available(iOS 26.0, *) {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

high

위와 마찬가지로 iOS 26.0은 잘못된 버전 표기입니다. 적절한 버전으로 수정하여 glassEffect가 적용될 수 있도록 하세요.

Suggested change
if #available(iOS 26.0, *) {
if #available(iOS 17.0, *) {

}

private var siriSymbolName: String {
if #available(iOS 26.0, *) {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

high

iOS 26.0 버전 체크 오타를 수정해 주세요.

Suggested change
if #available(iOS 26.0, *) {
if #available(iOS 17.0, *) {

@@ -87,12 +87,12 @@ private extension TWButtonStyle {

if #available(iOS 26.0, watchOS 26.0, *) {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

high

iOS 26.0watchOS 26.0은 존재하지 않는 버전입니다. 의도하신 버전(예: 17.0)으로 수정이 필요합니다.

Suggested change
if #available(iOS 26.0, watchOS 26.0, *) {
if #available(iOS 17.0, watchOS 17.0, *) {

Comment on lines +87 to +88
@Dependency(\.mealClient) var mealClient
@Dependency(\.timeTableClient) var timeTableClient
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

Reducer 내부에서 Date()를 직접 호출하는 대신 TCA의 date 디펜던시를 사용하는 것이 좋습니다. 이는 비즈니스 로직의 순수성을 유지하고, 테스트 코드 작성 시 현재 시간을 제어할 수 있게 해줍니다.

Suggested change
@Dependency(\.mealClient) var mealClient
@Dependency(\.timeTableClient) var timeTableClient
@Dependency(\.mealClient) var mealClient
@Dependency(\.timeTableClient) var timeTableClient
@Dependency(\.date.now) var now



case .fetchPreviewData:
let targetDate = schoolDay(from: Date())
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

앞서 추가한 now 디펜던시를 사용하여 현재 날짜를 가져오도록 수정합니다.

Suggested change
let targetDate = schoolDay(from: Date())
let targetDate = schoolDay(from: now)

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.

1 participant