Skip to content

[Feature] 콜밴 글쓰기 네비게이션 연결#1329

Open
JaeYoung290 wants to merge 3 commits intofeature/#1283-callvan-create-viewmodelfrom
feature/#1283-callvan-create-navigation
Open

[Feature] 콜밴 글쓰기 네비게이션 연결#1329
JaeYoung290 wants to merge 3 commits intofeature/#1283-callvan-create-viewmodelfrom
feature/#1283-callvan-create-navigation

Conversation

@JaeYoung290
Copy link
Contributor

@JaeYoung290 JaeYoung290 commented Mar 7, 2026

PR 개요

이슈 번호: #1283

PR 체크리스트

  • Code convention을 잘 지켰나요?
  • Lint check를 수행하였나요?
  • Assignees를 추가했나요?

작업사항

  • 버그 수정
  • 신규 기능
  • 코드 스타일 수정 (포맷팅 등)
  • 리팩토링 (기능 수정 X, API 수정 X)
  • 기타

작업사항의 상세한 설명

NavGraph에서 CallvanCreate 라우트에 CallvanCreateScreen을 실제로 연결합니다.

  • koinCallvanGraph 내 CallvanNavType.CallvanCreate 컴포저블에 화면 바인딩

논의 사항

스크린샷

추가내용

  • develop, sprint 브랜치를 향하고 있습니다
  • production 브랜치를 향하고 있습니다

Summary by CodeRabbit

릴리스 노트

  • 버그 수정
    • Callvan 생성 후 화면 이동 경로 개선: 이제 생성 완료 시 메인 화면으로 돌아갑니다.

@JaeYoung290 JaeYoung290 requested a review from a team as a code owner March 7, 2026 12:29
@coderabbitai
Copy link

coderabbitai bot commented Mar 7, 2026

개요

Callvan 생성 화면의 네비게이션 흐름을 변경하여 상세 화면 이동 대신 메인 화면으로 돌아가는 방식으로 수정했습니다. 관련 콜백, Side Effect, ViewModel에서 일관되게 NavigateToDetail을 NavigateToMain으로 교체했습니다.

변경 사항

Cohort / File(s) 요약
네비게이션 및 콜백 업데이트
feature/callvan/src/main/java/in/koreatech/koin/feature/callvan/navigation/Navigation.kt, feature/callvan/src/main/java/in/koreatech/koin/feature/callvan/ui/create/CallvanCreateScreen.kt
CallvanCreateScreen 콜백 파라미터를 onNavigateToDetail에서 onNavigateToMain으로 변경하고, 네비게이션 브랜치에서 새로운 콜백들을 전달하도록 업데이트
Side Effect 및 ViewModel 리팩토링
feature/callvan/src/main/java/in/koreatech/koin/feature/callvan/ui/create/CallvanCreateSideEffect.kt, feature/callvan/src/main/java/in/koreatech/koin/feature/callvan/ui/create/CallvanCreateViewModel.kt
NavigateToDetail(postId) 데이터 클래스를 NavigateToMain 데이터 객체로 교체하고, submit() 성공 핸들러에서 post 페이로드 사용 제거

예상 코드 리뷰 난이도

🎯 2 (Simple) | ⏱️ ~12분

관련 PR

제안 리뷰어

  • TTRR1007
  • kongwoojin
