-
Notifications
You must be signed in to change notification settings - Fork 0
[REFACTOR/#260] 네비게이션 구조를 개선합니다. #261
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
41 commits
Select commit
Hold shift + click to select a range
499916e
[MOD/#260] ClodyApp -> ClodyApplication으로 이름 변경
MoonsuKang 35f94e7
[ADD/#260] 앱 내비게이션 경로를 sealed interface로 정의하여 type-safe한 인자 전달 구조 도입
MoonsuKang 00be128
[ADD/#260] safePopBackStack 헬퍼 함수 추가
MoonsuKang 4fdf85b
[ADD/#260] ClodyNavHost 컴포저블 추가(앱 전역 내비게이션 구성)
MoonsuKang 5618202
[ADD/#260] ClodyAppState 클래스 및 rememberClodyAppState 함수 추가(앱의 전역 상태 관리)
MoonsuKang 38808ca
[ADD/#260] ClodyApp 루트 Composable 함수 추가(앱 테마 및 네비게이션 관리)
MoonsuKang 1a85489
[REFACTOR/#260] MainActivity에서 ClodyApp으로 전환하여 앱 상태 관리 및 내비게이션 통합
MoonsuKang 2c7732c
[DEL/#260] 기존 네비호스트 제거
MoonsuKang ccda88c
[ADD/#260] 일기답장에 대한 상태 enum class 추가
MoonsuKang de54c49
[ADD/#260] 로그인 화면 네비게이션 구성 추가
MoonsuKang ea13105
[REFACTOR/#260] SignUpScreen -> LoginScreen으로 변경 및 패키지 분리
MoonsuKang 7057285
[ADD/#260] SignUpNavigation 구성(약관 및 닉네임 화면 내비게이션)
MoonsuKang ac64cac
[REFACTOR/#260] 네비게이션 관련 패키지명 변경
MoonsuKang 2007896
[ADD/#260] 알림 화면 네비게이션 구성 추가
MoonsuKang 9792601
[ADD/#260] 가이드 화면 네비게이션 구성 추가 및 패키지 경로 변경
MoonsuKang ed1d672
[DEL/#260] 기존 네비게이션 구조 제거(Auth부분)
MoonsuKang 3fd2b8c
[ADD/#260] 스플래시 화면 네비게이션 로직 구성 및 SplashRoute에 전달되는 인자를 최신 구조에 맞게 수정
MoonsuKang 12f384e
[ADD/#260] 설정 화면 네비게이션 구성 추가
MoonsuKang 9a83ecd
[DEL/#260] 기존 설정 네비게이션 구조 제거
MoonsuKang bd36712
[REFACTOR/#260] 세팅화면의 각 라우트에 전달되는 인자 수정(네비 구조 변경에 따른)
MoonsuKang ec256f9
[ADD/#260] 일기작성 네비게이션 로직 추가
MoonsuKang 85fd18b
[DEL/#260] 기존 일기작성 네비게이션 구조 제거
MoonsuKang 158c521
[REFACTOR/#260] 네비 구조 변경에 따른 일기작성 라우트 인자 수정
MoonsuKang 7354894
[ADD/#260] 일기응답로딩 네비게이션 구조 추가
MoonsuKang e12a556
[DEL/#260] 기존 일기응답로딩 네비게이션 구조 제거
MoonsuKang 6f045a4
[ADD/#260] 네비 구조 변경에 따른 일기응답로딩 화면 라우트 인자 수정
MoonsuKang d30643b
[REFACTOR/#260] 일기응답 네비게이션 구조 수정
MoonsuKang 6fa98c9
[REFACTOR/#260] 네비게이션 구조 변경에 따른 라우트 인자 수정
MoonsuKang f470601
[REFACTOR/#260] 홈 네비게이션 구조 수정
MoonsuKang 799bbd8
[REFACTOR/#260] 홈 화면 네비게이션 인자 수정 및 응답 상태 추가
MoonsuKang 633ad43
[REFACTOR/#260] 일기 리스트 네비게이션 구조 수정
MoonsuKang a565415
[REFACTOR/#260] 네비게이션 구조 변경에 따른 일기리스트 라우트 인자 수정
MoonsuKang 4e9df39
[MOVE/#260] 네비게이션 패키지 구조 변경에 따른 가이드 화면 임포트 경로 변경
MoonsuKang 7045a8e
[REFACTOR/#260] 로그인 화면 내 약관 네비게이션 인자 이름 변경
MoonsuKang af48056
[REFACTOR/#260] SignUpNavigation에서 NavHostController를 NavController로 변경
MoonsuKang 1166d54
[REFACTOR/#260] 내비게이션 매개변수 이름 업데이트
MoonsuKang 308a9bb
[ADD/#260] Clover Dialog를 띄우는 상태 추가
MoonsuKang 9adfea2
[REFACTOR/#260] DailyDiary의 replyStatus 타입을 ReplyStatus enum으로 변경
MoonsuKang cb09b1e
[REFACTOR/#260] diary 컴포넌트에서 replyStatus 타입을 ReplyStatus enum으로 리팩터링
MoonsuKang aebfde9
[REFACTOR/#260] ReplyStatus -> Domain Layer
MoonsuKang 2b8d331
[FIX/#260] Ktlint formatting
MoonsuKang File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| package com.sopt.clody.domain.model | ||
|
|
||
| import kotlinx.serialization.Serializable | ||
|
|
||
| @Serializable | ||
| enum class ReplyStatus { | ||
| UNREADY, READY_READ, READY_NOT_READ | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
24 changes: 24 additions & 0 deletions
24
app/src/main/java/com/sopt/clody/presentation/ui/auth/guide/navigation/GuideNavigation.kt
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| package com.sopt.clody.presentation.ui.auth.guide.navigation | ||
|
|
||
| import androidx.navigation.NavController | ||
| import androidx.navigation.NavGraphBuilder | ||
| import androidx.navigation.NavOptionsBuilder | ||
| import androidx.navigation.compose.composable | ||
| import com.sopt.clody.presentation.ui.auth.guide.GuideRoute | ||
| import com.sopt.clody.presentation.utils.navigation.Route | ||
|
|
||
| fun NavGraphBuilder.guideScreen( | ||
| navigateToHome: () -> Unit, | ||
| ) { | ||
| composable<Route.Guide> { | ||
| GuideRoute( | ||
| navigateToHome = navigateToHome, | ||
| ) | ||
| } | ||
| } | ||
|
|
||
| fun NavController.navigateToGuide( | ||
| navOptions: NavOptionsBuilder.() -> Unit = {}, | ||
| ) { | ||
| navigate(Route.Guide, navOptions) | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
...resentation/ui/auth/signup/SignInState.kt → ...presentation/ui/auth/login/SignInState.kt
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
26 changes: 26 additions & 0 deletions
26
app/src/main/java/com/sopt/clody/presentation/ui/auth/login/navigation/LoginNavigation.kt
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
| package com.sopt.clody.presentation.ui.auth.login.navigation | ||
|
|
||
| import androidx.navigation.NavController | ||
| import androidx.navigation.NavGraphBuilder | ||
| import androidx.navigation.NavOptionsBuilder | ||
| import androidx.navigation.compose.composable | ||
| import com.sopt.clody.presentation.ui.auth.login.LoginRoute | ||
| import com.sopt.clody.presentation.utils.navigation.Route | ||
|
|
||
| fun NavGraphBuilder.loginScreen( | ||
| navigateToTermsOfService: () -> Unit, | ||
| navigateToHome: () -> Unit, | ||
| ) { | ||
| composable<Route.Login> { | ||
| LoginRoute( | ||
| navigateToTermsOfService = navigateToTermsOfService, | ||
| navigateToHome = navigateToHome, | ||
| ) | ||
| } | ||
| } | ||
|
|
||
| fun NavController.navigateToLogin( | ||
| navOptions: NavOptionsBuilder.() -> Unit = {}, | ||
| ) { | ||
| navigate(Route.Login, navOptions) | ||
| } |
52 changes: 0 additions & 52 deletions
52
app/src/main/java/com/sopt/clody/presentation/ui/auth/navigation/AuthNavGraph.kt
This file was deleted.
Oops, something went wrong.
36 changes: 0 additions & 36 deletions
36
app/src/main/java/com/sopt/clody/presentation/ui/auth/navigation/AuthNavigator.kt
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Verification agent
🧩 Analysis chain
Verify ReplyStatus enum values match server contract.
Changing from
StringtoReplyStatusenum improves type safety but could cause deserialization failures if the server sends values not defined in the enum.Please run the following script to verify that all possible server replyStatus values are covered by the ReplyStatus enum:
🏁 Script executed:
Length of output: 3172
🏁 Script executed:
Length of output: 1704
ReplyStatus enum covers current server values – update usages and add fallback
The
ReplyStatusenum definesUNREADY,READY_READ, andREADY_NOT_READ, which matches the JSON values the server currently returns (kotlinx.serialization will use the constant names by default since there are no@SerialNameannotations).However, to ensure robustness and consistency across the app:
• Consider adding
@SerialNameon each enum constant for explicit mapping, or introduce a fallback (e.g., anUNKNOWNconstant with@SerialNameannotations) to avoid runtime failures if the server contract evolves.• app/src/main/java/com/sopt/clody/presentation/ui/type/DiaryCloverType.kt – replace
diaryData.replyStatus == "…"withdiaryData.replyStatus == ReplyStatus.…• app/src/main/java/com/sopt/clody/presentation/ui/home/screen/HomeViewModel.kt – change
_replyStatus: MutableStateFlow<String>toMutableStateFlow<ReplyStatus>(and its publicStateFlow)• app/src/main/java/com/sopt/clody/presentation/ui/home/calendar/component/DayItem.kt – update the
if (diaryData.replyStatus == "…")checks to useReplyStatusThese changes will preserve type safety, prevent silent deserialization errors, and keep the UI logic in sync with the new enum-based model.
🤖 Prompt for AI Agents