Conversation
# Conflicts: # gradle/libs.versions.toml # presentation/build.gradle.kts # presentation/src/main/kotlin/com/moa/app/presentation/ui/MainScreen.kt
koreatlwls
reviewed
Feb 16, 2026
Comment on lines
+30
to
+40
| fun MoaEndTimeBottomSheet( | ||
| title: String, | ||
| startHour: Int, | ||
| startMinute: Int, | ||
| initialEndHour: Int, | ||
| initialEndMinute: Int, | ||
| leftButtonText: String? = null, | ||
| onLeftButtonClick: (() -> Unit)? = null, | ||
| onDismissRequest: () -> Unit, | ||
| onConfirm: (hour: Int, minute: Int) -> Unit, | ||
| ) { |
Collaborator
There was a problem hiding this comment.
MoaTimeBottomSheet로 대체가 안되는 BottomSheet일려나?
| horizontalAlignment = Alignment.CenterHorizontally, | ||
| ) { | ||
| Text( | ||
| text = stringResource(R.string.after_work_clock_out), |
Collaborator
There was a problem hiding this comment.
string resource화 했네 귀찮아서 안하긴했는데 굿굿
Comment on lines
+63
to
+85
| ScheduleOptionItem( | ||
| text = stringResource(R.string.schedule_adjust_option_vacation), | ||
| isSelected = selectedOption == ScheduleAdjustOption.VACATION, | ||
| onClick = { selectedOption = ScheduleAdjustOption.VACATION }, | ||
| ) | ||
|
|
||
| Spacer(Modifier.height(MoaTheme.spacing.spacing12)) | ||
|
|
||
| // 옵션 2: 오늘 근무를 마칠 거예요 | ||
| ScheduleOptionItem( | ||
| text = stringResource(R.string.schedule_adjust_option_end_work), | ||
| isSelected = selectedOption == ScheduleAdjustOption.END_WORK, | ||
| onClick = { selectedOption = ScheduleAdjustOption.END_WORK }, | ||
| ) | ||
|
|
||
| Spacer(Modifier.height(MoaTheme.spacing.spacing12)) | ||
|
|
||
| // 옵션 3: 근무 시간 조정이 필요해요 | ||
| ScheduleOptionItem( | ||
| text = stringResource(R.string.schedule_adjust_option_adjust_time), | ||
| isSelected = selectedOption == ScheduleAdjustOption.ADJUST_TIME, | ||
| onClick = { selectedOption = ScheduleAdjustOption.ADJUST_TIME }, | ||
| ) |
Collaborator
There was a problem hiding this comment.
ScheduledAdjustOption.entries.forEach {}
이렇게 대체할 수 있을듯?
| sealed interface MoaSideEffect { | ||
| @JvmInline | ||
| value class Navigate(val destination: RootNavigation) : MoaSideEffect | ||
| value class Navigate(val destination: NavKey) : MoaSideEffect |
Comment on lines
+6
to
+33
| sealed interface HomeNavigation : NavKey { | ||
| @Serializable | ||
| data class BeforeWork( | ||
| val todayEarnedSalary: Long? = null, | ||
| ) : HomeNavigation | ||
|
|
||
| @Serializable | ||
| data class Working( | ||
| val startHour: Int, | ||
| val startMinute: Int, | ||
| val endHour: Int, | ||
| val endMinute: Int, | ||
| val isOnVacation: Boolean = false, | ||
| val isWorkDay: Boolean = true, | ||
| ) : HomeNavigation | ||
|
|
||
| @Serializable | ||
| data class AfterWork( | ||
| val todayEarnedSalary: Long, | ||
| val startHour: Int, | ||
| val startMinute: Int, | ||
| val endHour: Int, | ||
| val endMinute: Int, | ||
| val isOnVacation: Boolean = false, | ||
| ) : HomeNavigation | ||
|
|
||
| data object Back : HomeNavigation | ||
| } No newline at end of file |
Collaborator
There was a problem hiding this comment.
나는 그냥 RootNavigation 상속으로 하긴했는데
Comment on lines
+3
to
+13
| sealed interface AfterWorkIntent { | ||
| data object ClickCheckWorkHistory : AfterWorkIntent | ||
| data object ClickMoreWork : AfterWorkIntent | ||
| data object ClickComplete : AfterWorkIntent | ||
| data object DismissMoreWorkBottomSheet : AfterWorkIntent | ||
| data object DismissConfetti : AfterWorkIntent | ||
| data class ConfirmMoreWork( | ||
| val endHour: Int, | ||
| val endMinute: Int, | ||
| ) : AfterWorkIntent | ||
| } No newline at end of file |
Collaborator
There was a problem hiding this comment.
Intent 그냥 Screen 밑에 넣어놨는데
나는 약간 파일 많아 지는거 같은 느낌
| import java.util.Locale | ||
|
|
||
| @Stable | ||
| data class AfterWorkUiState( |
Collaborator
There was a problem hiding this comment.
이것도 viewmodel 최상단에 보통 선언하긴했는데 따로 파일 안놔두고
Comment on lines
+30
to
+33
| @AssistedFactory | ||
| interface Factory { | ||
| fun create(args: HomeNavigation.AfterWork): AfterWorkViewModel | ||
| } |
| } | ||
|
|
||
| private fun onDismissConfetti() { | ||
| _uiState.update { it.copy(showConfetti = false) } |
Collaborator
There was a problem hiding this comment.
value vs update
update가 필요한 상황인지 한번 생각해보면 좋을듯
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Related issue 🛠
Work Description ✏️
Screenshot 📸
1000000326.mp4
Uncompleted Tasks 😅
To Reviewers 📢
테스트 과정을 위해서 기존 30분 단위로 프로그레스바가 늘어나는 구조인데 1분으로 단축해놨습니다! 릴리즈 전에 해당 부분 수정하겠습니다!