🚥 Pre-merge checks | ✅ 2 | ❌ 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 (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed PR 제목 '[Feature] 콜밴 글쓰기 네비게이션 연결'은 변경사항의 주요 목적을 명확하게 반영합니다. 콜밴 생성 화면의 네비게이션 연결이라는 핵심 변경사항을 정확히 설명하고 있습니다.

✏️ 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 feature/#1283-callvan-create-navigation
📝 Coding Plan
  • Generate coding plan for human review comments

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 github-actions bot requested review from KYM-P and TTRR1007 March 7, 2026 12:30
@JaeYoung290 JaeYoung290 force-pushed the feature/#1283-callvan-create-viewmodel branch from 4abbee0 to 5a34625 Compare March 7, 2026 12:51
@JaeYoung290 JaeYoung290 force-pushed the feature/#1283-callvan-create-navigation branch from 260f604 to d634c40 Compare March 7, 2026 12:51
@JaeYoung290 JaeYoung290 self-assigned this Mar 9, 2026
@github-actions
Copy link

✅ CI 완료. CodeRabbit 리뷰를 요청합니다.
@coderabbitai review

@JaeYoung290
Copy link
Contributor Author

@coderabbitai review

@coderabbitai
Copy link

coderabbitai bot commented Mar 15, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

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.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In
`@feature/callvan/src/main/java/in/koreatech/koin/feature/callvan/navigation/Navigation.kt`:
- Around line 20-22: The onNavigateToMain callback currently pushes
CallvanNavType.CallvanMain without clearing the back stack, causing
CallvanCreate to remain and be returned to on back; update the navigation call
inside onNavigateToMain (the navController.navigate invocation that references
CallvanNavType.CallvanMain) to perform a popUpTo the CallvanMain destination and
set inclusive = true so the previous CallvanCreate entry is removed (match the
project pattern used by feature/store and feature/dining).
🪄 Autofix (Beta)

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: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: f49cb1a4-3c0d-495a-a794-2b8f3cf999c4

📥 Commits

Reviewing files that changed from the base of the PR and between f1c8013 and 1f2117e.

📒 Files selected for processing (4)
  • feature/callvan/src/main/java/in/koreatech/koin/feature/callvan/navigation/Navigation.kt
  • feature/callvan/src/main/java/in/koreatech/koin/feature/callvan/ui/create/CallvanCreateScreen.kt
  • feature/callvan/src/main/java/in/koreatech/koin/feature/callvan/ui/create/CallvanCreateSideEffect.kt
  • feature/callvan/src/main/java/in/koreatech/koin/feature/callvan/ui/create/CallvanCreateViewModel.kt

Comment on lines +20 to +22
onNavigateToMain = {
navController.navigate(CallvanNavType.CallvanMain)
},
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# navigation-compose 버전 및 현재 네비게이션 옵션 사용 여부를 확인합니다.

# 1) Navigation 관련 의존성 선언 확인
fd 'build.gradle.kts|build.gradle' -x rg -n 'navigation-compose|androidx.navigation'

# 2) CallvanMain 이동 지점에서 popUpTo/launchSingleTop 사용 여부 확인
rg -nP --type=kt -C3 'navigate\(CallvanNavType\.CallvanMain\)|popUpTo|launchSingleTop'

Repository: BCSDLab/KOIN_ANDROID

Length of output: 598


🏁 Script executed:

#!/bin/bash

# Read the actual Navigation.kt file to see full context
echo "=== Navigation.kt file content ==="
cat -n feature/callvan/src/main/java/in/koreatech/koin/feature/callvan/navigation/Navigation.kt

echo -e "\n=== Check CallvanNavType definition ==="
find . -type f -name "*.kt" | xargs rg -l "CallvanNavType" | head -5
fd -t f ".*NavType.*kt$" -path "*/callvan/*"

echo -e "\n=== Search for popUpTo usage patterns in navigation ==="
rg -C2 "popUpTo" --type=kotlin 2>/dev/null || rg -C2 "popUpTo" --type=kt 2>/dev/null || rg -C2 "popUpTo" 2>/dev/null | head -40

echo -e "\n=== Check other feature navigation patterns ==="
rg "onNavigateTo.*{" --type=kotlin 2>/dev/null || rg "onNavigateTo.*{" 2>/dev/null | head -30

Repository: BCSDLab/KOIN_ANDROID

Length of output: 13005


onNavigateToMain 콜백에서 백스택 정리가 필요합니다.

Line 21은 CallvanMain을 단순히 push만 하고 있어서, CallvanMain → CallvanCreate → CallvanMain 순서로 스택이 쌓입니다. 제출 성공 후 뒤로 가기 시 CallvanCreate로 돌아가는 문제가 발생합니다. 프로젝트 전역에서 유사한 네비게이션 패턴(예: feature/storenavigateToMain, feature/dining)에서는 모두 popUpToinclusive = true를 사용하고 있으므로, 아래와 같이 백스택을 정리해야 합니다.

제안 수정안
             onNavigateToMain = {
-                navController.navigate(CallvanNavType.CallvanMain)
+                navController.navigate(CallvanNavType.CallvanMain) {
+                    popUpTo<CallvanNavType.CallvanCreate> { inclusive = true }
+                    launchSingleTop = true
+                }
             },
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@feature/callvan/src/main/java/in/koreatech/koin/feature/callvan/navigation/Navigation.kt`
around lines 20 - 22, The onNavigateToMain callback currently pushes
CallvanNavType.CallvanMain without clearing the back stack, causing
CallvanCreate to remain and be returned to on back; update the navigation call
inside onNavigateToMain (the navController.navigate invocation that references
CallvanNavType.CallvanMain) to perform a popUpTo the CallvanMain destination and
set inclusive = true so the previous CallvanCreate entry is removed (match the
project pattern used by feature/store and feature/dining).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant