Skip to content

[Fix] 온보딩 선택 결과 화면 수정#88

Merged
choijungp merged 2 commits intodevelopfrom
fix/onboarding
Mar 12, 2026
Merged

[Fix] 온보딩 선택 결과 화면 수정#88
choijungp merged 2 commits intodevelopfrom
fix/onboarding

Conversation

@choijungp
Copy link
Contributor

@choijungp choijungp commented Mar 12, 2026

🌁 Background

나가봐요 선택지 중 주 4회 이상 외출을 선택했을 시, Label이 밑줄을 벗어가게 되는 상황 발생
그 경우에 대한 뷰를 디자이너들이 새로 만들어줬어요 ~~

📱 Screenshot

가장 작은 사각형 중간 사각형 (1) 중간 사각형 (2) 가장 큰 사각형
Simulator Screenshot - iPhone 16 Pro - 2026-03-12 at 14 12 12 Simulator Screenshot - iPhone 16 Pro - 2026-03-12 at 14 12 40 Simulator Screenshot - iPhone 16 Pro - 2026-03-12 at 14 11 36 Simulator Screenshot - iPhone 16 Pro - 2026-03-12 at 14 11 47

👩‍💻 Contents

  • 온보딩 선택 결과 화면 레이아웃 수정 (OnboardingResultViewController)

📝 Review Note

⭐️⭐️⭐️⭐️⭐️ @taipaise 어제 말씀드린 탭바 문제는 고민하고 바로 다음 PR에 수정해서 올리겠심니다 !!!!
아직 온보딩 마지막 결과 화면에서 탭바가 살아나는 문제 해결 XXX

Summary by CodeRabbit

릴리스 노트

  • 새로운 기능
    • 온보딩 화면에 새로운 그래픽 자산 추가
    • 온보딩 결과 화면의 레이아웃 개선으로 여러 섹션의 확장 가능한 표시 지원
    • 온보딩 결과 요약 텍스트의 조건부 표시 기능 추가
    • 온보딩 플로우에서 하단 네비게이션 바 숨김 처리 개선

@coderabbitai
Copy link

coderabbitai bot commented Mar 12, 2026

Walkthrough

새로운 온보딩 이미지 에셋을 추가하고 온보딩 결과 화면을 확장합니다. 감정 결과 뷰를 도입하고, 조건부 텍스트 로직을 수정하며, 레이아웃 제약 조건을 재구성하여 확장된 결과 표시를 지원합니다.

Changes

Cohort / File(s) Summary
Image Asset
Projects/Presentation/Resources/Images.xcassets/Onboarding/rounded_max_rectangle.imageset/Contents.json
새로운 온보딩 이미지 에셋 메타데이터 파일 추가 (1x, 2x, 3x 배리언트 정의)
Design System
Projects/Presentation/Sources/Common/DesignSystem/BitnagilGraphic.swift
새로운 정적 이미지 상수 onboardingMaxRectangle 추가
Onboarding Result Views
Projects/Presentation/Sources/Onboarding/View/Component/OnboardingResultSummaryView.swift, Projects/Presentation/Sources/Onboarding/View/OnboardingResultViewController.swift
감정 결과 뷰 도입, 조건부 텍스트 로직 수정, 레이아웃 제약 조건 확장 및 사각형 이미지 조건부 업데이트 구현

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 동글동글한 사각형이 새로 추가되고,
감정 결과도 함께 나타나네요!
레이아웃이 쭉 펼쳐지며,
온보딩 화면은 더욱 풍성해져요.
조건부 로직이 춤을 추며,
예쁜 UI를 완성한답니다! ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed PR 제목이 변경 사항의 주요 목적을 명확하게 반영하고 있습니다. 온보딩 선택 결과 화면의 레이아웃 이슈를 수정하는 것이 주요 변경 사항이며, 제목에서 이를 직접적으로 표현하고 있습니다.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/onboarding

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.

Copy link

@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.

🧹 Nitpick comments (1)
Projects/Presentation/Sources/Onboarding/View/OnboardingResultViewController.swift (1)

254-299: 표시 문자열을 레이아웃 상태로 재사용하지 마세요.

