Skip to content

[FIX] 1차 QA 수정사항 반영 (온보딩/프로필) - #219

Open
ckals413 wants to merge 6 commits into
developfrom
FLT-27-1차-qa-임차민

Hidden character warning

The head ref may contain hidden characters: "FLT-27-1\ucc28-qa-\uc784\ucc28\ubbfc"
Open

[FIX] 1차 QA 수정사항 반영 (온보딩/프로필)#219
ckals413 wants to merge 6 commits into
developfrom
FLT-27-1차-qa-임차민

Conversation

@ckals413

@ckals413 ckals413 commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

📮 관련 이슈

  • closed #이슈번호

📌 작업 내용

  • 온보딩 화면 순서 변경: 닉네임 입력 → 좋아하는 작품 선택 순서로 조정 (Content 화면 타이틀에서 닉네임 문구 제거)
  • 닉네임 중복확인 결과 토스트를 상태 기반에서 1회성 이벤트(SharedFlow)로 변경 → Done 화면에서 뒤로가기로 프로필 화면에 재진입해도 토스트가 다시 뜨지 않도록 수정
  • 온보딩 콘텐츠 화면 타이틀 텍스트를 한 줄 우선으로 배치하고, 좌우 16dp 패딩 안에서 한 줄로 안 들어갈 때만 수동 줄바꿈되도록 개선
  • 프로필 사진 5회 연타(3초 이내) 시 바로 회원탈퇴되던 이스터에그 로직 제거 (설정 > 회원탈퇴 화면으로 대체됨)

Summary by CodeRabbit

  • 새 기능

    • 온보딩 진행 순서가 약관 동의 → 콘텐츠 → 프로필 → 완료로 변경되었습니다.
    • 닉네임 입력 결과에 따라 성공 또는 오류 토스트가 표시됩니다.
    • 닉네임 형식 오류도 즉시 안내됩니다.
    • 최신 닉네임 확인 결과만 반영됩니다.
  • 개선 사항

    • 온보딩 콘텐츠 화면 제목이 고정 문구로 변경되었습니다.
    • 프로필 화면에서 숨겨진 회원 탈퇴 동작이 제거되었습니다.

@ckals413 ckals413 self-assigned this Aug 7, 2026
@ckals413 ckals413 changed the title [FIX] 1차 QA [FIX] 1차 QA 수정사항 반영 (온보딩/프로필) Aug 7, 2026
@coderabbitai

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

온보딩 흐름을 약관 → 콘텐츠 → 프로필 → 완료 순서로 변경했습니다. 닉네임 결과는 일회성 토스트 이벤트로 전달합니다. 프로필 이스터에그 탈퇴 기능과 애플리케이션 재시작 처리를 제거했습니다.

Changes

온보딩 흐름 변경

Layer / File(s) Summary
닉네임 토스트 이벤트 상태
app/src/main/java/com/flint/presentation/onboarding/OnboardingViewModel.kt, app/src/main/java/com/flint/presentation/onboarding/event/OnboardingProfileEvent.kt
닉네임 형식 및 중복 확인 결과를 ShowNicknameToast 이벤트로 발행합니다.
콘텐츠 선택 화면 계약과 표시
app/src/main/java/com/flint/presentation/onboarding/OnboardingContentScreen.kt
닉네임 의존성을 제거하고 고정 제목과 프로필 화면 이동 콜백을 사용합니다.
프로필 토스트 상태 전달
app/src/main/java/com/flint/presentation/onboarding/OnboardingProfileScreen.kt
프로필 화면이 외부 토스트 상태와 숨김 콜백을 사용하도록 변경했습니다.
온보딩 화면 연결
app/src/main/java/com/flint/presentation/onboarding/OnboardingTermsScreen.kt, app/src/main/java/com/flint/presentation/onboarding/navigation/OnboardingNavigation.kt
약관 완료 후 콘텐츠 화면으로 이동하고, 콘텐츠 완료 후 프로필 화면으로 이동하도록 연결했습니다.

프로필 이스터에그 탈퇴 제거

Layer / File(s) Summary
이스터에그 탈퇴 경로 제거
app/src/main/java/com/flint/presentation/profile/ProfileScreen.kt, app/src/main/java/com/flint/presentation/profile/ProfileViewModel.kt, app/src/main/java/com/flint/presentation/profile/component/ProfileTopSection.kt, app/src/main/java/com/flint/presentation/profile/sideeffect/ProfileSideEffect.kt
프로필 이미지 클릭 기반 탈퇴 동작, AuthRepository 의존성, 탈퇴 성공 side effect, 애플리케이션 재시작 처리를 제거했습니다.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Terms
  participant Content
  participant Profile
  participant ViewModel
  participant Done
  Terms->>Content: 약관 동의 완료
  Content->>Profile: 콘텐츠 선택 완료
  Profile->>ViewModel: 닉네임 검증 요청
  ViewModel-->>Profile: ShowNicknameToast 이벤트
  Profile->>Done: 프로필 완료
Loading

Possibly related PRs

Suggested labels: 📱 UI

Suggested reviewers: kimjw2003

Poem

토끼가 온보딩 길을 잇고
약관 뒤 콘텐츠로 깡충
닉네임 토스트 반짝이고
프로필로 다음 발걸음
숨은 탈퇴 장난은 사라졌네 🐇

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed 온보딩과 프로필의 1차 QA 수정 사항을 명확하게 요약하며 변경 내용과 일치합니다.
Description check ✅ Passed 작업 내용과 주요 변경 사항을 구체적으로 작성했습니다. 이슈 번호, 스크린샷, 미구현 및 리뷰어 안내 섹션은 누락되었습니다.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch FLT-27-1차-qa-임차민

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.

@coderabbitai coderabbitai Bot left a comment

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.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@app/src/main/java/com/flint/presentation/onboarding/OnboardingViewModel.kt`:
- Around line 149-162: In the result-handling flow around _profileEvent.emit,
compare the nickname associated with the availability response to the current
input before updating state or emitting ShowNicknameToast. Ignore stale
responses when they differ, and apply the existing success/failure behavior only
when the response matches the current nickname.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: a9604dc1-98ff-405e-acf4-e643ae4d9e27

📥 Commits

Reviewing files that changed from the base of the PR and between 11c1e1a and cfdb86b.

📒 Files selected for processing (10)
  • app/src/main/java/com/flint/presentation/onboarding/OnboardingContentScreen.kt
  • app/src/main/java/com/flint/presentation/onboarding/OnboardingProfileScreen.kt
  • app/src/main/java/com/flint/presentation/onboarding/OnboardingTermsScreen.kt
  • app/src/main/java/com/flint/presentation/onboarding/OnboardingViewModel.kt
  • app/src/main/java/com/flint/presentation/onboarding/event/OnboardingProfileEvent.kt
  • app/src/main/java/com/flint/presentation/onboarding/navigation/OnboardingNavigation.kt
  • app/src/main/java/com/flint/presentation/profile/ProfileScreen.kt
  • app/src/main/java/com/flint/presentation/profile/ProfileViewModel.kt
  • app/src/main/java/com/flint/presentation/profile/component/ProfileTopSection.kt
  • app/src/main/java/com/flint/presentation/profile/sideeffect/ProfileSideEffect.kt
💤 Files with no reviewable changes (4)
  • app/src/main/java/com/flint/presentation/profile/sideeffect/ProfileSideEffect.kt
  • app/src/main/java/com/flint/presentation/profile/ProfileViewModel.kt
  • app/src/main/java/com/flint/presentation/profile/component/ProfileTopSection.kt
  • app/src/main/java/com/flint/presentation/profile/ProfileScreen.kt

@coderabbitai coderabbitai Bot left a comment

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.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@app/src/main/java/com/flint/presentation/onboarding/OnboardingContentScreen.kt`:
- Around line 139-142: Update the onboarding title Text in
OnboardingContentScreen to use the complete phrase without a forced newline,
allowing it to remain on one line when it fits within the 16dp horizontal
padding and wrap naturally only when space is insufficient.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: ce059229-a33f-416d-8a2a-c12106ae0c31

📥 Commits

Reviewing files that changed from the base of the PR and between cfdb86b and 0d3d958.

📒 Files selected for processing (2)
  • app/src/main/java/com/flint/presentation/onboarding/OnboardingContentScreen.kt
  • app/src/main/java/com/flint/presentation/onboarding/OnboardingViewModel.kt
🚧 Files skipped from review as they are similar to previous changes (1)
  • app/src/main/java/com/flint/presentation/onboarding/OnboardingViewModel.kt

Comment on lines 139 to 142
Text(
text = if (useMultiLine) {
"${nickname}님이\n좋아하는 작품\n7개를 골라주세요"
} else {
"${nickname}님이 좋아하는 작품\n7개를 골라주세요"
},
text = "내 취향에 가까운 작품\n7개를 골라주세요",
color = FlintTheme.colors.white,
style = FlintTheme.typography.display2M28,

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.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

제목을 항상 두 줄로 강제하지 마세요.

text\n은 가용 폭과 관계없이 줄바꿈을 발생시킵니다. PR 요구사항은 좌우 16dp 영역에서 한 줄을 우선하고 필요한 경우에만 수동 줄바꿈하는 것입니다. 현재 구현은 태블릿이나 가로 화면처럼 전체 문구가 들어가는 환경에서도 두 줄로 표시됩니다. 줄바꿈 없는 전체 문구를 기본값으로 사용하고, 가용 폭이 부족할 때만 줄바꿈하도록 수정하세요.

제안
-                        text = "내 취향에 가까운 작품\n7개를 골라주세요",
+                        text = "내 취향에 가까운 작품 7개를 골라주세요",
+                        maxLines = 2,
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Text(
text = if (useMultiLine) {
"${nickname}님이\n좋아하는 작품\n7개를 골라주세요"
} else {
"${nickname}님이 좋아하는 작품\n7개를 골라주세요"
},
text = "내 취향에 가까운 작품\n7개를 골라주세요",
color = FlintTheme.colors.white,
style = FlintTheme.typography.display2M28,
Text(
text = "내 취향에 가까운 작품 7개를 골라주세요",
maxLines = 2,
color = FlintTheme.colors.white,
style = FlintTheme.typography.display2M28,
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@app/src/main/java/com/flint/presentation/onboarding/OnboardingContentScreen.kt`
around lines 139 - 142, Update the onboarding title Text in
OnboardingContentScreen to use the complete phrase without a forced newline,
allowing it to remain on one line when it fits within the 16dp horizontal
padding and wrap naturally only when space is insufficient.

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