-
Notifications
You must be signed in to change notification settings - Fork 0
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
[Feature/#9] : 약속 생성 UI 구현 #33
Conversation
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.
- AppointmentCreateInfo 에서 텍스트 필드 입력값과 "시간" 텍스트 사이의 간격 다름
- AppointmentCreateInfo 에서 약속 이름 텍스트 필드 활성/비활성 컬러값 다름
- AppointmentCreatePeriod 에서 "하루씩 설정하기"를 off 했을 때 하루만 선택하더라도 버튼이 활성화되어야 하는데 비활성화 되고 있음
- AppointmentCreateTimePicker에서 duration 로직 이슈
해당 이슈 꼭 해결해주시고 까먹지 말고 ./gradlew ktlintCheck 돌려주세요
.../com/sopt/presentation/appointmentCreate/appointmentCreateInfo/AppointmentCreateInfoRoute.kt
Outdated
Show resolved
Hide resolved
.../com/sopt/presentation/appointmentCreate/appointmentCreateInfo/AppointmentCreateInfoRoute.kt
Outdated
Show resolved
Hide resolved
TimeTextField( | ||
onValueChange = { newDuration -> | ||
appointmentDuration = newDuration | ||
} | ||
) | ||
Text( | ||
text = stringResource(R.string.text_calendar_appointment_duration), | ||
style = typography.b1SemiBold, | ||
color = colors.gray700, | ||
modifier = Modifier | ||
.align(Alignment.TopEnd) | ||
.padding(end = 12.dp, top = 15.dp, bottom = 15.dp) | ||
) |
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.
P1: 텍스트 필드랑 "시간" 텍스트 사이 간격 3.dp여야되는데 지금 너무 멀어요!! TimeTextField 안에서 horizontaldivider 관리하지 말구 밖으로 빼내고 focus 상태 TimeTextField로 전달하는 형식으로 바꿔야될 것 같아요
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.
간격 조절햇서요 horizontaldivider 밖으로 빼면 거리가 또 달라져서 ㅠ.. 안에 냅둬도 댈까요 .. ?ㅠ
.../sopt/presentation/appointmentCreate/appointmentCreatePeriod/AppointmentCreatePeriodRoute.kt
Outdated
Show resolved
Hide resolved
if (selectedStartHour == selectedEndHour) { | ||
scope.launch { | ||
snackbarHostState.showSnackbar("24시간 이하로 선택해주세요") | ||
} | ||
return@NoostakBottomButton | ||
} |
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.
P3: 시작시간과 종료 시간이 같은 경우 토스트 메시지 아직 안나온거죠? ㅠㅠ
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.
ㄴㅖ . . .. . . .. . .. .. .........
...esentation/appointmentCreate/appointmentCreateTimePicker/AppointmentCreateTimePickerRoute.kt
Outdated
Show resolved
Hide resolved
fun NavController.navigateCalendarCheck( | ||
appointmentName: String, | ||
appointmentCategory: String, | ||
appointmentTime: Int, | ||
isSingleDateMode: Boolean, | ||
appointmentDate: List<String>?, | ||
appointmentDuration: String, | ||
navOptions: NavOptions? = null | ||
) { | ||
navigate( | ||
route = CalendarCheck( | ||
appointmentName = appointmentName, | ||
appointmentCategory = appointmentCategory, | ||
appointmentTime = appointmentTime, | ||
isSingleDateMode = isSingleDateMode, | ||
appointmentDate = appointmentDate, | ||
appointmentDuration = appointmentDuration | ||
), | ||
navOptions = navOptions | ||
) | ||
} |
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.
P3: 약속 등록 화면으로 넘어가는 로직인걸까요??
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.
네!!! 마자요 !!!!
core/src/main/java/com/sopt/core/designsystem/component/calendar/NoostakCalendar.kt
Show resolved
Hide resolved
...esentation/appointmentCreate/appointmentCreateTimePicker/AppointmentCreateTimePickerRoute.kt
Outdated
Show resolved
Hide resolved
presentation/src/main/java/com/sopt/presentation/calendar/CalendarViewModel.kt
Outdated
Show resolved
Hide resolved
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.
수정 사항이 많았는데 고생 많으셨습니다!
core/src/main/java/com/sopt/core/designsystem/component/button/NoostakButton.kt
Outdated
Show resolved
Hide resolved
core/src/main/java/com/sopt/core/designsystem/component/textfield/AppointmentTextField.kt
Outdated
Show resolved
Hide resolved
...esentation/appointmentCreate/appointmentCreateTimePicker/AppointmentCreateTimePickerRoute.kt
Outdated
Show resolved
Hide resolved
.../com/sopt/presentation/appointmentCreate/appointmentCreateInfo/AppointmentCreateInfoRoute.kt
Outdated
Show resolved
Hide resolved
core/src/main/java/com/sopt/core/designsystem/component/checkbox/CircularCheckbox.kt
Outdated
Show resolved
Hide resolved
.../sopt/presentation/appointmentCreate/appointmentCreatePeriod/AppointmentCreatePeriodRoute.kt
Show resolved
Hide resolved
...esentation/appointmentCreate/appointmentCreateTimePicker/AppointmentCreateTimePickerRoute.kt
Show resolved
Hide resolved
presentation/src/main/java/com/sopt/presentation/calendar/CalendarViewModel.kt
Outdated
Show resolved
Hide resolved
...esentation/appointmentCreate/appointmentCreateTimePicker/AppointmentCreateTimePickerRoute.kt
Outdated
Show resolved
Hide resolved
fun NavController.navigateCalendarCheck( | ||
appointmentName: String, | ||
appointmentCategory: String, | ||
appointmentTime: Int, | ||
isSingleDateMode: Boolean, | ||
appointmentDate: List<String>?, | ||
appointmentDuration: String, | ||
navOptions: NavOptions? = null | ||
) { | ||
navigate( | ||
route = CalendarCheck( | ||
appointmentName = appointmentName, | ||
appointmentCategory = appointmentCategory, | ||
appointmentTime = appointmentTime, | ||
isSingleDateMode = isSingleDateMode, | ||
appointmentDate = appointmentDate, | ||
appointmentDuration = appointmentDuration | ||
), | ||
navOptions = navOptions | ||
) | ||
} |
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.
P1: composable<"CalendarCheck">가 누락되었습니다! 꼭 추가해주세요!
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.
다른 루트로 대체될 예정이라 해당 코드 삭제하겠습니다
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.
까먹을까봐 코멘트 달아둘게요 😪 정보 입력 받는 부분이랑 타임피커 플로우는 더이상 문제 없는 것 같슈...
- NoostakCalendar 안에 있는 스낵바 분리하기
스낵바 무조건 bottom(96.dp) 위치에 떠야 하고, 스낵바 컴포넌트화하기 - SnackBar는 SideEffect로 두기 -> GroupCreateSuccessRoute 참고
- AppointmentCreatePeriod에서 버튼 비활성화 안되는 이슈 해결
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.
전.. 하늘언니 pr이 제일 무서워요 ^^
코리 다는데 오백년 걸리거등요 ㅎ.ㅎ
정말 복잡한 로직 수고하셨어요 저라면 탈주했을듯
core/src/main/java/com/sopt/core/designsystem/component/calendar/NoostakCalendar.kt
Outdated
Show resolved
Hide resolved
core/src/main/java/com/sopt/core/designsystem/component/calendar/NoostakCalendar.kt
Outdated
Show resolved
Hide resolved
core/src/main/java/com/sopt/core/designsystem/component/calendar/NoostakCalendar.kt
Outdated
Show resolved
Hide resolved
.padding(vertical = 11.dp) | ||
.noRippleClickable { | ||
if (isSingleDate) { | ||
if (dateValue in selectedDates) { |
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.
P3 : 나중에 더 잘.. 분기처리 리팩할 수 있을 것 같아요 꼭
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.
P3 : 라디오 버튼도 아니고.. 체크박스인 것이.... 잘 커스텀했네용
core/src/main/java/com/sopt/core/designsystem/component/timepicker/NoostakTimePicker.kt
Outdated
Show resolved
Hide resolved
core/src/main/java/com/sopt/core/designsystem/component/timepicker/NoostakTimePicker.kt
Outdated
Show resolved
Hide resolved
core/src/main/java/com/sopt/core/designsystem/component/timepicker/NoostakTimePicker.kt
Show resolved
Hide resolved
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.
P2 : toggle 말고 switch로 네이밍 통일하는게 좋을 것 같아요
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.
하면 안된다고 떠서 일단 토글이라고 해놓긴 햇는데 ㅠㅠㅠㅠ 다른 이름 추천해주세여
val backgroundColor = if (checked) NoostakTheme.colors.mint else NoostakTheme.colors.gray200 | ||
val thumbColor = NoostakTheme.colors.white |
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.
P2 : 굳이 변수 선언할 필요가 있을까요? 저는 불필요한 메모리 할당이 싫어서 변수는 꼭 필요한 경우에만 선언하는 편이거든요!
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.
지이이이인짜 리팩하느라 고생많았다 하늘언니 ㅠㅠㅠㅠㅠㅠ 요청한대로 다 반영해온게 너무 대단한 것 같아... skrrrr
다들 어푸 때리고 얼른 머지하쟈 ❤️😗
✅ 𝗖𝗵𝗲𝗰𝗸-𝗟𝗶𝘀𝘁
📌 𝗜𝘀𝘀𝘂𝗲𝘀
📎 𝗪𝗼𝗿𝗸 𝗗𝗲𝘀𝗰𝗿𝗶𝗽𝘁𝗶𝗼𝗻
📷 𝗦𝗰𝗿𝗲𝗲𝗻𝘀𝗵𝗼𝘁
Screen_recording_20250119_012825.mp4
💬 𝗧𝗼 𝗥𝗲𝘃𝗶𝗲𝘄𝗲𝗿𝘀
소재고갈이슈