, 개수, contains("4"), 그리고 ""/" " 센티널로 확장 여부를 정하면 결과 문구 포맷이 바뀔 때 레이아웃과 suffix 조합이 같이 깨집니다. 선택 결과는 ViewModel/도메인에서 이미 알고 있으니, 여기서는 명시적인 확장 상태나 case를 넘겨서 분기하는 편이 안전합니다. 지금 구조는 Projects/Presentation/Sources/Onboarding/View/Component/OnboardingResultSummaryView.swift도 같은 문자열 규칙에 묶여 있어서 두 군데를 함께 유지보수해야 합니다.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@Projects/Presentation/Sources/Onboarding/View/OnboardingResultViewController.swift`
around lines 254 - 299, The code is using display strings (feelingResult,
outdoorResult, highlightText "") to decide layout/expansion which is brittle;
instead compute and pass an explicit expansion flag or enum from the
ViewModel/domain and use that to build the UI. Update the creation of
OnboardingResultSummaryView (and its initializer) to accept an isExpanded: Bool
or a ResultLayoutCase enum and stop relying on highlightText sentinels; replace
string-based checks (ifNeedExpandFeelingResult = feelingResult.filter { $0 ==
"," }.count >= 2 and ifNeedExpandOutdoorResult = outdoorResult.contains("4"))
with booleans computed from the view model or selection model and use those
booleans in the rectangle sizing logic (references: feelingResultStackView,
outdoorResultStackView, ifNeedExpandFeelingResult, ifNeedExpandOutdoorResult,
OnboardingResultSummaryView, rectangleHeightConstraint,
resultGraphicViewTopConstraint). Ensure OnboardingResultSummaryView is updated
to render differently based on the explicit flag/enum rather than parsing its
input text.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In
`@Projects/Presentation/Sources/Onboarding/View/OnboardingResultViewController.swift`:
- Around line 254-299: The code is using display strings (feelingResult,
outdoorResult, highlightText "") to decide layout/expansion which is brittle;
instead compute and pass an explicit expansion flag or enum from the
ViewModel/domain and use that to build the UI. Update the creation of
OnboardingResultSummaryView (and its initializer) to accept an isExpanded: Bool
or a ResultLayoutCase enum and stop relying on highlightText sentinels; replace
string-based checks (ifNeedExpandFeelingResult = feelingResult.filter { $0 ==
"," }.count >= 2 and ifNeedExpandOutdoorResult = outdoorResult.contains("4"))
with booleans computed from the view model or selection model and use those
booleans in the rectangle sizing logic (references: feelingResultStackView,
outdoorResultStackView, ifNeedExpandFeelingResult, ifNeedExpandOutdoorResult,
OnboardingResultSummaryView, rectangleHeightConstraint,
resultGraphicViewTopConstraint). Ensure OnboardingResultSummaryView is updated
to render differently based on the explicit flag/enum rather than parsing its
input text.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 0705ffcf-71f0-452a-beed-0a7b44363e4a

📥 Commits

Reviewing files that changed from the base of the PR and between 307b8c9 and 9d549f7.

⛔ Files ignored due to path filters (3)
  • Projects/Presentation/Resources/Images.xcassets/Onboarding/rounded_max_rectangle.imageset/rounded_max_rectangle.png is excluded by !**/*.png
  • Projects/Presentation/Resources/Images.xcassets/Onboarding/rounded_max_rectangle.imageset/rounded_max_rectangle@2x.png is excluded by !**/*.png
  • Projects/Presentation/Resources/Images.xcassets/Onboarding/rounded_max_rectangle.imageset/rounded_max_rectangle@3x.png is excluded by !**/*.png
📒 Files selected for processing (4)
  • Projects/Presentation/Resources/Images.xcassets/Onboarding/rounded_max_rectangle.imageset/Contents.json
  • Projects/Presentation/Sources/Common/DesignSystem/BitnagilGraphic.swift
  • Projects/Presentation/Sources/Onboarding/View/Component/OnboardingResultSummaryView.swift
  • Projects/Presentation/Sources/Onboarding/View/OnboardingResultViewController.swift

@choijungp choijungp merged commit cec9be8 into develop Mar 12, 2026
2 checks passed
@choijungp choijungp deleted the fix/onboarding branch March 12, 2026 05:26
@choijungp choijungp self-assigned this Mar 12, 2026
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